Unsloth 免费微调:HF 提供免费计算资源
Unsloth 优化了 LLM 微调效率,Hugging Face 新推出免费计算服务支持,大幅降低模型微调成本。
完整中文译文
为什么选择小模型?
LFM2.5-1.2B-Instruct 等小语言模型是微调的理想候选。它们训练成本低廉、迭代速度快,在专注任务上与更大模型的竞争力不断提升。LFM2.5-1.2B-Instruct 运行内存不到 1GB,针对设备端部署进行了优化,所以你微调的模型可以在 CPU、手机和笔记本电脑上运行。
我们在 Hugging Face Jobs 上提供免费额度来微调模型。加入 Unsloth Jobs Explorers 组织以领取免费额度和一个月 Pro 订阅。
前置要求
- 一个 Hugging Face 账户(HF Jobs 必需)
- 账单设置(用于验证,你可以在账单页面监控使用情况和管理账单)
- 具有写入权限的 Hugging Face token
- (可选)编码 agent(Open Code、Claude Code 或 Codex)
使用 hf jobs CLI 提交任务
如果你想使用 HF Jobs 和 Unsloth 来训练模型,你可以简单地使用 hf jobs CLI 来提交任务。
首先,你需要安装 hf CLI。你可以通过运行以下命令来完成:
# mac or linux
curl -LsSf https://hf.co/cli/install.sh | bash
接下来你可以运行以下命令来提交任务:
hf jobs uv run https://huggingface.co/datasets/unsloth/jobs/resolve/main/sft-lfm2.5.py \
--flavor a10g-small \
--secrets HF_TOKEN \
--timeout 4h \
--dataset mlabonne/FineTome-100k \
--num-epochs 1 \
--eval-split 0.2 \
--output-repo your-username/lfm-finetuned
查看训练脚本和 Hugging Face Jobs 文档了解更多详情。
使用编码 Agent 训练模型
Hugging Face 模型训练 skill 通过简单的 prompt 降低了训练模型的准入门槛。首先,用你的编码 agent 安装该 skill。
Claude Code
Claude Code 通过其插件系统发现 skill,所以我们需要先安装 Hugging Face skills。具体操作如下:
/plugin marketplace add huggingface/skills
在发现选项卡中浏览可用的 skill:
/plugin
安装模型训练器 skill:
/plugin install hugging-face-model-trainer@huggingface-skills
有关更多详情,请参阅有关使用 hub 与 skill 或 Claude Code Skills 文档。
Codex
Codex 通过 AGENTS.md 文件和 .agents/skills/ 目录发现 skill。
使用 $skill-installer 安装各个 skill:
$skill-installer install https://github.com/huggingface/skills/tree/main/skills/hugging-face-model-trainer
有关更多详情,请参阅 Codex Skills 文档和 AGENTS.md 指南。
通用安装方法
一个通用的安装方法就是克隆 skill 存储库,并将 skill 复制到你的 agent 的 skill 目录。
git clone https://github.com/huggingface/skills.git
mkdir -p ~/.agents/skills && cp -R skills/skills/hugging-face-model-trainer ~/.agents/skills/
安装 skill 后,要求你的编码 agent 来训练模型:
Train LiquidAI/LFM2.5-1.2B-Instruct on mlabonne/FineTome-100k using Unsloth on HF Jobs
agent 将根据 skill 中的示例生成训练脚本,将训练提交到 HF Jobs,并通过 Trackio 提供监控链接。
训练任务如何工作
训练任务运行在 Hugging Face Jobs 上,完全托管的云 GPU。agent 将:
- 生成包含内联依赖的 UV 脚本
- 通过 hf CLI 将其提交到 HF Jobs
- 报告任务 ID 和监控 URL
- 将训练的模型推送到你的 Hugging Face Hub 存储库
示例训练脚本
该 skill 根据 skill 中的示例生成这样的脚本。
# /// script
# dependencies = ["unsloth", "trl>=0.12.0", "datasets", "trackio"]
# ///
from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
from datasets import load_dataset
model, tokenizer = FastLanguageModel.from_pretrained(
"LiquidAI/LFM2.5-1.2B-Instruct",
load_in_4bit=True,
max_seq_length=2048,
)
model = FastLanguageModel.get_peft_model(
model,
r=16,
lora_alpha=32,
lora_dropout=0,
target_modules=[
"q_proj",
"k_proj",
"v_proj",
"out_proj",
"in_proj",
"w1",
"w2",
"w3",
],
)
dataset = load_dataset("trl-lib/Capybara", split="train")
trainer = SFTTrainer(
model=model,
tokenizer=tokenizer,
train_dataset=dataset,
args=SFTConfig(
output_dir="./output",
push_to_hub=True,
hub_model_id="username/my-model",
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
num_train_epochs=1,
learning_rate=2e-4,
report_to="trackio",
),
)
trainer.train()
trainer.push_to_hub()
定价
要获得 Hugging Face Spaces 定价的完整概览,请查看这里的指南。
与编码 Agent 合作的提示
- 具体说明要使用的模型和数据集,并包括 Hub ID(例如 Qwen/Qwen2.5-0.5B 和 trl-lib/Capybara)。Agent 将搜索并验证这些组合。
- 如果你想使用 Unsloth,请明确提及。否则,agent 将根据模型和预算选择框架。
- 在启动大型任务之前询问成本估计。
- 请求 Trackio 监控以实时查看损失曲线。
- 通过要求 agent 在提交后检查日志来检查任务状态。
相关资源
- Hugging Face Skills 存储库
- Unsloth Jobs Explorers 免费额度
- Hugging Face Jobs 上的 Unsloth 教程
- Unsloth Jobs 脚本示例
本文提及的模型 1
本文提及的数据集 1
来自我们博客的更多文章
- Codex 开源 AI 模型
- 我们让 Claude 微调了一个开源 LLM
不幸的是,虚假广告。
· 登录或注册以评论
本文提及的模型 1
本文提及的数据集 1