大模型微调实操教程- 基于魔搭+LLaMA Factory

采用魔搭社区云端服务器完成大模型微调(本地配置足够也可复用流程),核心工具为开源微调框架LLaMA Factory,以广告文案生成场景为例完成全流程实操,所有操作步骤、指令、避坑点均做详细说明,按步骤执行即可完成大模型微调的启动。

前置说明

1. 微调的应用价值

2026年大模型微调将成为行业标配能力,车企、边缘设备部署、细分场景Agent开发(如Cursor、Manus)等场景均需微调;2025年仅垂直细分场景使用,当业务实际落地时,为解决大模型“慢、贵、需私有数据适配”问题,微调是核心解决方案。

2. 环境选择(二选一)

  • 本地环境:需满足24G显存(如Mac M4 Pro高显存版),流程与云端完全一致,所有操作在本地终端执行即可。
  • 云端环境(推荐零基础):使用魔搭社区免费云端服务器,可白嫖48小时八核32G+24G显存;若用完可切换阿里云弹性加速器,含64小时16G显存,足够完成演示,无需付费,仅需实名。

3. 核心工具

  • LLaMA Factory:GitHub开源的大模型微调专用框架,支持多模型、多格式数据集,一站式完成微调。
  • Python虚拟环境:避免不同项目的Python第三方库版本冲突,保证微调环境干净。
  • ModelScope(魔搭):阿里系模型库,国内服务器访问速度快,替代被墙的Huggingface。

4. 服务器使用限制

魔搭云端服务器单次运行8小时1小时无操作自动关闭,操作过程中需及时查看进度,避免中断。

一、前期准备:账号注册与实名(必做)

魔搭社区与阿里云为阿里系互通账号体系,完成以下步骤方可使用云端服务器:

  1. 注册魔搭社区账号,推荐直接用阿里云账号登录(无需重复注册);
  1. 完成阿里云账号实名(国内平台强制要求,无实名无法启动云端服务器);
  1. 若单独注册魔搭账号,需分别完成魔搭+阿里云的实名,建议直接用阿里云账号登录魔搭。

二、魔搭云端服务器启动

  1. 打开魔搭社区对应微调链接(文档在学习须知中),进入服务器操作页面;
  1. 点击启动,完成验证码验证(若卡验证码,多次刷新页面即可),验证后等待1-2分钟,服务器启动完成;
  1. 启动后点击查看Notebook,进入预装的Notebook系统,找到并点击terminal(终端),进入终端操作界面(后续所有指令均在终端执行);
  1. 若此前操作过微调,终端中有旧文件夹,需删除/重命名旧文件夹(避免与后续克隆的代码冲突),零基础直接重命名即可(如加后缀_123)。

学员反馈:若未启动服务器/未看到终端界面,在直播/群内打2反馈,卡壳处需截图发群里答疑。

三、核心步骤:部署LLaMA Factory微调框架

所有操作在魔搭终端执行,指令直接复制粘贴,无需手动输入,零基础按步骤执行即可,每一步执行完成再进行下一步。

步骤1:克隆LLaMA Factory开源代码

终端中输入以下指令,将GitHub上的LLaMA Factory代码下载到云端服务器(克隆=下载/创建副本):

Bash
# 直接复制LLaMA Factory的git clone指令(文档/群内提供)
git clone https://github.com/hiyouga/LLaMA-Factory.git

  • 若提示文件夹重名,说明有旧文件,返回第二步重命名/删除旧文件夹即可。

步骤2:进入LLaMA Factory文件夹

克隆完成后,输入指令进入框架根目录,所有后续操作均在该目录下执行

Bash
cd LLaMA-Factory

步骤3:创建Python虚拟环境

为避免库版本冲突,创建干净的虚拟环境,指令固定,无需修改

Bash
python -m venv .venv

  • 执行后等待1-2分钟,虚拟环境创建完成;
  • 环境名称为.venv,零基础不要修改名称,避免后续激活失败。

步骤4:激活虚拟环境

指令为固定用法,执行后终端前缀会出现.venv标识,说明激活成功(后续所有操作必须在激活状态下执行):

Bash
# 魔搭云端服务器激活指令(群内/文档提供,直接复制)
source .venv/bin/activate

  • 若后续操作发现前缀无.venv,说明环境未激活,重新执行该指令即可。

步骤5:安装框架依赖

安装微调所需的所有Python第三方库,指令直接复制:

Bash
pip install -e .

关键注意事项(避坑)

  1. 依赖包约数百兆,包含英伟达CUDA(GPU底层核心组件,大模型训练必备),安装时间约10-30分钟,耐心等待;
  1. 若安装卡壳/光标一直闪无进度,按Ctrl+C中断,重新执行该指令即可;
  1. 若提示依赖冲突,无需手动处理,继续等待,框架会自动适配;
  1. 安装完成后终端会提示Successfully installed,无红色报错即为成功。

学员反馈:安装过程中打1反馈进度,未安装成功/报错打2并截图发群。

四、数据集处理:从下载到适配微调格式

微调需用JSON格式的数据集(LLaMA Factory要求),本次以广告文案生成数据集为例,完成CSV下载→精简→JSON转换→数据集注册,全程按步骤执行,避坑点重点标注。

步骤1:下载并精简数据集

  1. 打开群内/文档提供的数据集链接,下载train.csv(广告文案生成数据集,含content关键词列、summary文案列);
  1. 精简数据量:原始数据9万行,训练过慢,保留5000行即可,删除多余行;
  1. 打开方式避坑:用WPS/Sublime Text打开CSV,不要用Excel(会乱码);
  1. 保存为CSV格式,不要改Excel格式,保存到本地。

步骤2:CSV转JSON(微调指定格式)

