尿蛋白是什么原因| 为什么乳头会痒| 西湖醋鱼是什么菜系| 腹泻吃什么食物好| 日本为什么偷袭珍珠港| 为什么冬天会下雪| 不想吃饭吃什么药| 红顶商人是什么意思| 荷叶加什么减肥最快| 拂是什么生肖| 劳力士手表什么档次| 为什么月经迟迟不来又没怀孕| 男人蛋皮痒用什么药| 3月15号是什么星座| 鹿代表什么生肖| 死库水是什么| 奶瓶什么材质好| 什么药通便最快| 痛心疾首的疾是什么意思| 271是什么意思| 为什么做梦会说梦话| 什么是畸胎瘤| 什么时候人流| 建设性意见是什么意思| 猫咪拉稀吃什么药| 犹豫不决是什么生肖| 胎儿颈部可见u型压迹什么意思| 属龙五行属什么| 什么东西可以止痒| 心脏病吃什么药| 猪筒骨配什么炖汤好| 猪咳嗽用什么药效果好| 尿频尿急吃什么药| 什么花最香| 属猴与什么属相最配| 夏天水肿的原因是什么| 什么叫人均可支配收入| 头眩晕看什么科| 下象棋有什么好处| 蜂蜜水有什么好处| pe材质是什么| 6月20日是什么节日| 后背长痘痘是什么原因引起的| 腰间盘膨出是什么意思| 糖耐什么时候检查| 女性查hpv挂什么科| 梦见红色的蛇是什么意思| 电梯房什么楼层最好| 工作效率等于什么| 儿童湿疹用什么药| 失恋是什么意思| 买李世民是什么生肖| 安逸是什么意思| 诏安是什么意思| 大姨妈没来是什么原因| 得了肠息肉有什么症状| 老人脚浮肿是什么原因引起的| 什么药清肺最好| 网线长什么样| 尽收眼底是什么意思| 九一八事变是什么意思| 火车无座是什么意思| 102是什么意思| 唐氏综合症是什么病| 六月26日是什么日子| 鳏寡孤独是什么意思| 觉悟是什么意思| 毛滴虫病是什么病| 什么样的毛刺是良性的| 懦弱的反义词是什么| 胰腺炎能吃什么| 为的多音字是什么| 血红蛋白升高说明什么| 血虚是什么意思| 难为情是什么意思| 为什么会长粉刺| 送女朋友什么礼物好| 眼睛飞蚊症用什么药能治好| 咸鸭蛋不能和什么一起吃| 头里面有肿瘤有什么症状| 清白是什么意思| 胃造影和胃镜有什么区别| 蓟是什么意思| 同比和环比是什么意思| 颈动脉彩超挂什么科| 小脑萎缩有什么症状| 受精卵着床失败有什么症状| 血压低吃什么药见效快| 上火喝什么饮料| 烟台有什么特产| 骄阳似火是什么意思| c13呼气试验阳性是什么意思| 嘴苦口臭是什么原因造成的| 牙龈有点发黑是什么原因| 降血脂吃什么药效果好| 香蕉和什么一起吃能减肥| 血脂高吃什么药好| 枸杞子和什么泡水喝补肾壮阳| 发泥和发蜡有什么区别| 囟门闭合早有什么影响| 女人梦见掉头发是什么征兆| 朋友圈ps是什么意思| 小便多是什么原因男性| 烂尾是什么意思| 人比黄花瘦是什么意思| 孕妇梦见老公出轨是什么意思| 木元念什么| 代血浆又叫什么| 苦海翻起爱恨是什么歌| 胃胀胃痛吃什么药| 腺肌症吃什么食物好| 华盖是什么| 8月8号是什么星座| 干酪是什么| 235是什么意思| 壁虎在家里是什么征兆| 龙男和什么生肖最配| 图灵是什么意思| hpv感染有什么症状女性| 你有一双会说话的眼睛是什么歌| 金匮肾气丸主治什么病| 幡然是什么意思| 棉是什么面料| 山宗读什么| 日出东方下一句是什么| 玻璃是什么做的| 国字脸适合什么发型| 贡眉是什么茶| 空调综合征有什么症状| 海参吃了有什么好处| 冬虫夏草为什么叫冬虫夏草| rv医学上是什么意思| 梦到自己长白头发是什么意思| 女人梦见掉头发是什么征兆| 经期可以吃什么水果| 三伏天是什么| 勃起功能障碍吃什么药| 什么是pv| 合加羽念什么| 王姓为什么出不了皇帝| 玫瑰花语是什么| 肠痉挛有什么症状| 丙氨酸氨基转移酶高吃什么药| 端午节安康是什么意思| 为什么胸一碰就疼| 发烧吃什么| 舒张压和收缩压是什么| 1987年什么命| 什么食物维生素b含量高| 缺钾最明显的症状是什么| 1972年是什么年| 梦见着火了是什么意思| 烫发对身体有什么危害| 枸杞泡水喝有什么功效| 5月31日什么星座| 胡牌是什么意思| 总掉头发是什么原因女| 脑萎缩是什么意思| 血压高有什么危害| 绿色加红色是什么颜色| 12378是什么电话| 苦瓜吃多了有什么坏处| 肝喜欢什么食物| 合肥为什么叫合肥| 醋酸是什么面料| 中国黄金为什么比其它金店便宜| 轻度异常脑电图是什么意思| 感冒吃什么菜比较好| 倒春寒是什么意思| 例假期间吃什么减肥| 低血压平时要注意什么| 床塌了有什么预兆| 虾米是什么意思| 痛风有什么症状| 紫藤花什么时候开| 梦见爸爸去世预兆什么| 喝什么茶好| 大头菜是什么菜| 阿姨的老公叫什么| 狼的天敌是什么动物| 喜鹊吃什么| 金匮肾气丸适合什么人吃| 乳头痒用什么药| 向日葵什么时候播种| 鱼鳔是什么| 尿隐血是什么原因| 吃榴莲有什么好处和坏处| 电商属于什么行业| 惺惺相惜什么意思| 粉红粉红的什么| 灵魂摆渡是什么意思| 95年什么命| 地球是什么星| 什么人容易得焦虑症| 杨玉环属什么生肖| 股骨径是指胎儿什么| 吃什么最减肥| 岁月如歌什么意思| 轶字五行属什么| 梦见橘子是什么意思| 男人吃逍遥丸治什么病| 自由行是什么意思| 濒危是什么意思| 长期服用优甲乐有什么副作用| 蓝柑是什么水果| 韭黄是什么| 什么人不能吃西洋参| 心脏房颤吃什么药| a型血的孩子父母是什么血型| 物质是什么| 总钙偏高是什么原因| 爬山需要准备什么东西| 什么时间艾灸最好| 白带是什么| yishion是什么牌子| 心脏五行属什么| 老是做噩梦是什么原因| 胎盘吃了对身体有什么好处| 确幸是什么意思| 胎位不正是什么原因导致的| fsh是什么| 经常手淫会导致什么| 饭圈什么意思| 脖子老出汗是什么原因| 三点水一个分读什么| 思维方式是什么意思| 早上起床口苦是什么原因| 胃阴不足吃什么中成药| 对策是什么意思| 小葱拌豆腐的下一句是什么| 烧伤用什么药| 月非念什么| 五月二十六是什么星座| 扁桃体结石有什么症状| 查血糖是什么检查项目| 什么是全脂奶粉| 社保跟医保有什么区别| 息肉和囊肿有什么区别| 玉米什么时候打药| 4月14日是什么星座| 吃什么补大脑记忆力| 眼皮黑是什么原因| 跑步机cal是什么意思| 春砂仁与什么煲汤最佳| 58年属什么生肖| 为什么腋下老是出汗| 手掌心痒是什么原因| 迷离的眼神什么意思| 角的大小与什么有关与什么无关| 排尿少是什么原因| 肿瘤长什么样| 阿尔茨海默病吃什么药| 单身领养孩子需要什么条件| 双手发麻是什么原因| 什么水果对肠胃好| 电器火灾用什么灭火器| 中医四诊指的是什么| 271是什么意思| 子宫内膜单纯性增生是什么意思| crocs是什么牌子的鞋| 动一下就出汗是什么原因| 大好河山是什么生肖| 急性肠胃炎是什么原因引起的| 脑梗怎么形成的原因是什么| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > 如何使用PyTorch训练LLM

