基于魔塔社区环境从零微调 Yi 开源大模型实战
大模型微调通常被认为需要昂贵的 GPU 硬件和复杂的本地环境配置,但这并非绝对。借助云端集成开发环境,开发者仅需一个浏览器即可从零开始完成大模型的微调流程。本文将详细介绍如何利用阿里魔塔社区(ModelScope)提供的免费 GPU 资源,使用 LLaMA-Factory 框架对零一万物的 Yi-1.5-6B 开源大语言模型进行微调。
介绍如何利用阿里魔塔社区的免费 GPU 资源,无需本地高配电脑,通过浏览器完成 Yi-1.5-6B 大模型的微调流程。涵盖环境搭建、依赖安装、模型下载、配置文件修改、训练执行及推理测试,帮助开发者快速掌握大模型微调的核心步骤与原理。

大模型微调通常被认为需要昂贵的 GPU 硬件和复杂的本地环境配置,但这并非绝对。借助云端集成开发环境,开发者仅需一个浏览器即可从零开始完成大模型的微调流程。本文将详细介绍如何利用阿里魔塔社区(ModelScope)提供的免费 GPU 资源,使用 LLaMA-Factory 框架对零一万物的 Yi-1.5-6B 开源大语言模型进行微调。
首先,你需要注册并登录魔搭社区账号:https://modelscope.cn/home
登录后,访问目标模型页面: https://www.modelscope.cn/models/01ai/Yi-1.5-6B
在模型详情页选择方式二:GPU 环境,点击'启动'。启动过程约需 2 分钟,待环境就绪后点击"查看 Notebook"进入。
魔塔社区内置了 JupyterLab 功能。进入后,找到 Notebook 标签页,新建一个 Notebook 文件(也可以在 Terminal 中直接执行命令)。

在 Notebook 的代码块中执行以下命令以升级 pip 并安装关键依赖:
!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 中执行安装命令。这一步耗时较长,请耐心等待。
# ⚠️下面两行命令在刚启动的 Terminal 中执行⚠️
cd LLaMA-Factory
pip3 install -e ".[torch,metrics]"
零一万物的 Yi 开源大语言模型权重可在 HuggingFace 和 ModelScope 上获取。此处选择从 ModelScope 下载,速度更稳定。
本次实验选用最小的 Yi-1.5-6B-Chat 模型,大小约 12G,下载时间视网络状况而定。
在 Notebook 或 Terminal 中执行以下命令下载模型:
!git clone https://www.modelscope.cn/01ai/Yi-1.5-6B-Chat.git
等待下载完成后,模型文件将位于当前目录下的 Yi-1.5-6B-Chat 文件夹中。
准备工作就绪后,开始配置微调参数。在 LLaMA-Factory 文件夹下,打开 examples/train_qlora 目录,找到 llama3_lora_sft_awq.yaml 文件,复制一份并重命名为 yi_lora_sft_bitsandbytes.yaml。
该 YAML 文件包含微调的关键参数,主要修改内容如下:
model_name_or_path 修改为实际下载的模型位置。
model_name_or_path: ../Yi-1.5-6B-Chat
identity 数据集。该数据集用于测试模型的身份认知能力。你可以打开 data/identity.json 查看具体内容。
{{name}} 替换为你想要的名字,即可微调出专属身份的大模型。learning_rate, per_device_train_batch_size 等超参数。保存配置文件后,回到终端 Terminal。
在 LLaMA-Factory 目录下,输入以下命令启动微调脚本:
llamafactory-cli train examples/train_qlora/yi_lora_sft_bitsandbytes.yaml
程序将显示进度条并开始训练。整个过程大约需要 10 分钟(具体取决于 GPU 实例性能)。当看到训练结束提示时,表示微调完成。
注意:虽然本教程演示的是基础流程,但微调的实际效果受数据质量、超参数设置影响较大。跑出好的结果往往比跑通流程更具挑战性。
微调后的模型表现如何?我们需要通过推理测试来验证。
参考 examples/inference 下的 llama3_lora_sft.yaml,复制并重命名为 yi_lora_sft.yaml。修改内容指向微调后的输出路径(通常在 output 目录下),并确保模板正确。
在终端运行推理命令:
llamafactory-cli chat examples/inference/yi_lora_sft.yaml
加载完成后,尝试提问:'你好,你是谁?'
此时模型应回答你自定义的名字,表明微调生效。同时,模型应保持通用的对话能力。
为了直观对比,重新加载未微调的原始模型。复制 llama3.yaml 重命名为 yi_base.yaml,配置如下:
model_name_or_path: ../Yi-1.5-6B-Chat
template: chatml
运行命令:
llamafactory-cli chat examples/inference/yi_base.yaml
再次提问相同问题,观察原始模型的回答。通过对比可以发现,微调显著改变了模型对特定指令(如身份设定)的响应模式。
在实际操作中,可能会遇到以下问题:
flash_attention_2 或使用 bitsandbytes 量化方案(如本文所示)。max_steps 或减少 per_device_train_batch_size。identity.json 仅用于演示,若要训练垂直领域模型,请构建高质量的 SFT 数据集(JSONL 格式)。通过本文的步骤,我们成功利用魔塔社区的免费资源完成了 Yi-1.5-6B 模型的微调全流程。这证明了无需昂贵硬件,普通开发者也能低成本探索大模型技术。掌握这一流程后,你可以进一步尝试不同的基座模型、数据集和微调策略,深入理解大模型的应用边界。
未来,随着工具链的成熟,微调将成为 AI 应用开发的标准环节。希望本文能为你的大模型学习之路提供切实的帮助。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online