LLaMA Factory要求数据集为instruction+input+output的JSON格式,需用Python脚本完成转换(脚本由讲师提供,直接复制运行即可):

  1. 将精简后的5000行CSV文件放到指定路径;
  1. 运行群内提供的CSVtoJSON Python脚本,脚本会自动读取CSV的content/ summary列,转换为以下JSON格式:

JSON
[
    {
        "instruction": "根据下面的关键词写一个广告文案",
        "input": "XXX(CSV中的content关键词)",
        "output": "XXX(CSV中的summary文案)"
    }
]

  1. 运行完成后,本地生成JSON数据集文件(如advertise.json),讲师会将转换好的JSON发群,零基础可直接用群内的JSON文件。

步骤3:注册数据集(核心,让框架识别数据)

需修改LLaMA Factory的dataset_info.json(数据集目录文件,框架通过该文件识别可用数据集),并将JSON文件上传到框架的data文件夹:

  1. 从魔搭终端下载dataset_info.json(右键→download),用本地编辑器(如Sublime Text/记事本)打开;
  1. 在文件最前方添加一行数据集配置,命名自定义(如advertise),名称需与JSON文件名一致,示例:

JSON
"advertise": {
    "file_name": "advertise.json",
    "columns": {
        "instruction": "instruction",
        "input": "input",
        "output": "output"
    }
},

  1. 避坑点:添加后必须加逗号,不要与其他数据集重名,改完后按Ctrl+S保存
  1. 修改后的dataset_info.jsonadvertise.json(5000行)拖拽上传到魔搭终端的LLaMA-Factory/data文件夹,上传时提示覆盖,选择覆盖原文件
  1. 上传完成后,打开data文件夹,确认能看到advertise.json和修改后的dataset_info.json,且dataset_info.json中有advertise配置项,即为成功。

学员反馈:数据集准备好打1,未搞好/上传失败打2,未覆盖原文件会导致框架识别不到数据。

五、配置模型源与启动LLaMA Factory Web UI

阿里云服务器无法访问Huggingface,需将模型下载源改为魔搭ModelScope,并启动可视化Web UI(零基础用可视化界面操作,无需写指令)。

步骤1:配置环境变量(切换模型源)

在魔搭终端中输入以下指令,将LLaMA Factory的默认模型源从Huggingface改为ModelScope,执行后无任何输出,直接回车即可

Bash
# 设置环境变量,指定模型源为ModelScope
export USE_MODEL_SCOPE_HUB=1

步骤2:启动Web UI

终端中输入启动指令,回车后等待加载(约1-2分钟):

Bash
# 启动LLaMA Factory Web UI,直接复制指令
llamafactory-cli webui

步骤3:进入Web UI可视化界面

  1. 加载完成后,终端会生成[127.0.0.1:7860](127.0.0.1:7860)网址,直接点击该网址(不要手动输入,手动输入会打不开);
  1. 进入界面后,若为英文,点击右上角切换为中文,忽略界面中的弹窗错误(不影响操作);
  1. 若界面加载中,耐心等待即可,每个人服务器速度不同,无红色报错即为正常。

学员反馈:未打开界面打2,加载中打1。

六、微调参数设置与启动训练(可视化操作,零基础友好)

Web UI为中文界面,仅需设置关键参数,其余均为默认(零基础不要修改),设置完成后点击开始,即可启动大模型微调,核心是在官方已微调的模型基础上二次微调,降低训练成本。

关键参数设置(仅改这几项,其余默认)

  1. 模型选择:选带instruct后缀的模型(如千问2.5 1.5B instruct),必须选instruct版(官方已完成基础微调,二次微调成本低,无instruct后缀无法微调);
  1. 模型下载源:选择ModelScope(魔搭),国内服务器下载速度快;
  1. 数据集选择:在数据集下拉框中选择自己注册的advertise(仅选这一个,不要选其他数据集);
  1. 数据集预览:点击预览,确认能看到5000行广告文案数据,行数对应即为成功;
  1. 量化方法/等级:保持默认(BN/BNP,量化等级默认,零基础无需修改,改了可能导致训练失败)。

其余参数(全部默认,不要修改)

学习率、训练轮数、最大梯度范围、批处理、截断长度、输出路径、设备数量等,均保持框架默认,广告文案场景无需调整。

启动训练

  1. 所有参数设置完成后,点击开始训练,返回魔搭终端查看日志;
  1. 终端开始下载模型文件,并输出训练日志,无红色报错即为正常
  1. 下载+训练过程需持续等待,下节课讲解模型训练完成后的导出、部署与使用

核心反馈:点击开始后,终端有日志输出(非红色),说明微调已成功启动,本次实操完成。

七、常见问题与避坑汇总(零基础必看)

整理直播中学员遇到的高频问题,按以下方法解决,仍无法解决的在群内答疑:

  1. 验证码卡壳:多次刷新魔搭页面,重新点击启动;
  1. 依赖安装慢/卡壳:按Ctrl+C中断,重新执行pip install -e .
  1. CSV文件乱码:放弃Excel,用WPS/Sublime Text打开;
  1. 框架识别不到数据集:确认dataset_info.json已修改并覆盖、JSON文件名与配置名一致、已上传到data文件夹;
  1. Web UI打不开:不要手动输网址,直接点击终端生成的[127.0.0.1:7860](127.0.0.1:7860);
  1. 终端无日志输出:确认虚拟环境已激活(前缀有.venv)、模型源已切换为ModelScope;
  1. 服务器自动关闭:1小时无操作会关闭,隔一段时间在终端点击一下,保持操作状态;
  1. 指令执行报错:确认在LLaMA Factory根目录下执行(已完成cd LLaMA-Factory)。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