Skip to content

LLaMA-Factory 大模型微调实战 - AI 面试题全解析

一、核心要点速览

💡 核心考点

  • LLaMA-Factory: 一站式大语言模型训练与微调平台,支持 100+ 模型和多种训练算法
  • 核心优势: 零代码启动、WebUI 界面、多GPU/NPU 分布式训练、量化支持、RLHF/DPO 对齐
  • 训练算法: SFT、DPO、KTO、ORPO、PPO、RM 等多种后训练方法
  • 微调方法: Full、Freeze、LoRA、QLoRA、DoRA、GaLore、BAdam 等
  • 适用场景: 垂直领域适配、指令跟随优化、人类偏好对齐、私有数据训练

二、LLaMA-Factory 是什么

1. 项目简介

LLaMA-Factory 是一个开源的大语言模型训练与微调框架,由 Hiyouga 团队开发维护。它提供了统一的接口来训练、微调和部署各种主流大语言模型,大幅降低了大模型定制化的技术门槛。

2. 核心特性

特性类别支持内容价值
模型种类LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等 100+ 模型无需为不同模型学习不同工具
训练算法预训练(PT)、指令微调(SFT)、奖励模型(RM)、PPO、DPO、KTO、ORPO覆盖从预训练到对齐的全流程
运算精度16-bit Full、Freeze、LoRA、2/3/4/5/6/8-bit QLoRA (AQLM/AWQ/GPTQ/HQQ/EETQ)根据资源灵活选择精度
优化算法GaLore、BAdam、DoRA、LongLoRA、LoRA+、LoftQ、PiSSA前沿优化技术开箱即用
加速算子FlashAttention-2、Unsloth、Liger Kernel训练速度提升 2-3 倍
推理引擎Transformers、vLLM高性能推理部署
实验监控LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab可视化追踪训练过程
硬件支持GPU (NVIDIA/AMD)、NPU (华为 Ascend)国产化适配

三、快速开始

1. 环境准备

硬件要求

微调方法最小显存推荐配置适用场景
QLoRA (4-bit)8GBRTX 3090/4090 (24GB)个人开发者、小规模实验
LoRA16GBA100/A6000 (40-80GB)中等规模数据集
Full Fine-tuning80GB+多卡 A100/H100企业级大规模训练
NPU (Ascend 910B)64GB华为 Atlas 800国产化部署

软件依赖

# 1. 创建虚拟环境
conda create -n llama-factory python=3.10
conda activate llama-factory

# 2. 安装 PyTorch (根据你的 CUDA 版本)
pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118

# 3. 克隆并安装 LLaMA-Factory
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

# 4. 可选:安装额外依赖
pip install deepspeed          # 分布式训练
pip install bitsandbytes       # 量化支持
pip install flash-attn --no-build-isolation  # Flash Attention 加速
pip install unsloth            # Unsloth 加速 (可选)
pip install vllm               # vLLM 推理引擎

NPU 环境配置(华为昇腾)

bash
# 方式一:手动安装
# 1. 安装 CANN  toolkit
# 2. 安装 torch-npu
pip install torch-npu==2.1.0

# 方式二:使用 Docker 预安装镜像
docker pull llamafactory/llama-factory:npu-latest
docker run -it --device=/dev/davinci0 llamafactory/llama-factory:npu-latest

2. 数据准备

数据格式规范

LLaMA-Factory 支持多种数据格式,最常用的是 Alpaca 格式

[
  {
    "instruction": "解释什么是机器学习",
    "input": "",
    "output": "机器学习是人工智能的一个分支..."
  },
  {
    "instruction": "将以下文本翻译成英文",
    "input": "你好,世界",
    "output": "Hello, World"
  }
]

DPO 偏好数据格式

[
  {
    "instruction": "写一首关于春天的诗",
    "input": "",
    "chosen": "春风拂面花自开,燕子归来筑新巢...",
    "rejected": "春天来了,花开了,鸟飞回来了。"
  }
]

自定义数据集示例

# 构建医疗问答数据集
import json