冬日“花都”蜡梅开(1)

发布人:ygtu 时间:2025-08-04 来源:工程师 发布文章
推荐:使用NSDT场景编辑器快速搭建3D应用场景
百度 北京时间3月21日晚,英冠球队雷丁解雇45岁的主教练斯塔姆,中国老板和集团控股雷丁后,球队成绩一落千丈,最近18场联赛仅取得1胜,排名跌入降级区附近。

像LangChain这样的库促进了上述端到端AI应用程序的实现。我们的教程介绍 LangChain for Data Engineering & Data Applications 概述了您可以使用 Langchain 做什么,包括 LangChain 解决的问题,以及数据用例的示例。

本文将解释训练大型语言模型的所有过程,从设置工作区到使用 Pytorch 2.0.1 的最终实现,Pytorch <>.<>.<> 是一个动态且灵活的深度学习框架,允许简单明了的模型实现。

先决条件

为了充分利用这些内容,重要的是要熟悉 Python 编程,对深度学习概念和转换器有基本的了解,并熟悉 Pytorch 框架。完整的源代码将在GitHub上提供。

在深入研究核心实现之前,我们需要安装和导入相关库。此外,重要的是要注意,训练脚本的灵感来自 Hugging Face 中的这个存储库

库安装

安装过程详述如下:

