> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# HF Skills: 让AI代理微调大模型
- URL: https://www.hubwiz.com/blog/hf-skills-enabling-ai-agents-to-fine-tune-llms/
- Published: 2025-12-07T11:41:44.000Z
- Updated: 2025-12-07T11:41:44.000Z
- Description: 我们赋予了Claude通过名为Hugging Face Skills的新工具来微调语言模型的能力。
- Author: admin
- Tags: AGENT, HF SKILLS, #Import 2026-10-14 14:41

我们赋予了Claude通过名为[Hugging Face Skills](https://hf-learn.short.gy/gh-hf-skills?ref=hubwiz.com)的新工具来微调语言模型的能力。不仅仅是编写训练脚本，而是实际将作业提交到云GPU、监控进度，并将完成的模型推送到Hugging Face Hub。本教程展示了它是如何工作的以及如何自己使用它。

> Claude Code可以使用“技能”——打包的指令、脚本和领域知识来完成专业任务。`hf-llm-trainer`技能教会Claude关于训练的一切：选择适合您模型大小的GPU，配置Hub认证，何时使用LoRA而不是全微调，以及处理成功训练运行所需的数十个其他决策。

有了这个技能，您可以告诉Claude一些事情：

> 在数据集open-r1/codeforces-cots上对Qwen3-0.6B进行微调

然后Claude会：

1. 验证您的数据集格式
2. 选择适当的硬件（对于0.6B模型使用t4-small）
3. 使用并更新带有Trackio监控的训练脚本
4. 将作业提交到Hugging Face Jobs
5. 报告作业ID和预估成本
6. 当您询问时检查进度
7. 如果出现错误，帮助您调试

模型在Hugging Face GPU上进行训练，而您可以做其他事情。完成后，您的微调模型出现在Hub上，随时可用。

这并不是一个玩具演示。该技能支持用于生产的相同训练方法：监督微调、直接偏好优化和具有可验证奖励的强化学习。您可以训练从0.5B到70B参数的模型，将它们转换为GGUF以本地部署，并运行结合不同技术的多阶段管道。

## 1、设置和安装

在开始之前，您需要：

- 一个拥有[Pro](https://hf.co/pro?ref=hubwiz.com)或[Team](https://hf.co/enterprise?ref=hubwiz.com)计划的Hugging Face账户（Jobs需要付费计划）
- 从[huggingface.co/settings/tokens](https://huggingface.co/settings/tokens?ref=hubwiz.com)获取的写访问令牌
- 一个编码代理，如Claude Code、OpenAI Codex或Google的Gemini CLI

Hugging Face Skills与Claude Code、Codex和Gemini CLI兼容。有Cursor、Windsurf和Continue的集成，正在路上。

### 1.1 Claude Code

1) 注册仓库作为插件市场：

```
/plugin marketplace add huggingface/skills

```

2) 要安装一个技能，请运行：

```
/plugin install <skill-folder>@huggingface-skills

```

例如：

```
/plugin install hf-llm-trainer@huggingface-skills

```

### 1.2 Codex

1) Codex将通过`AGENTS.md`文件识别技能。您可以通过以下方式验证指令是否已加载：

```
codex --ask-for-approval never "总结当前的指令。"

```

2) 更多细节请参见[Codex AGENTS指南](https://developers.openai.com/codex/guides/agents-md?ref=hubwiz.com)。

### 1.3 Gemini CLI

1) 此仓库包含`gemini-extension.json`以与Gemini CLI集成。

2) 本地安装：

```
gemini extensions install . --consent

```

或使用GitHub URL：

```
gemini extensions install https://github.com/huggingface/skills.git --consent

```