medical_data = [
    {
        "instruction": "请诊断以下症状",
        "input": "患者持续发热3天,伴有咳嗽和乏力",
        "output": "根据症状描述,可能的诊断包括:\n1. 上呼吸道感染\n2. 流感\n3. 新冠肺炎(需进一步检查)\n\n建议进行血常规和胸部CT检查。"
    }
]

with open("medical_qa.json", "w", encoding="utf-8") as f:
    json.dump(medical_data, f, ensure_ascii=False, indent=2)

注册自定义数据集

data/dataset_info.json 中添加:

json
{
  "medical_qa": {
    "file_name": "medical_qa.json",
    "columns": {
      "prompt": "instruction",
      "query": "input",
      "response": "output"
    }
  },
  "medical_dpo": {
    "file_name": "medical_dpo.json",
    "ranking": true,
    "columns": {
      "prompt": "instruction",
      "query": "input",
      "chosen": "chosen",
      "rejected": "rejected"
    }
  }
}

四、训练算法详解

1. 训练方法对比

方法类型数据需求目标适用场景
Pre-training (PT)预训练海量无标注文本学习语言建模从头训练基础模型
Supervised Fine-Tuning (SFT)监督微调指令-响应对指令跟随能力垂直领域适配
Reward Modeling (RM)奖励模型偏好排序数据学习人类偏好RLHF 前置步骤
PPO强化学习RM + prompt最大化奖励高质量对齐(复杂)
DPO直接偏好优化偏好排序数据直接优化偏好替代 PPO,更简单
KTOKahneman-Tversky 优化二元偏好数据心理学启发优化数据稀缺场景
ORPO几率比偏好优化偏好排序数据结合 SFT + DPO单阶段训练

2. 微调方法对比

方法原理可训练参数显存占用效果适用场景
Full Fine-tuning更新所有参数100%极高最佳资源充足、追求极致效果
Freeze冻结大部分层,只训顶层5-10%较低一般快速验证可行性
LoRA低秩分解,添加旁路0.1-1%中等接近 Full大多数场景的首选
QLoRALoRA + 4-bit 量化0.1-1%最低略低于 LoRA显存受限时的最优解
DoRA改进的 LoRA,分解权重幅度0.1-1%中等优于 LoRA对精度要求高的场景
GaLore梯度低秩投影100%中等接近 Full全参数微调但显存有限
BAdam块坐标下降100%中等接近 Full替代 GaLore

3. LoRA 原理

传统 Full Fine-tuning:
W_new = W_pretrained + ΔW  (ΔW 与 W 同维度,参数量巨大)

LoRA 的核心思想:
ΔW = BA  (A: d×r, B: r×d, r << d)

例如:
- 原始矩阵: 4096 × 4096 = 16.7M 参数
- LoRA (r=8): 4096×8 + 8×4096 = 65K 参数
- 压缩比: 99.6%

4. QLoRA 原理

QLoRA = Quantization + LoRA

步骤:
1. 将基座模型量化为 4-bit NF4 格式
2. 在量化模型上应用 LoRA
3. 使用分页优化器避免内存峰值

优势:
- 显存降低 60-70%
- 效果仅损失 1-2%
- 可在消费级显卡上微调 70B 模型

5. DPO (Direct Preference Optimization)

传统 RLHF 流程(复杂):
SFT → Reward Model → PPO Training

DPO 流程(简化):
SFT → DPO (直接优化偏好)

核心公式:
L_DPO = -E[log σ(β log(π_θ(y_w|x)/π_ref(y_w|x)) - β log(π_θ(y_l|x)/π_ref(y_l|x)))]

其中:
- y_w: chosen response (优选回答)
- y_l: rejected response (拒绝回答)
- π_ref: reference model (参考模型,通常是 SFT 后的模型)
- β: 温度参数,控制偏离参考模型的程度

五、实战案例

案例 1: WebUI 方式微调(推荐新手)

步骤 1: 启动 WebUI

bash
cd LLaMA-Factory
python src/webui.py

浏览器访问 http://localhost:7860

步骤 2: 配置训练参数

# 在 WebUI 中填写以下配置

【模型设置】
- 模型名称: Qwen2.5-7B-Instruct
- 模型路径: Qwen/Qwen2.5-7B-Instruct (自动从 HuggingFace 下载)
- 微调方法: LoRA