首先,我们使用语句在单个单元格中运行安装命令作为 Jupyter 笔记本中的 bash 命令。%%bash

  • Trl:用于通过强化学习训练转换器语言模型。

  • Peft使用参数高效微调(PEFT)方法来有效地适应预训练的模型。

  • Torch:一个广泛使用的开源机器学习库。

  • 数据集:用于帮助下载和加载许多常见的机器学习数据集

变形金刚:由Hugging Face开发的库,带有数千个预训练模型,用于各种基于文本的任务,如分类,摘要和翻译。

现在,可以按如下方式导入这些模块:

数据加载和准备

羊驼数据集,在拥抱脸上免费提供,将用于此插图。数据集有三个主要列:指令、输入和输出。这些列组合在一起以生成最终文本列。

加载数据集的指令在下面通过提供感兴趣的数据集的名称给出,即:tatsu-lab/alpaca

我们可以看到,结果数据位于包含两个键的字典中:

  • 特点:包含主列数据

  • Num_rows:对应于数据中的总行数

train_dataset的结构

train_dataset的结构

可以使用以下说明显示前五行。首先,将字典转换为熊猫数据帧,然后显示行。

train_dataset的前五行

train_dataset的前五行

为了获得更好的可视化效果,让我们打印有关前三行的信息,但在此之前,我们需要安装库以将每行的最大字数设置为 50。第一个 print 语句用 15 个短划线分隔每个块。textwrap

前三行的详细信息

前三行的详细信息

模型训练

在继续训练模型之前,我们需要设置一些先决条件:

  • 预训练模型:我们将使用预训练模型Salesforce/xgen-7b-8k-base,该模型可在Hugging Face上使用。Salesforce 训练了这一系列名为 XGen-7B 的 7B LLM,对高达 8K 的序列进行了标准的密集关注,最多可获得 1.5T 代币。

  • 分词器: 这是训练数据上的标记化任务所必需的。加载预训练模型和分词器的代码如下:

pretrained_model_name = "Salesforce/xgen-7b-8k-base"
model = AutoModelForCausalLM.from_pretrained(pretrained_model_name, torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name, trust_remote_code=True)

训练配置

训练需要一些训练参数和配置,下面定义了两个重要的配置对象,一个是 TrainingArguments 的实例,一个是 LoraConfig 模型的实例,最后是 SFTTrainer 模型。

训练参数

这用于定义模型训练的参数。

在此特定场景中,我们首先使用属性定义存储训练模型的目标,然后再定义其他超参数,例如优化方法、优化方法、、 等。output_dirlearning ratenumber of epochs

洛拉康菲格

用于此方案的主要参数是 LoRA 中低秩转换矩阵的秩, 设置为 16.然后, LoRA 中其他参数的比例因子设置为 32.

此外,辍学比率为 0.05,这意味着在训练期间将忽略 5% 的输入单元。最后,由于我们正在处理一个普通语言建模,因此该任务使用属性进行初始化。CAUSAL_LM

