Hugging Face Hub 本地模型评估
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/huggingface-community-evals。
技能介绍
要解决什么问题
你在 Hugging Face Hub 上挑了一个 checkpoint,想在本地硬件上跑 MMLU、GSM8K 或排行榜同款基准,而不是先搭一套远程 Jobs 编排。难点往往不在「能不能跑」,而在框架选型(inspect-ai 还是 lighteval)、推理后端(vLLM、Transformers、accelerate)以及 OOM 时的回退路径。
技能如何工作
本技能把本地评估收敛成三条脚本路径,并用「先烟雾、再扩规模」约束执行顺序:
- inspect-ai + Inference Providers:模型已被提供商覆盖、且任务已在 inspect-evals 里时,用
scripts/inspect_eval_uv.py,本地依赖最轻。 - inspect-ai + 本地 GPU:需要直接加载 Hub 权重或 vLLM 不支持架构时,用
scripts/inspect_vllm_uv.py,优先--backend vllm,否则--backend hf。 - lighteval + 本地 GPU:任务以
suite|task|num_fewshot字符串表达(如leaderboard|mmlu|5)时,用scripts/lighteval_vllm_uv.py,优先 vLLM,回退accelerate。
推荐工作流:先选框架 → 选后端 → 烟雾测试(inspect 加 --limit 10,lighteval 加 --max-samples 10)→ 通过后再全量。受限/私有模型需配置 HF_TOKEN;自定义建模代码常需 --trust-remote-code。本地执行优先 uv run;无 nvidia-smi 时可走提供商路径或改交接远程。
边界与注意点
不涵盖:Hugging Face Jobs 编排、model card / model-index 编辑、.eval_results 生成与发布、PR 或 community-evals 自动化。远程跑同一套脚本与参数应交接 hugging-face-jobs;要把结果纳入 community evals 发布流程,评估跑完后停止,发布交给 ~/code/community-evals。13B+ 全量本地评估通常需要高显存 GPU,否则更适合远程。
使用场景
- 在合并或发布 Hub 模型前,用 inspect-ai 对 `mmlu`、`gsm8k` 等任务做 `--limit 10` 本地烟雾测试,确认权重与任务配置可跑通
- 排行榜任务已写成 `leaderboard|mmlu|5` 这类 lighteval 字符串,需要在单机 GPU 上先小规模 `--max-samples 10` 再决定是否全量
- 目标架构 vLLM 不支持或 OOM,需要在同一套 inspect/lighteval 脚本里切换到 `--backend hf` 或 `accelerate` 完成兼容回退
- 本地脚本与参数已调通,但 13B+ 全量评估显存不够,要把同一命令交接给 hugging-face-jobs 在远程硬件上执行
适合人员
- 负责 Hub 模型发版的 ML 工程师,需要在本地用 inspect-ai 或 lighteval 跑通基准后再考虑远程 Jobs
- 复现 Open LLM Leaderboard 风格分数的研究员,习惯用 `suite|task|num_fewshot` 在自有 GPU 上对照 checkpoint
- 维护 gated/私有仓库的推理同学,已配置 `HF_TOKEN`,要在本地验证 `--trust-remote-code` 与后端选择再扩规模
- 做 community evals 流程的协作者:只负责本地跑出评估结果,发布与 PR 由 `~/code/community-evals` 侧接手