LLaMA-Factory 大模型微调超简单,从零开始玩转大模型微调

为什么要使用LLaMA-Factory进行微调?

在处理大模型微调的工作中,我们常常会面临各种棘手的问题。比如,传统的微调方法不仅复杂繁琐,还对技术和资源有着很高的要求,让很多人望而却步。然而,LLaMA-Factory 的出现改变了这一局面。

它最大的优势就是让大模型的微调变得轻而易举。不再需要您具备深厚的技术功底和大量的计算资源投入,就能实现对模型的优化和改进。

同时,在模型量化方面,它能够有效地压缩模型的规模,大大减少了模型运行所需的计算量和存储空间。这意味着您可以在性能稍弱的设备上也能流畅地运行模型,使其应用不再受限于高端硬件。

还有很重要的一点,LLaMA-Factory 提供了一站式的服务。从开始的模型微调,到中间的量化处理,再到最后的顺利运行,整个过程一气呵成,无需您在不同的工具和流程之间来回折腾,节省了大量的时间和精力。

如何使用LLaMA-Factory进行微调?

安装

使用它,比较简单,首先需要到它的github地址:github.com/hiyouga/LLa… 下载这个项目代码,你可以使用git clone 下载 该代码。

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

下载到本地后进入项目目录,安装相关依赖。

pip install -e .[metrics]

注:-e表示以可编辑(editable)模式安装当前目录下的项目。这意味着安装后,你对项目源代码的修改会直接反映在已安装的版本中,无需重新安装。点(.)表示当前目录,即要安装当前目录下的项目。

如果安装完成后,可以通过如下命令检查是否安装成功

llamafactory-cli version

如果安装成功,会返回类似如下内容:


| Welcome to LLaMA Factory, version 0.8.3.dev0 |

| |
| Project page: github.com/hiyouga/LLa… |

启动

安装完成之后,可以启动查看它的WebUI界面,在界面上更加方便我们微调模型。

llamafactory-cli webui

命令执行之后,出现如下响应代表成功启动了webui界面。

在这里插入图片描述
​编辑

默认开启端口7860,在浏览器中输入地址即可访问。

在这里插入图片描述
​编辑

这里有很多的参数,不过大多数参数并不需要改动,使用默认的即可。其他的参数用到时再说。

数据准备

LLaMA-Factory提供了很多内置的数据可供微调,在界面的数据集选择框中可以选择,不过我们微调肯定是希望使用自己准备的数据,下面就说下如何准备自己的数据。

目前LLaMA-Factory 只支持两种格式的数据集,alpaca 格式和 sharegpt 格式。我们只需要按照格式准备数据,然后将数据文件放入到 LLaMA-Factory项目的 data 目录下,然后在 dataset_info.json中 填写 你自定义的数据集名称你的数据集文件名称 即可。

Alpaca 格式

需要注意的是,该格式数据集包括 指令监督微调数据集预训练数据集、偏好数据集、KTO 数据集和多模态数据集等不同类型的格式。

指令监督微调数据集

在指令监督微调时,instruction 列对应的内容会与 input 列对应的内容拼接后作为人类指令,即人类指令为 instruction\ninput。而 output 列对应的内容为模型回答。

如果指定,system 列对应的内容将被作为系统提示词。

history 列是由多个字符串二元组构成的列表,分别代表历史消息中每轮对话的指令和回答。注意在指令监督微调时,历史消息中的回答内容也会被用于模型学习

例如 data.json的内容如下:

[
{
“instruction”: “人类指令(必填)”,
“input”: “人类输入(选填)”,
“output”: “模型回答(必填)”,
“system”: “系统提示词(选填)”,
“history”: [
[“第一轮指令(选填)”, “第一轮回答(选填)”],
[“第二轮指令(选填)”, “第二轮回答(选填)”]
]
}
]

对于上述格式的数据,dataset_info.json 中的_数据集描述_应为:

{"自定义数据集名称": {
  "file_name": "data.json",
  "columns": {
    "prompt": "instruction",
    "query": "input",
    "response": "output",
    "system": "system",
    "history": "history"
  }
}

columns字段里的内容可以省去不写,可以简写为:

“数据集名称”: {
“file_name”: “data.json”
}

预训练数据集

在预训练时,只有 text 列中的内容会用于模型学习。

data.json内容如下:

[  {"text": "document"},  {"text": "document"}]

对于上述格式的数据,dataset_info.json 中的_数据集描述_应为:

"数据集名称": {
  "file_name": "data.json",
  "columns": {
    "prompt": "text"
  }
}

更加详细的数据格式介绍可以到官方文档查看:github.com/hiyouga/LLa…https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md

具体的实际数据格式都在 data 目录下的 dataset_info.json 文件,比如下面的法律方面的数据:

在这里插入图片描述
​编辑

在微调模型的过程中,最麻烦的莫过于准备数据了,因为训练或微调需要的数据只能是特定格式的数据,你不可能把混乱的、自己都看不懂的数据交给模型去训练。那如何将混乱的原始数据转为特定格式的数据,是模型微调前要准备的。

开始微调

当准备好数据之后,剩下的就交给LLaMA-Factory吧,操作起来还是比较简单的。

基本的过程如下:

  1. 启动WebUI界面,启动命令 :llamafactory-cli webui
  2. 选择基础模型
  3. 选择一个或多个你准备好的数据集
  4. 选择微调方法,默认是lora,还可以选择full(全量微调)、freeze (冻结微调)。
  5. 设置训练参数,比如学习率、训练轮数、批处理大小、
  6. 点击开始按钮,开始进行微调,在右边会出现模型的损失曲线图。当下面显示训练完毕时,就训练完成了。
  7. 微调结果的lora权重参数在输出目录下可以看到,配置路径也被保存起来了。
  8. 训练过程中,你可以选择中断训练,然后在检查点输入 之前 lora权重的目录,就可以在之前的训练结果上接着训练了。

在这里插入图片描述
​编辑

如果你不想通过界面微调的话,可以点击预览命令,那么会显示微调的命令,你拷贝这个命令就可以在命令行执行。

模型评估

在这里插入图片描述
​编辑

模型评估完成后会在界面上显示评估数据集的分数。其中,ROUGE分数衡量了模型输出答案评估集中的标准答案的相似度,ROUGE分数越高代表模型学习得越好。

对话测试

在Web UI的 界面 Chat页签下,通过使用你之前微调结果的输出的检查点路径,加载微调后的模型进行对话测试。先点击加载模型,然后就可以在下面的文本框中输入文本了。

在这里插入图片描述
​编辑

如果你想看没有微调的效果是如何的,取消检查点路径中选中的路径即可。

模型导出

在Web UI的 界面 Export 页签下,填写你要保存的输出地址,然后点击开始导出即可。

在这里插入图片描述

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

👉 福利来袭CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

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

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

### LLaMa-Factory 使用指南 #### 安装环境准备 为了顺利使用LLaMa-Factory进行模型微调,在Ubuntu环境下需先完成一系列准备工作,包括但不限于安装必要的依赖包以及配置开发环境。对于初学者而言,官方提供的新手教程详细介绍了如何在Linux系统中搭建适合于运行该框架的工作站设置[^1]。 #### 模型微调流程概述 通过LLaMa-Factory可以轻松实现对大型语言模型(如LlaMA 3)的定制化调整。具体操作涉及加载预训练权重文件、定义目标任务并准备相应的训练数据集等环节。整个过程中Python脚本起到了核心作用,利用其简洁明了的语言特性来构建完整的机器学习流水线[^2]。 #### 实际案例分享 一篇详细的中文版笔记记录了一位实践者从零开始直至成功完成基于LLaMa-Factory平台上的模型优化全过程的经历。这份文档不仅涵盖了理论知识讲解还附带了大量的实战技巧指导,非常适合想要深入了解此领域的朋友参考学习。 #### 集成Hugging Face Transformers库 考虑到兼容性和扩展性的需求,许多开发者会选择引入由[HuggingFace](https://github.com/huggingface/transformers)维护的`transformers`库作为辅助工具之一。这个开源项目因其广泛的支持范围而备受青睐,能够有效简化诸如迁移学习在内的多种复杂任务的操作难度[^3]。 ```python from transformers import AutoModelForCausalLM, Trainer, TrainingArguments model_name_or_path = "path_to_your_model" tokenizer_name = model_name_or_path if model_name_or_path else 'facebook/llama' training_args = TrainingArguments( output_dir='./results', num_train_epochs=3, per_device_train_batch_size=8, save_steps=10_000, ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, ) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
OSZAR »