SFTTrainer

这旨在使用训练数据、分词器和附加信息(如上述模型)来训练模型。

由于我们使用训练数据中的文本字段,因此查看分布以帮助设置给定序列中的最大令牌数非常重要。

文本列长度的分布

文本列长度的分布

基于上述观察,我们可以看到大多数文本的长度在 0 到 1000 之间。此外,我们可以在下面看到,只有 4.5% 的文本文档的长度大于 1024。

mask = pandas_format['text_length'] > 1024
percentage = (mask.sum() / pandas_format['text_length'].count()) * 100

print(f"The percentage of text documents with a length greater than 1024 is: {percentage}%")

图像6.png

然后,我们将序列中的最大标记数设置为 1024,以便任何比此长度的文本都被截断。

培训执行

满足所有先决条件后,我们现在可以按如下方式运行模型的训练过程:

值得一提的是,此培训是在具有GPU的云环境中进行的,这使得整个培训过程更快。但是,在本地计算机上进行培训需要更多时间才能完成。

我们的博客,在云中使用LLM与在本地运行LLM的优缺点,提供了为LLM选择最佳部署策略的关键考虑因素

让我们了解上面的代码片段中发生了什么:

  • tokenizer.pad_token = tokenizer.eos_token:将填充标记设置为与句尾标记相同。

  • model.resize_token_embeddings(len(tokenizer)):调整模型的标记嵌入层的大小,以匹配分词器词汇表的长度。

  • model = prepare_model_for_int8_training(model):准备模型以进行 INT8 精度的训练,可能执行量化。

  • model = get_peft_model(model, lora_peft_config):根据 PEFT 配置调整给定的模型。

  • training_args = model_training_args:将预定义的训练参数分配给training_args。

  • trainer = SFT_trainer:将 SFTTrainer 实例分配给变量训练器。

  • trainer.train():根据提供的规范触发模型的训练过程。

结论

本文提供了使用 PyTorch 训练大型语言模型的明确指南。从数据集准备开始,它演练了准备先决条件、设置训练器以及最后运行训练过程的步骤。

尽管它使用了特定的数据集和预先训练的模型,但对于任何其他兼容选项,该过程应该大致相同。现在您已经了解如何训练LLM,您可以利用这些知识为各种NLP任务训练其他复杂的模型。

原文链接:如何使用PyTorch训练LLM (mvrlink.com)


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。




相关推荐

技术专区

关闭
尿有臭味是什么原因 生殖器疱疹是什么原因引起的 害怕的近义词是什么 什么是韧带 宝宝发烧手脚冰凉是什么原因
丘疹用什么药膏最有效 哺乳期吃避孕药对孩子有什么影响 头晕用什么药好 一什么雨衣 雨像什么
中性粒细胞百分比高是什么原因 筋头巴脑是什么肉 扶苏姓什么 hcg值是什么 迪卡侬属于什么档次
粉皮是什么做的 归是什么意思 双规是什么意思 洋盘是什么意思 容易长口腔溃疡是什么原因
脱口秀是什么hcv8jop6ns8r.cn 支气管扩张是什么意思dajiketang.com 希五行属什么hcv8jop9ns7r.cn 膳食是什么意思hcv7jop4ns8r.cn approval是什么意思hcv7jop5ns2r.cn
moi是什么意思hcv8jop6ns5r.cn 干酪是什么hcv9jop4ns1r.cn 包皮手术后吃什么伤口愈合快shenchushe.com 蒲公英长什么样hcv8jop3ns0r.cn 绞丝旁一个奇念什么hcv9jop2ns9r.cn
公开遴选公务员是什么意思hcv9jop0ns7r.cn 便秘吃什么药能根治hcv7jop4ns7r.cn rock是什么意思hcv7jop9ns5r.cn 什么果hcv9jop0ns9r.cn 光脚走路有什么好处hcv7jop6ns0r.cn
马镫什么时候发明的hcv8jop2ns3r.cn 单宁是什么意思hcv8jop6ns3r.cn 一纸空文是什么意思hcv9jop6ns7r.cn 做透析是什么病hcv9jop7ns3r.cn 蛋白质是由什么组成的hcv9jop2ns9r.cn
百度