从零开始微调大模型实战指南
背景与概述
大模型微调本身是一件非常复杂且技术难度很高的任务。本文旨在从零开始,带你走一遍微调大模型的标准流程,帮助你了解微调的基本原理和操作步骤。
微调通常是在预训练好的基础模型上,使用特定领域的数据进行二次训练,使模型适应特定任务或风格。由于直接微调全量参数需要极高的显存和算力,目前业界广泛采用 LoRA (Low-Rank Adaptation) 或 QLoRA 等高效微调技术,大幅降低资源需求。
本次实战将使用阿里魔搭社区(ModelScope)提供的集成环境,无需本地高配 GPU,只需浏览器即可完成。我们将以零一万物的 Yi-1.5-6B 开源大语言模型为例,演示如何使用 LLaMA-Factory 框架进行微调。
环境准备
首先你需要注册并登录魔搭社区的账号: https://modelscope.cn/home
登录后,访问 Yi-1.5-6B 模型页面: https://www.modelscope.cn/models/01ai/Yi-1.5-6B
在模型页面选择'方式二:GPU 环境',点击'启动'。启动过程大约需要 2 分钟。待 GPU 环境就绪后,点击'查看 Notebook'进入开发环境。
魔搭社区内置了 JupyterLab 功能。进入后,你可以找到 Notebook 标签,新建一个 Notebook 页面(也可以在 Terminal 中直接执行命令)。
安装依赖库
在 Notebook 中添加代码块,执行以下命令安装必要的 Python 依赖库:
!pip3 install --upgrade pip
!pip3 install bitsandbytes>=0.39.0
接着拉取 LLaMA-Factory 项目,该框架集成了业界广泛使用的微调技术:
!git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
随后,需要在 Launcher > Terminal 中执行安装命令。这一步耗时较长,请耐心等待:
cd LLaMA-Factory
pip3 install -e ".[torch,metrics]"
下载模型权重
零一万物的 Yi 开源大语言模型的权重可以在 HuggingFace 和 ModelScope 上找到。这里我们选择从 ModelScope 下载。
所有零一万物开源模型链接: https://www.modelscope.cn/organization/01ai/
本实验选用最小的 Yi-1.5-6B-Chat 模型进行验证。模型说明文档: https://www.modelscope.cn/models/01ai/Yi-1.5-6B-Chat/summary
Yi-1.5-6B-Chat 模型大小约 12G,下载时间取决于网络状况。在 Notebook 中执行以下命令下载模型:
!git clone https://www.modelscope.cn/01ai/Yi-1.5-6B-Chat.git
耐心等待下载完成即可。
配置微调参数
准备工作完成后,开始配置微调脚本。在 LLaMA-Factory 文件夹下,打开 examples/train_qlora 目录,复制 llama3_lora_sft_awq.yaml 文件并重命名为 yi_lora_sft_bitsandbytes.yaml。


