首页 / 资料库 / Hugging Face · 小模型课

资料库4 分钟读完Apache-2.0偏好对齐Hugging Face小模型课

提交你的结课项目

译自《Submit your final project!》 · 查看英文原文

原文出处Submit your final project! 原作者:Hugging Face · 许可证:Apache-2.0 License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与 Hugging Face 所有。

提交你的结课项目!

到了提交 DPO 对齐模型的时候了!本单元沿用与第一单元相同的、基于排行榜的提交系统。计划如下:

  1. 通读本单元的图文教程 ✅
  2. 运用本章所学,训练一个模型。
  3. 把模型推送到 Hugging Face Hub。
  4. hf jobs 评估模型。
  5. 在排行榜上开一个拉取请求(pull request,PR)。

这一页会带你逐步走完每个环节。

1. 阅读图文教程 & 2. 训练模型

关于第三单元的提交,你应当读完本单元的全部材料,并用 DPO 训练出一个偏好对齐模型。训练代码在这里:

你需要把它与第一单元的《用 Hugging Face Jobs 训练》里的技术结合使用。

3. 把模型推送到 Hugging Face Hub

训练好 DPO 对齐模型后,要把它推送到 Hugging Face Hub 上的一个仓库(repo)。只要在训练命令里加上 --push_to_hub 参数,TRL 就会自动帮你完成这一步。

带 Hub 上传的 DPO 训练:

bash hf jobs uv run \ --flavor a100-large \ --secrets HF_TOKEN \ "https://raw.githubusercontent.com/huggingface/trl/main/trl/scripts/dpo.py" \ --model_name_or_path HuggingFaceTB/SmolLM3-3B \ --dataset_name Anthropic/hh-rlhf \ --learning_rate 5e-7 \ --beta 0.1 \ --max_steps 1000 \ --push_to_hub \ --hub_model_id your-username/smollm3-dpo-aligned \ --report_to trackio

训练好的模型会出现在 your-username/your-model-name 下。详细文档见 transformers检查点(checkpoint)文档

4. 用 hf jobs 评估模型

接下来评估你的 DPO 对齐模型。我们用 hf jobs 跑评估,配合 lighteval 使用,再把评估结果推送成 Hub 上的一个数据集(dataset)。

提示:DPO 评估选的任务会同时考察对齐在有用性(helpfulness)和安全性(safety)两面的表现,包括 truthfulqagsm8k 和其他以对齐为核心的基准。

bash hf jobs uv run \ --flavor a10g-large \ --with "lighteval[vllm]" \ --secrets HF_TOKEN \ lighteval vllm "model_name=<your-username>/<your-model-name>" \ "lighteval|truthfulqa:mc2|0|0,lighteval|hellaswag|0|0,lighteval|arc:challenge|0|0" \ --push-to-hub --results-org <your-username>

这条命令会用 lightevalvllm 评估模型,并把结果存到 Hugging Face Hub 上你指定的一个数据集仓库里。

提示:第三单元聚焦对齐评估,评估这个话题会在第二单元做更详细的展开。DPO 评估的关键基准包括: - TruthfulQA:考察回答是否真实、诚实 - GSM8K:数学推理与有用性 - MMLU:跨领域的知识广度与有用性

5. 在排行榜 Space 上开拉取请求

现在你可以把 DPO 对齐模型提交到排行榜了!要做两件事:

  1. 把你模型的结果加进 submissions.json
  2. 在 PR 正文里分享你的训练和评估命令。

把模型结果加进 submissions.json

排行榜 Space上开一个 pull request 来提交你的模型。你只需填上模型信息,并引用你上一步创建的数据集,我们会拉取结果并展示到排行榜上。

```json { "submissions": [

    ... // 已有的提交

    {
        "username": "<your-username>",
        "model_name": "<your-model-name>", 
        "chapter": "3",
        "method": "DPO",
        "submission_date": "<your-submission-date>",
        "results-dataset": "<your-results-dataset>",
        "base_model": "HuggingFaceTB/SmolLM3-3B",
        "preference_dataset": "Anthropic/hh-rlhf"
    }
]

} ```

在 PR 正文里分享训练和评估命令

在 PR 正文里同时贴上你的训练命令和评估命令。

等待 PR 合并

PR 一经合并,你的 DPO 对齐模型就会进入排行榜!排行榜见这里

检验你的知识

你学完了本单元,干得漂亮!现在去做测验,检验学习成果。

资源与延伸阅读

祝你的 DPO 偏好对齐提交顺利!🚀

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课