程序员必看!零代码微调大模型(LLaMA-Factory)完整指南,建议收藏
本文详细介绍了LLaMA-Factory框架在大模型微调中的全流程使用方法,包括环境配置、数据处理、WebUI零代码微调、SFT训练、LoRA合并、模型推理与评估。通过本文,程序员和AI初学者可快速掌握大模型微调技术,无需编写复杂代码即可完成模型训练和部署,是学习大模型微调的实用指南。
一、安装依赖(以linux服务器为例):
1、NVIDIA 的 GPU,在 https://developer.nvidia.com/cuda-gpus 查看您的 GPU 是否支持CUDA
2、Ubuntu操作系统,在linu后台执行在命令行中输入 uname -m && cat /etc/*release查看回显

3、gcc . 在命令行中输入 gcc --version ,应当看到类似的输出
gcc
(
Ubuntu
11
.4.0-1ubuntu1~22.04
)
11
.4.0
如果没有依赖按照下面链接上的指导安装:
https://llamafactory.readthedocs.io/zh-cn/latest/
cuda的驱动兼容问题可找厂商确认。
运行以下指令以安装 LLaMA-Factory 及其依赖:
git
clone
--depth
1
https://github.com/hiyouga/LLaMA-Factory.git
cd
LLaMA-Factory pip
install
-e
".[torch,metrics]"
完成安装后,可以通过使用 llamafactory-cli version 来快速校验安装是否成功
二、数据处理
dataset_info.json 包含了所有经过预处理的 本地数据集 以及 在线数据集。如果您希望使用自定义数据集,请 务必 在 dataset_info.json 文件中添加对数据集及其内容的定义。具体方法看参考文档https://llamafactory.readthedocs.io/zh-cn/latest/
的数据处理页面。
三、打开微调界面WEBUI
执行命令:llamafactory-cli webui
回显中的网页地址打开 URL: http://0.0.0.0:7860

支持WebUI 零代码微调大语言模型,但是界面不支持视频和图片数据同时训练。

在开始训练模型之前,您需要指定的参数有:
- 模型名称及路径
- 训练阶段
- 微调方法
- 训练数据集
- 学习率、训练轮数等训练参数
- 微调参数等其他参数
- 输出目录及配置路径
随后,您可以点击 开始 按钮开始训练模型。
如果您需要使用自定义数据集,请在 data/data_info.json 中添加自定义数据集描述并确保 数据集格式 正确,否则可能会导致训练失败。
模型训练完毕后,您可以通过在评估与预测界面通过指定 模型 及 适配器 的路径在指定数据集上进行评估。
如果您对模型效果满意并需要导出模型,您可以在导出界面通过指定 模型、 适配器、 分块大小、 导出量化等级及校准数据集、 导出设备、 导出目录 等参数后点击 导出 按钮导出模型。
四、SFT 训练
您可以使用以下命令使用 examples/train_lora/llama3_lora_sft.yaml 中的参数进行微调: llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
也可以通过追加参数更新 yaml 文件中的参数: llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml \
learning\_rate=1e-5 \
logging\_steps=1
五、LoRA 合并
当我们基于预训练模型训练好 LoRA 适配器后,我们不希望在每次推理的时候分别加载预训练模型和 LoRA 适配器,因此我们需要将预训练模型和 LoRA 适配器合并导出成一个模型,并根据需要选择是否量化。根据是否量化以及量化算法的不同,导出的配置文件也有所区别。 您可以通过 llamafactory-cli export merge_config.yaml 指令来合并模型。其中 merge_config.yaml 需要您根据不同情况进行配置。
六、推理
LLaMA-Factory 支持多种推理方式。 您可以使用 llamafactory-cli chat inference_config.yaml 或 llamafactory-cli webchat inference_config.yaml 进行推理与模型对话。对话时配置文件只需指定原始模型 model_name_or_path 和 template ,并根据是否是微调模型指定 adapter_name_or_path 和 finetuning_type。 如果您希望向模型输入大量数据集并保存推理结果,您可以启动 vllm 推理引擎对大量数据集进行快速的批量推理。您也可以通过 部署 api 服务的形式通过 api 调用来进行批量推理。 默认情况下,模型推理将使用 Huggingface 引擎。 您也可以指定 infer_backend: vllm 以使用 vllm 推理引擎以获得更快的推理速度。
注意:使用任何方式推理时,模型 model_name_or_path (模型位置)需要存在且与 template (数据集模板)相对应。
七、评估
通用评估
在完成模型训练后,您可以通过
llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml 来评估模型效果。
训练案例(命令微调方式)
1、数据集设置:
dataset_info.json 文件是一个配置文件包含数据集的位置和描述,如果您希望使用自定义数据集,请务必 在 dataset_info.json 文件中添加对数据集及其内容的定义。
例如DPO训练,dataset_info.json 文件中添加的train.json就是实际的数据集


配置数据集train.json,可以写代码生成,数据集少的情况下可以手动写,格式入下:

2、执行微调训练

train.yaml 提供了微调时的配置也可以根据实际情况改成其他名字比如dpo_train.yaml。该配置指定了模型参数、微调方法参数、数据集参数以及评估参数等。您需要根据自身需求自行配置。

这里的dataset配置会去data/dataset_info.json查找对应名称的数据集路径。


训练结果会保存在对应配置的输出路径里。

最后
为什么要学AI大模型
当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!
DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
AI大模型系统学习路线
在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。
AI大模型入门到实战的视频教程+项目包
看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
海量AI大模型必读的经典书籍(PDF)
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
600+AI大模型报告(实时更新)
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
AI大模型面试真题+答案解析
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐



所有评论(0)