【数据设置】
- 训练数据集: medical_qa
- 验证集比例: 0.1
- 最大长度: 1024

【训练参数】
- 学习率: 1e-4
- 训练轮数 (epochs): 3
- 批次大小 (per_device_train_batch_size): 2
- 梯度累积步数: 4
- LoRA Rank: 8
- LoRA Alpha: 16
- LoRA Dropout: 0.05

【输出设置】
- 输出目录: output/qwen2_medical_lora
- 保存策略: steps
- 每 100 步保存一次

【实验监控】
- 启用 LlamaBoard: ✓
- 启用 Wandb: (可选)

步骤 3: 开始训练

点击 "开始训练" 按钮,实时监控损失曲线和指标。


案例 2: CLI 方式 SFT 微调

单卡 LoRA 微调

CUDA_VISIBLE_DEVICES=0 llamafactory-cli train \
    --model_name_or_path Qwen/Qwen2.5-7B-Instruct \
    --stage sft \
    --do_train \
    --dataset medical_qa \
    --template qwen \
    --finetuning_type lora \
    --lora_rank 8 \
    --lora_alpha 16 \
    --lora_dropout 0.05 \
    --output_dir output/qwen2_medical_lora \
    --overwrite_cache \
    --per_device_train_batch_size 2 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 100 \
    --learning_rate 1e-4 \
    --num_train_epochs 3.0 \
    --plot_loss \
    --fp16

多卡分布式训练 (DeepSpeed)

deepspeed --num_gpus 4 src/train.py \
    --model_name_or_path Qwen/Qwen2.5-7B-Instruct \
    --stage sft \
    --do_train \
    --dataset medical_qa \
    --template qwen \
    --finetuning_type lora \
    --deepspeed ds_config.json \
    --output_dir output/qwen2_medical_lora_ds \
    --per_device_train_batch_size 4 \
    --gradient_accumulation_steps 2 \
    --learning_rate 1e-4 \
    --num_train_epochs 3.0 \
    --bf16

DeepSpeed 配置文件 (ds_config.json):

json
{
  "train_micro_batch_size_per_gpu": 4,
  "gradient_accumulation_steps": 2,
  "optimizer": {
    "type": "AdamW",
    "params": {
      "lr": 1e-4,
      "betas": [0.9, 0.999],
      "eps": 1e-8,
      "weight_decay": 0.01
    }
  },
  "scheduler": {
    "type": "WarmupLR",
    "params": {
      "warmup_min_lr": 0,
      "warmup_max_lr": 1e-4,
      "warmup_num_steps": 100
    }
  },
  "bf16": {
    "enabled": true
  },
  "zero_optimization": {
    "stage": 2,
    "offload_optimizer": {
      "device": "cpu",
      "pin_memory": true
    },
    "allgather_partitions": true,
    "overlap_comm": true,
    "reduce_scatter": true,
    "contiguous_gradients": true
  }
}

QLoRA 微调(低显存方案)

CUDA_VISIBLE_DEVICES=0 llamafactory-cli train \
    --model_name_or_path meta-llama/Llama-3-8b \
    --stage sft \
    --do_train \
    --dataset alpaca_zh \
    --template llama3 \
    --finetuning_type lora \
    --quantization_bit 4 \
    --lora_rank 8 \
    --lora_alpha 16 \
    --output_dir output/llama3_qlora \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 8 \
    --learning_rate 2e-4 \
    --num_train_epochs 3.0 \
    --fp16

案例 3: DPO 偏好优化

准备 DPO 数据

[
  {
    "instruction": "如何保持健康的生活方式?",
    "input": "",
    "chosen": "保持健康生活方式的建议:\n1. 均衡饮食,多吃蔬菜水果\n2. 每周至少150分钟中等强度运动\n3. 保证7-8小时充足睡眠\n4. 定期体检,预防疾病",
    "rejected": "健康生活就是多运动,少吃东西。"
  }
]

执行 DPO 训练

