跳转到主要内容

使用 SFT 训练您的第一个 LLM

本教程将引导您完成向导的每一步,使用监督微调(SFT)训练语言模型。SFT 是教模型遵循指令的最常用方法。

开始之前

确保您有:
  • 已安装 AITraining(pip install aitraining
  • 至少 8GB RAM(推荐 16GB)
  • GPU 有帮助但不是必需的(Apple Silicon 效果很好!)

步骤 0:启动向导

您将看到欢迎横幅和说明。

步骤 1:选择训练器类型

输入 1 并按 Enter 选择 LLM 训练。
输入 :help 查看每个训练器类型的详细说明。

步骤 2:选择训练方法

输入 1 并按 Enter 选择 SFT。
defaultsft 是相同的 - 它们使用相同的训练代码。default 只是未指定训练器时的后备选项。

这些是什么意思?

步骤 3:项目名称

输入项目名称,如 my-first-chatbot 或按 Enter 接受默认值。
如果存在同名文件夹,向导会提供创建版本化名称(例如 my-project-v2)。

步骤 4:模型选择

这是最重要的步骤。向导显示来自 HuggingFace 的热门模型:

选择正确的模型大小

使用 /filter 然后 S 选择小模型。推荐:google/gemma-3-270mmeta-llama/Llama-3.2-1B这些在 Apple Silicon 上训练需要 15-30 分钟。
使用 /filter 然后 SM推荐:google/gemma-2-2bmeta-llama/Llama-3.2-3B稍后为更大模型启用量化。
任何高达 10B 的模型都很好。推荐:meta-llama/Llama-3.2-8Bmistralai/Mistral-7B-v0.3
大胆使用!推荐:meta-llama/Llama-3.1-70B 带量化

基础模型 vs 指令调优模型

选择模型时,您会看到两种类型:
经验法则:如果想要完全控制,使用基础模型。如果想要先发优势,使用指令调优模型(-it-Instruct)。

选择您的模型

选项 A:输入数字从列表中选择:
选项 B:直接输入 HuggingFace ID:
选项 C:搜索特定模型:

步骤 5:数据集配置

理解数据集大小

关键:将数据集大小与模型大小匹配!
  • 小模型(< 1B 参数):最多使用 1,000 - 10,000 个示例
  • 中等模型(1-7B 参数):10,000 - 100,000 个示例
  • 大模型(7B+ 参数):50,000+ 个示例
为什么?小模型在大数据集上会过拟合。270M 模型在 52k 个 Alpaca 示例上训练会记忆,而不是泛化。

数据集选择选项

使用预构建数据集(最简单):
使用您自己的数据
使用 HuggingFace 数据集

数据集格式分析

向导自动分析您的数据集:
输入 y 启用自动转换。这确保您的数据与模型的聊天模板正确配合。

训练/验证分割

按 Enter 使用默认的 train 分割。
如果您的数据集有验证分割(validationtest),在此输入。否则,按 Enter 跳过。

最大样本数(测试)

对于您的第一次训练:输入 100500 进行快速测试运行。一旦工作正常,移除限制并在完整数据集上训练。

步骤 6:高级配置(可选)

对于您的第一次训练,按 Enter 跳过此步骤并使用智能默认值。

何时配置高级选项

步骤 7:审查并开始

按 Enter 开始训练!

接下来会发生什么

  1. 模型下载(仅首次)
  2. 数据集加载和转换
  3. 训练开始并显示进度更新
  4. W&B LEET 面板显示实时指标(如果启用)
  5. 训练好的模型保存到项目文件夹

测试您的模型

训练完成后:
打开 http://localhost:7860/inference 并从 ./my-first-chatbot 加载您的模型进行测试!

常见问题

  • 使用较小的模型(按大小过滤)
  • 在高级选项中启用 LoRA
  • 减少批次大小
  • 启用量化(int4
  • 检查数据集格式 - 尝试更高的学习率 - 确保数据具有正确的列
  • 在高级选项中启用混合精度(bf16
  • 首先使用较小的数据集
  • 启用 LoRA

下一步

理解模型

深入了解模型选择

数据集指南

准备您自己的训练数据

DPO 训练

使用偏好数据训练

LoRA 效率

在有限硬件上训练大模型