3) 有关更多帮助，请参阅[Gemini CLI扩展文档](https://geminicli.com/docs/extensions/?ref=hubwiz.com#installing-an-extension)。

### 1.4 连接到Hugging Face

您需要通过[写访问令牌](https://huggingface.co/settings/tokens?ref=hubwiz.com)认证您的Hugging Face账户，以便作业可以创建模型仓库。

设置您的令牌：

```
hf auth login
# 或者
export HF_TOKEN=hf_your_write_access_token_here

```

> 通过在`HF_TOKEN`或`Authorization: Bearer`HTTP头中发送您的写入令牌来配置Hugging Face MCP服务器。 对于Claude Code：`claude mcp add --transport http hf-skills https://huggingface.co/mcp?bouquet=skills --header "Authorization: Bearer $HF_TOKEN"`

## 2、第一次训练运行

让我们走一遍完整的例子。我们将对一个小模型进行微调以看到完整的流程，然后探索更高级的功能。

### 2.1 指示编码代理进行微调

从一个简单明确的指令开始，微调特定的模型

```
在open-r1/codeforces-cots数据集上对Qwen3-0.6B进行微调，以遵循指令。

```

编码代理分析您的请求并准备训练配置。对于0.6B模型和演示数据集，它选择`t4-small`—足够用于此模型大小且最便宜的选项。

> `open-r1/codeforces-cots`数据集是代码竞赛问题和解决方案的数据集。它是微调模型以解决困难编程问题的良好数据集。

### 2.2 提交前审查

在编码代理提交任何内容之前，您将看到配置：

```
我将在open-r1/codeforces-cots上对Qwen/Qwen3-0.6B进行SFT微调。

配置：
- 硬件：t4-small（约$0.75/小时）
- 预计时间：约20分钟
- 预计成本：约$0.30
- 输出：username/qwen-codeforces-cots-sft

模型将自动推送到Hub。我要提交吗？

```

这是您调整任何内容的机会。更改输出仓库名称，选择不同的硬件，或要求Claude修改训练参数。一旦您批准，代理就会提交作业。

例如，您可以要求代理进行测试运行：

```
做一个快速测试运行，使用100个例子。

```

### 2.3 跟踪进度

提交后，您将获得作业详情：

```
✅ 作业成功提交！

作业ID：abc123xyz
监视器：https://huggingface.co/jobs/username/abc123xyz

预计时间：约20分钟
预计成本：约$0.30

查看实时指标：https://huggingface.co/spaces/username/trackio

```

![](https://www.hubwiz.com/blog/content/images/2025/12/image-73.png)

该技能包括Trackio集成，因此您可以实时观看训练损失减少。作业异步运行，所以您可以关闭终端并稍后回来。当您想要更新时：

> 我的训练作业怎么样？

然后代理获取日志并总结进度。

点击[这里](https://evalstate-trackio.hf.space/?project=qwen-hyperparam-sweep&runs=bs16-lr1e-5,bs16-lr5e-5,bs16-lr1e-4,bs16-lr2e-5&ref=hubwiz.com)查看一个带有某些已完成运行的Trackio仪表板示例。

### 2.4 使用您的模型

当训练完成时，您的模型就在Hub上：

```
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("username/qwen-codeforces-cots-sft")
tokenizer = AutoTokenizer.from_pretrained("username/qwen-codeforces-cots-sft")

```

这就是完整的循环。您用普通英语描述了您想要的内容，代理处理了GPU选择、脚本生成、作业提交、身份验证和持久化。整个过程花费大约三十美分。

## 3、训练方法

该技能支持三种训练方法。了解何时使用每种方法有助于您获得更好的结果。

### 3.1 监督微调 (SFT)

SFT是大多数项目开始的地方。您提供示范数据—输入和期望输出的例子—训练调整模型以匹配这些模式。

当您有高质量的所需行为示例时使用SFT。客户支持对话、代码生成配对、特定领域的问答—任何您可以向模型展示好样子的东西。

> 在我的组织/support-conversations上对Qwen3-0.6B进行3轮SFT。

代理验证数据集，选择硬件（对于7B模型使用a10g-large和LoRA），并配置带有检查点和监控的训练。

对于大于3B参数的模型，代理会自动使用LoRA（低秩适应）以减少内存需求。这使得在单个GPU上训练7B或13B模型成为可能，同时保留大部分全微调的质量。

### 3.2 直接偏好优化 (DPO)

DPO在偏好对上训练—其中一个是“选择”的响应，另一个是“拒绝”的响应。这使模型输出与人类偏好对齐，通常在初始SFT阶段之后。

当您有人类标注者或自动化比较的偏好注释时使用DPO。DPO直接优化首选响应，而不需要单独的奖励模型。

> 在我的组织/preference-data上运行DPO，以对齐我刚刚训练的SFT模型。  
> 数据集有'chosen'和'rejected'列。

DPO对数据集格式敏感。它需要列名精确为`chosen`和`rejected`，或者一个包含输入的`prompt`列。代理首先验证这一点，并向您展示如何在您的数据集使用不同名称时映射列。

### 3.3 组相对策略优化 (GRPO)

GRPO是一种强化学习任务，在可验证的任务如解决数学问题、编写代码或任何具有程序性成功标准的任务上已被证明是有效的。

> 基于Qwen3-0.6B在openai/gsm8k数据集上使用GRPO训练一个数学推理模型。

模型生成响应，根据正确性接收奖励，并从结果中学习。这比SFT或DPO更复杂，但配置类似。

## 4、硬件和成本

代理根据您的模型大小选择硬件，但了解权衡可以帮助您做出更好的决定。

### 4.1 模型大小与GPU映射

对于**小于1B参数的小模型**，`t4-small`效果很好。这些模型训练速度快—预计一次完整运行花费$1-2。这对于教育或实验运行非常完美。

对于**小模型（1-3B）**，升级到`t4-medium`或`a10g-small`。训练需要几个小时，花费$5-15。

对于**中等模型（3-7B）**，需要`a10g-large`或`a100-large`以及LoRA。全微调无法容纳，但LoRA使这些非常可训练。预算$15-40用于生产。

对于**大模型（7B+）**，此HF技能工作不适用。

### 4.2 演示与生产

在测试工作流时，从小处着手：

> 对Qwen-0.6B进行SFT，使用我的组织/support-conversations的100个例子进行快速测试运行。

编码代理配置最小训练—足以验证您的流水线是否有效，而无需实际成本。

对于生产，要明确：

> 在完整的我的组织/support-conversations上对Qwen-0.6B进行SFT。  
> 每500步检查点，3轮，余弦学习率。

始终在投入多小时的生产作业之前运行一次演示。0.5美元的演示如果发现格式错误，可以节省30美元的失败运行。

## 5、数据集验证

数据集格式是训练失败最常见的原因。代理可以在您花费GPU时间之前验证数据集。

> 检查我的组织/conversation-data是否适用于SFT训练。

代理在CPU上快速检查（几分钱）并报告：

```
数据集验证对于my-org/conversation-data：

SFT: ✓ 准备就绪
  找到'messages'列，具有对话格式

DPO: ✗ 不兼容
  缺少'chosen'和'rejected'列

```

如果您需要转换数据集，代理可以向您展示如何：

> 我的DPO数据集使用'good\_response'和'bad\_response'而不是'chosen'和'rejected'。我该如何修复？

代理提供映射代码，并可以将其直接整合到您的训练脚本中。

## 6、监控训练

实时监控有助于及早发现问题。该技能默认配置Trackio—提交作业后，您可以在以下位置查看指标：

```
https://huggingface.co/spaces/username/trackio

```

这显示了训练损失、学习率和验证指标。健康的运行显示逐渐下降的损失。

随时向代理询问状态：

> 我的训练作业的状态是什么？

```
作业abc123xyz正在运行（已过去45分钟）

当前步骤：850/1200
训练损失：1.23（从开始的2.41下降）
学习率：1.2e-5

预计完成时间：约20分钟

```

如果出错，代理会帮助诊断。内存不足？代理建议减少批量大小或升级硬件。数据集错误？代理会识别不匹配。超时？代理建议更长的持续时间或更快的训练设置。

## 7、转换为GGUF

训练完成后，您可能希望在本地运行您的模型。GGUF格式适用于llama.cpp和依赖工具如LM Studio、Ollama等。

> 将我的微调模型转换为GGUF，使用Q4\_K\_M量化。  
> 推送到username/my-model-gguf。

代理提交一个转换作业，合并LoRA适配器，转换为GGUF，应用量化，并推送到Hub。

然后在本地使用它：

```
llama-server -hf <username>/<model-name>:<quantization>

# 例如，在本地机器上运行Qwen3-1.7B-GGUF模型：
llama-server -hf unsloth/Qwen3-1.7B-GGUF:Q4_K_M

```

## 8、下一步

我们已经展示了像Claude Code、Codex或Gemini CLI这样的编码代理可以处理模型微调的完整生命周期：验证数据、选择硬件、生成脚本、提交作业、监控进度和转换输出。这将原本需要专业知识的技能变成了可以通过对话完成的事情。

一些可以尝试的事情：

- 在自己的数据集上微调一个模型
- 使用SFT→DPO构建一个对齐的模型
- 使用GRPO在数学或代码上训练一个推理模型
- 将模型转换为GGUF并在Ollama上运行

该技能是开源的。您可以扩展它，根据您的工作流程进行定制，或将其作为其他训练场景的起点。

---

原文链接：[We Got Claude to Fine-Tune an Open Source LLM](https://huggingface.co/blog/hf-skills-training?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处