llamafactory-cli train \
    --model_name_or_path Qwen/Qwen2.5-7B-Instruct \
    --adapter_name_or_path output/qwen2_sft_lora \
    --stage dpo \
    --do_train \
    --dataset medical_dpo \
    --template qwen \
    --finetuning_type lora \
    --pref_beta 0.1 \
    --pref_loss sigmoid \
    --output_dir output/qwen2_dpo_lora \
    --per_device_train_batch_size 2 \
    --gradient_accumulation_steps 4 \
    --learning_rate 5e-6 \
    --num_train_epochs 3.0 \
    --fp16

关键参数说明:

  • --adapter_name_or_path: 加载 SFT 后的 LoRA 适配器作为初始模型
  • --pref_beta: DPO 的温度参数,控制偏离参考模型的程度(通常 0.1-0.5)
  • --pref_loss: 偏好损失函数,可选 sigmoid (默认)、hingeipo

案例 4: 推理与评估

加载微调后的模型

from llmtuner import ChatModel

# 加载基座模型 + LoRA 适配器
model = ChatModel(dict(
    model_name_or_path="Qwen/Qwen2.5-7B-Instruct",
    adapter_name_or_path="output/qwen2_medical_lora",
    template="qwen",
    finetuning_type="lora"
))

# 对话测试
response, history = model.chat("高血压患者应该注意什么?")
print(response)

批量评估

import json
from llmtuner import ChatModel

model = ChatModel(dict(
    model_name_or_path="Qwen/Qwen2.5-7B-Instruct",
    adapter_name_or_path="output/qwen2_medical_lora",
    template="qwen"
))

# 读取测试集
with open("test_data.json", "r", encoding="utf-8") as f:
    test_data = json.load(f)

# 逐条评估
correct = 0
for item in test_data:
    pred, _ = model.chat(item["instruction"] + "\n" + item["input"])
    if item["output"][:20] in pred:  # 简单匹配
        correct += 1

accuracy = correct / len(test_data)
print(f"准确率: {accuracy:.2%}")

案例 5: 模型合并与导出

合并 LoRA 权重到基座模型

llamafactory-cli export \
    --model_name_or_path Qwen/Qwen2.5-7B-Instruct \
    --adapter_name_or_path output/qwen2_medical_lora \
    --template qwen \
    --finetuning_type lora \
    --export_dir output/qwen2_medical_merged \
    --export_size 2 \
    --export_legacy_format False

转换为 HuggingFace 格式

from transformers import AutoModelForCausalLM, AutoTokenizer

# 加载合并后的模型
model = AutoModelForCausalLM.from_pretrained(
    "output/qwen2_medical_merged",
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
    "output/qwen2_medical_merged",
    trust_remote_code=True
)

# 推送到 HuggingFace Hub
model.push_to_hub("your-username/qwen2-medical-finetuned")
tokenizer.push_to_hub("your-username/qwen2-medical-finetuned")

六、超参数调优指南

1. 关键超参数说明

参数推荐范围影响调优建议
learning_rate1e-5 ~ 5e-4收敛速度和稳定性SFT-LoRA: 1e-4, QLoRA: 2e-4, DPO: 5e-6
lora_rank8, 16, 32, 64表达能力和参数量从 8 开始,不足再增加
lora_alpharank 的 1-2 倍缩放因子通常设为 rank × 2
lora_dropout0.05 ~ 0.1防止过拟合小数据集用 0.1,大数据集用 0.05
batch_size1 ~ 8训练稳定性和显存显存允许下尽量大
gradient_accumulation1 ~ 8等效批次大小与 batch_size 配合使用
num_train_epochs2 ~ 5训练充分程度监控验证集损失,早停
warmup_ratio0.03 ~ 0.1初期学习率预热默认 0.03 即可
pref_beta (DPO)0.1 ~ 0.5偏好优化强度从 0.1 开始尝试

2. 调优流程

graph LR
    A[baseline: lr=1e-4, rank=8] --> B{验证集损失下降?}
    B -->|是| C[尝试增大 lr 或 rank]
    B -->|否| D[降低 lr 或增大 batch_size]
    C --> E{是否过拟合?}
    D --> E
    E -->|是| F[增加 dropout 或减少 epochs]
    E -->|否| G[记录最佳配置]
    F --> G
    G --> H[在测试集上评估]

3. 常见问题排查

