
关于
在 Hugging Face Jobs 上训练或微调 TRL 语言模型,包括 SFT、DPO、GRPO 和 GGUF 导出。
source: "https://github.com/huggingface/skills/tree/main/skills/huggingface-llm-trainer" name: hugging-face-model-trainer description: 在 Hugging Face Jobs 上训练或微调 TRL 语言模型,包括 SFT、DPO、GRPO 和 GGUF 导出。 license: 完整条款见 LICENSE.txt risk: unknown
在 Hugging Face Jobs 上进行 TRL 训练
概述
使用 TRL(Transformer 强化学习)在完全托管的 Hugging Face 基础设施上训练语言模型。无需本地 GPU 设置——模型在云 GPU 上训练,结果自动保存到 Hugging Face Hub。
TRL 提供多种训练方法:
- SFT(监督微调)- 标准指令调优
- DPO(直接偏好优化)- 从偏好数据进行对齐
- GRPO(组相对策略优化)- 在线 RL 训练
- 奖励建模 - 为 RLHF 训练奖励模型
获取详细 TRL 方法文档:
hf_doc_search("your query", product="trl")
hf_doc_fetch("https://huggingface.co/docs/trl/sft_trainer") # SFT
hf_doc_fetch("https://huggingface.co/docs/trl/dpo_trainer") # DPO
另见: references/training_methods.md 获取方法概述和选择指南
何时使用此技能
当用户想要:
- 在云 GPU 上微调语言模型而无需本地基础设施
- 使用 TRL 方法(SFT、DPO、GRPO 等)训练
- 在 Hugging Face Jobs 基础设施上运行训练任务
- 将训练好的模型转换为 GGUF 用于本地部署(Ollama、LM Studio、llama.cpp)
- 确保训练好的模型永久保存到 Hub
- 使用具有优化默认值的现代工作流
何时使用 Unsloth
在以下情况下使用 Unsloth(references/unsloth.md)代替标准 TRL:
- GPU 内存有限 - Unsloth 使用约 60% 更少的 VRAM
- 速度重要 - Unsloth 快约 2 倍
- 训练大模型(>13B) - 内存效率至关重要
- 训练视觉语言模型(VLM) - Unsloth 有
FastVisionModel支持
详见 references/unsloth.md 获取完整 Unsloth 文档。
关键指令
协助训练任务时:
- 始终使用
hf_jobs()MCP 工具 - 使用hf_jobs("uv", {...})提交任务,不要使用 bashtrl-jobs命令。script参数直接接受 Python 代码。除非用户明确要求,不要保存到本地文件。 - 始终保存到 Hub - 训练脚本必须包含
push_to_hub=True或显式的trainer.push_to_hub()调用 - 使用现代 TRL API - 使用
SFTConfig/DPOConfig而非已弃用的TrainingArguments - 优先使用 LoRA - 除非用户明确要求全量微调,否则默认使用 LoRA/QLoRA
训练工作流
步骤 1:选择训练方法
| 方法 | 用途 | 数据格式 | |------|------|----------| | SFT | 指令微调 | 对话/指令对 | | DPO | 偏好对齐 | chosen/rejected 对 | | GRPO | 在线 RL | 提示 + 奖励函数 |
步骤 2:准备数据集
数据集应上传到 Hugging Face Hub 或使用现有的公开数据集。
步骤 3:提交训练任务
hf_jobs("uv", {
"script": "...", # Python 训练脚本
"hardware": "gpu-a10g-small", # GPU 类型
"requirements": ["trl>=0.12", "peft", "bitsandbytes"]
})
步骤 4:GGUF 导出(可选)
训练完成后,可将模型转换为 GGUF 格式用于本地推理。
兼容工具
Claude CodeCursor
标签
AI与机器学习