[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调

这篇具有很好参考价值的文章主要介绍了[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Finetune简介

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能
在未经过微调的pretrained LLM中,模型只会尽量去拟合你的输入,也就是说模型并没有意识到你在提问,因此需要微调来修正。

1.1常用的微调模式

LLM的下游应用中,增量预训练指令跟随是经常会用到的两种的微调模式。
增量预训练微调
使用场景:让基座模型学习到一些新知识,如某个垂类领域的常识
训练数据:文章、书籍、代码等
指令跟随微调
使用场景:让模型学会对话模板,根据人类指令进行对话
训练数据:高质量的对话、问答数据

1.2具体实现

指令跟随微调
指令跟随微调是为了得到能够实际对话的LLM。介绍指令跟随微调前,需要先了解如何使用LLM进行对话。
在实际对话时,通常会有三种角色
System:给定一些上下文信息,比如“你是一个安全的AI助手"
User:实际用户,会提出一些问题,比如“世界第一高峰是?”
Assistant:根据 User 的输入,结合 System 的上下文信息,做出回答,比如“珠穆朗玛峰”
与增量预训练的区别在于,数据中会有Input和Ouput,希望模型学会的是答案(Output),而不是问题(Input),训练时只会对答案(Output)部分计算Loss。
增量预训练微调
输入的数据形式并不是问答的形式,而是只是陈述句。因此实际的模板如下:
System:“”
User:“”
Assistant:根据 User 的输入,结合 System 的上下文信息,做出回答,比如“珠穆朗玛峰”

1.3LoRA&QLoRA

LoRA:LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
LLM的参数量主要集中在模型中的Linear中,训练这些参数会消耗大量显存。而LoRA通过在原本的Linear旁,新增一个支路,包含两个连续的小Linear,新增的这个支路通常叫做Adapter。而这个Adapter的参数量远远小于原本的Linear中的参数量,可以 大幅度降低训练的显存消耗。
QLoRA是LoRA的一种改进方法。
[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能

2.XTuner介绍

2.1 XTuner 简介

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能

2.2 XTuner快速上手

1.安装

pip install xtuner

2.挑选配置模板

xtuner list-cfg -p internlm_20b

3.一键训练

xtuner trian interlm_20b_qlora_oasst1_512_e3

Config的命名规则
[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能4.模型对话
Float 16模型对话

xtuner chat internlm/internlm-chat-20b

或4bit模型对话

xtuner chat internlm/internlm-chat-20b --bits 4

加载Adapter模型对话

xtuner chat internlm/internlm-chat-20b --adapater $ADAPATER_DIR

5.工具类模型对话
XTuner还支持工具类模型的对话。

2.3 XTuner数据引擎

2.3.1 数据处理流程

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能
同时支持多种热门数据集的映射函数和多种对话模板映射函数。使得开发者可以专注于数据内容,而不必花费精力处理复杂的数据格式。

2.3.2 多数据样本拼接(Pack 0Dataset)

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能

3.8GB显卡玩转LLM

3.1特色功能

下面提到的两个技巧都是XTuner中重要的两个优化技巧。

3.1.1 Flash Attention(默认开启)

Flash Attention 将Attention 计算并行化,避免了计算过程中Attention Score NxN的显存占用。

3.1.2 DeepSpeed ZeRO(非默认)

ZeRO优化,通过将训练过程中的参数、梯度和优化器状态切片保存,能够在多GPU训练时显著节省显存。除了将训练中间状态切片外, DeepSpeed训练时使用FP16的权重,相较于Pytorch的AMP(自动混合精度) 训练,在单 GPU 上也能大幅节省显存

## 4.实战

[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能

报错处理

xtuner chat 增加 --lagent 参数后,报错 TypeError: transfomers.modelsauto.auto factory. BaseAutoModelClass.from pretrained() got multiple values for keyword argument “trust remote code”
解决方案:注释掉/root/xtuner019/xtuner/xtuner/tools/chat.py中第139行
[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调,人工智能文章来源地址https://www.toymoban.com/news/detail-808781.html

到了这里,关于[书生·浦语大模型实战营]——XTuner 大模型单卡低成本微调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 书生·浦语大模型实战营-学习笔记4

    常见的两种微调策略:增量预训练、指令跟随 指令跟随微调 数据是一问一答的形式 对话模板构建 每个开源模型使用的对话模板都不相同 指令微调原理: 由于只有答案部分是我们期望模型来进行回答的内容,所以我们只对答案部分进行损失的计算 增量预训练微调 数据都是

    2024年01月22日
    浏览(45)
  • 书生·浦语大模型实战营-第四课笔记

    期待已久的微调课 增量预训练和指令跟随是两种微调模式,即两种微调策略。   1)增量预训练 投喂新的领域知识即可,例如书籍、文章、代码 2)指令跟随 采用高质量对话和问答数据进行训练 两者是微调的方法,即算法。 xtuner是一种微调框架。

    2024年02月21日
    浏览(49)
  • 【书生·浦语大模型实战】“PDF阅读小助手”学习笔记

    《新版本Lmdeploy量化手册与评测》 项目主页:【tcexeexe / pdf阅读小助手】 在InternStudio平台中选择 A100 (1/4) 的配置,镜像选择 Cuda11.7-conda ,可以选择已有的开发机 langchain ; Note: /home/tcexeexe/data/model/sentence-transformer :此路径来自于make_knowledge_repository.py 以上脚本会生成数据库文

    2024年01月24日
    浏览(44)
  • 书生·浦语大模型实战营第四次课堂笔记

    哈哈到这才想起来写笔记 倒回去看发现要求将不要葱姜蒜换成自己的名字和昵称! 好好好我就是不配玩(换成管理员也不行!) 诶怎么能进这个环境?要进双系统ubuntu? 现在看视频发现原来是我进入成功了,可以接着往下做omygod!!!! 但是 还是看看视频吧 微调是在海量

    2024年01月20日
    浏览(49)
  • 【 书生·浦语大模型实战营】学习笔记(一):全链路开源体系介绍

    🎉 AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求

    2024年04月23日
    浏览(41)
  • 书生·浦语大模型实战营第五节课笔记及作业

    1.1 模型部署及大模型特点 1.2 大模型部署挑战及方案 2.1 核心功能-量化 2.2 核心功能-推理引擎TurboMind 2.1 核心功能-推理服务api server 按照文档LMDeploy 的量化和部署中的步骤在InternStudio中的 A100(1/4) 机器上一步步操作即可! 3.1 基础作业 使用 LMDeploy 以本地对话、网页Gradio、API服

    2024年01月19日
    浏览(39)
  • 【书生·浦语大模型实战营05】《(5)LMDeploy 大模型量化部署实践》学习笔记

    课程文档:《LMDeploy 的量化和部署》 定义 将训练好的模型在特定软硬件环境中启动的过程,使模型能够接收输入并返回预测结果 为了满足性能和效率的需求,常常需要对模型进行优化,例如模型压缩和硬件加速 产品形态 云端、边缘计算端、移动端 内存开销巨大 庞大的参数

    2024年01月22日
    浏览(49)
  • 书生浦语大模型--开源体系

    一、大模型的发展   大模型与通用人工智能(AGI),大模型通常被视为发展通用人工智能的重要途径。AI研究从专用模型向通用模型转变,在过去的一二十年中,研究重点在于针对特定任务的专用模型。 专用模型的已经再多个领域取得显著成就,包裹大规模语音识别、图像识

    2024年01月20日
    浏览(52)
  • 书生·浦语大模型开源体系(二)笔记

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年04月09日
    浏览(89)
  • 书生·浦语大模型开源体系(四)笔记

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年04月28日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包