问题可能原因解决方案
损失不下降学习率过大/过小尝试 lr=5e-5 或 lr=2e-4
显存溢出 (OOM)批次太大或未量化减小 batch_size 或使用 QLoRA
过拟合训练轮数过多减少 epochs 或增加 dropout
欠拟合训练不充分增加 epochs 或增大 rank
输出乱码模板错误检查 --template 参数是否正确
DPO 效果差beta 值不当调整 pref_beta (0.1-0.5)

七、性能优化技巧

1. 训练加速

# 启用 Flash Attention 2 (需 Ampere 架构以上 GPU)
pip install flash-attn --no-build-isolation

# 在训练命令中添加
--flash_attn fa2

# 使用 Unsloth 加速 (支持 LLaMA/Mistral/Qwen)
pip install unsloth

# 使用 bf16 代替 fp16 (Ampere 架构支持,推荐)
--bf16

# 梯度检查点 (节省显存,速度略降)
--gradient_checkpointing

2. 显存优化

技术显存节省速度影响使用方法
QLoRA (4-bit)60-70%-5%--quantization_bit 4
Gradient Checkpointing40-50%-20%--gradient_checkpointing
DeepSpeed ZeRO-230-40%-10%--deepspeed ds_config.json
CPU Offload额外 20%-30%在 ds_config 中配置
GaLore50-60%-15%--use_galore

3. 混合精度训练

# FP16 (Volta 架构以上)
--fp16

# BF16 (Ampere 架构以上,推荐)
--bf16

# 纯 FP32 (调试用,极慢)
--fp32

八、常见面试题

Q1: LoRA 和 QLoRA 有什么区别?如何选择?

标准回答:

核心区别:

  • LoRA: 在完整精度(FP16/BF16)的基座模型上应用低秩分解
  • QLoRA: 先将基座模型量化为 4-bit,再应用 LoRA

对比表格:

维度LoRAQLoRA
显存需求较高 (7B 模型约 16GB)极低 (7B 模型约 8GB)
训练速度略慢 (-5~10%)
最终效果略好略差 (-1~2%)
适用硬件A100/A6000RTX 3090/4090

选型建议:

if 显存 >= 24GB:
    选择 LoRA (效果更好)
elif 显存 >= 8GB:
    选择 QLoRA (唯一可行方案)
else:
    考虑云端训练或更小的模型

记忆口诀: "LoRA 快又好,QLoRA 省显存;资源充足选 LoRA,显卡有限 QLoRA"


Q2: SFT 和 DPO 有什么区别?什么时候用 DPO?

标准回答:

核心区别:

维度SFTDPO
数据类型指令-响应对 (单答案)偏好排序数据 (chosen/rejected)
优化目标模仿专家行为对齐人类偏好
训练流程单阶段通常 SFT → DPO 两阶段
复杂度简单中等
效果基础指令跟随更符合人类价值观

DPO 的优势:

  1. 替代复杂的 RLHF: 无需训练独立的 Reward Model 和 PPO
  2. 更稳定: 避免了 PPO 的训练不稳定问题
  3. 更高效: 计算开销更低,收敛更快

使用时机:

典型流程:
1. 收集指令数据 → SFT 训练 → 获得基础指令跟随能力
2. 收集偏好数据 (人工标注 chosen/rejected) → DPO 训练 → 对齐人类偏好
3. 评估输出质量,迭代优化

记忆口诀: "SFT 学技能,DPO 学品味;先会后好,两步到位"


Q3: 为什么微调后模型效果反而变差了?

标准回答:

常见原因有五个:

  1. 灾难性遗忘 (Catastrophic Forgetting)

    • 现象: 通用能力下降
    • 解决: 混合通用数据和领域数据,或使用 DPO 对齐
  2. 过拟合

    • 现象: 训练集表现好,测试集差
    • 解决: 减少 epochs、增加 dropout、增大数据集
  3. 学习率不当

    • 现象: 损失震荡或不下降
    • 解决: 使用学习率调度器,尝试不同初始 lr
  4. 数据质量问题

    • 现象: 输出不合理或重复
    • 解决: 清洗数据,确保指令-响应对质量
  5. 模板不匹配

    • 现象: 输出格式混乱
    • 解决: 确认 --template 与基座模型匹配

排查流程:

1. 检查训练损失曲线 → 是否正常下降
2. 在少量样本上人工评估 → 定位具体问题
3. 对比基座模型输出 → 判断是否退化
4. 调整超参数重新训练 → 迭代优化

Q4: LLaMA-Factory 相比其他微调框架有什么优势?

标准回答:

对比主流框架:

框架易用性功能丰富度社区活跃度适用人群
LLaMA-Factory⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐全栈开发者
HuggingFace PEFT⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐研究人员
Axolotl⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐MLOps 工程师
FastChat⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐部署工程师

LLaMA-Factory 的核心优势:

  1. 零代码启动: WebUI 界面,拖拽式配置
  2. 模型覆盖广: 支持 100+ 模型,无需修改代码
  3. 算法全面: SFT/DPO/KTO/PPO 等全覆盖
  4. 中文友好: 完善的中文文档和社区
  5. 生产就绪: 内置 DeepSpeed、量化、合并导出
  6. 活跃维护: 每周更新,快速响应 Issue

选型建议:

  • 快速原型/中小团队: LLaMA-Factory (首选)
  • 学术研究/自定义算法: HuggingFace PEFT
  • 大规模集群训练: Axolotl + Slurm

九、最佳实践总结

1. 微调流程 Checklist

□ 数据准备
  □ 收集至少 1000+ 高质量样本
  □ 清洗噪声数据(去重、纠错)
  □ 划分训练集/验证集/测试集 (8:1:1)
  □ 转换为 Alpaca/DPO 格式并注册

□ 环境配置
  □ 安装正确版本的 PyTorch 和 CUDA
  □ 验证 GPU/NPU 可用性和显存大小
  □ 安装 LLaMA-Factory 及依赖

□ 实验设计
  □ 选择合适的基座模型(根据任务和资源)
  □ 确定训练方法(SFT/DPO/KTO)
  □ 确定微调方法(LoRA/QLoRA/Full)
  □ 设定超参数初始值
  □ 规划实验次数和预算

□ 训练执行
  □ 小规模试跑(100 steps)验证配置
  □ 正式训练并监控损失曲线
  □ 定期保存 checkpoint
  □ 记录所有超参数和日志

□ 评估优化
  □ 在验证集上评估
  □ 人工抽样检查输出质量
  □ 对比基座模型效果
  □ 调整超参数重新训练

□ 部署上线
  □ 合并 LoRA 权重
  □ 转换为推理格式(vLLM/TGI)
  □ 压力测试和延迟优化
  □ 灰度发布和监控

2. 资源推荐

类型资源链接
官方文档LLaMA-Factory 中文文档llamafactory.readthedocs.io/zh-cn
GitHub源码仓库github.com/hiyouga/LLaMA-Factory
数据集Alpaca 中文版github.com/ymcui/Chinese-LLaMA-Alpaca
教程知乎专栏zhihu.com/column/llama-factory
社区Discorddiscord.gg/llama-factory
论文LoRA 原论文arxiv.org/abs/2106.09685
论文QLoRA 原论文arxiv.org/abs/2305.14314
论文DPO 原论文arxiv.org/abs/2305.18290

十、总结与展望

核心要点回顾

知识点关键信息
LLaMA-Factory一站式训练框架,支持 100+ 模型和多种算法
训练算法SFT、DPO、KTO、ORPO、PPO、RM
微调方法Full、LoRA、QLoRA、DoRA、GaLore、BAdam
LoRA参数高效微调,压缩比 99%+
QLoRALoRA + 4-bit 量化,显存降低 60%
DPO直接偏好优化,替代复杂 RLHF
WebUI零代码配置,适合快速实验
CLI脚本化自动化,适合生产环境
评估自动指标 + 人工评估 + 基准测试

未来趋势

  1. 更大模型的平民化: QLoRA 让消费级显卡也能微调 70B 模型
  2. 自动化超参数搜索: Optuna、Ray Tune 集成
  3. 多模态微调: 支持图像、音频联合训练
  4. 在线学习: 持续从用户反馈中增量更新
  5. 安全对齐: RLHF、DPO 成为标配
  6. 国产化适配: NPU (华为昇腾) 支持完善

十一、扩展阅读

最近更新