JudgeLM
用微调大模型作 AI 裁判,ICLR 2025 Spotlight 论文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用微调大模型作 AI 裁判,ICLR 2025 Spotlight 论文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你训练了一个自称"超级聪明"的聊天机器人,现在想让它参加一场考试——但出题、阅卷、排名全得自己来。这不是笑话,而是 2023 年大语言模型(LLM)评测的真实困境。传统基准测试(Benchmark)如 MMLU、HellaSwag 等,只能覆盖选择题和填空题,无法衡量"开放域对话"、"创意写作"、"多模态理解"这类真正考验 AI 智商的能力。而人工标注成本高昂,速度慢,无法规模化。
来自北京智源人工智能研究院(BAAI)和华中科技大学的研究团队,在 2023 年 10 月发布了 JudgeLM,首次提出用微调大模型作为可扩展的"AI 裁判",来自动评测其他大模型的开放域回答质量。2025 年 1 月,这项工作被 ICLR 2025 录用为 Spotlight 论文(Spotlight 接受率约 5%),成为 LLM 评测领域的重要里程碑。
简单来说,JudgeLM 是一个被专门训练来"打分"的语言模型。它的工作方式类似于一位知识渊博的考官:给你两道 AI 生成的答案,让 JudgeLM 判断哪道更好,并给出理由打分。
与早期的 PandaLM 等裁判模型相比,JudgeLM 解决了三个核心偏差问题:
JudgeLM 不只是一个模型,而是一套完整的评测平台,涵盖训练、推理服务、Web 界面三大模块。
JudgeLM 的服务架构参考了 FastChat 的设计,由三个核心组件构成:
这种架构的优势在于横向扩展:可以同时部署多个 JudgeLM 模型变体(如 7B、13B、33B),通过 Controller 统一调度,用户无需关心底层模型分布。
JudgeLM 不仅能评判"两个答案哪个更好"(Pairwise Comparison),还支持:
JudgeLM 提供了三个规模的模型,在多个基准上取得了 SOTA 表现:
| 模型 | 带参考答案 | 与 GPT-4 的一致率 | 精确率 | 召回率 | F1 |
|---|---|---|---|---|---|
| JudgeLM-7B | 否 | 81.11% | 69.67% | 78.39% | 72.21 |
| JudgeLM-7B | 是 | 84.08% | 75.92% | 82.55% | 78.28 |
| JudgeLM-13B | 否 | 84.33% | 73.69% | 80.51% | 76.17 |
| JudgeLM-13B | 是 | 85.47% | 77.71% | 82.90% | 79.77 |
| JudgeLM-33B | 否 | 89.03% | 80.97% | 84.76% | 82.64 |
| JudgeLM-33B | 是 | 89.32% | 84.00% | 86.21% | 84.98 |
33B 模型与 GPT-4 裁判的一致率高达 89.32%,超越了人类标注者之间的一致率水平。
JudgeLM 的代码库采用了清晰的分层架构:
judgelm/train/:训练代码,基于 Vicuna(LLaMA 微调版),支持 FSDP 分布式训练和 Flash Attention 加速。提供了针对不同硬件(V100/A100)的多种训练脚本。judgelm/serve/:推理服务代码,Controller-Worker 分布式架构,Gradio 前端,OpenAI 兼容 API(openai_api_server.py)。judgelm/llm_judge/:评测执行代码,支持 JudgeLM Benchmark 和 MM-Vet 评测。judgelm/model/:模型适配层,支持 LLaMA、ChatGLM、Falcon、T5、Codet5p、RWKV 等多种基座模型的加载和 Delta 权重合并。核心依赖包括:PyTorch 2.0.1、Transformers 4.28.1、Accelerate、PEFT(LoRA 微调)、Gradio、FastAPI、Ray(分布式调度)、WandB(训练可视化)。
JudgeLM 通过 pip install -e . 安装,但有几个关键注意事项:
flash-attn==2.0.4,V100 用户需改用 xFormers 版本。部署需要三步独立启动(无法一键启动):
# 终端 1:启动控制器
python -m judgelm.serve.controller
# 终端 2:启动模型 Worker
python -m judgelm.serve.model_worker --model-path /path/to/judgelm-7b --num-gpus 1 --port 21003
# 终端 3:启动 Gradio 前端
python -m judgelm.serve.gradio_web_server_judgelm
对于批量评测场景,需先准备 JSONL 格式的答案文件,再执行预处理和推理脚本。JudgeLM 提供了 100K 条训练数据和 5K 条验证数据的 HuggingFace 数据集。
尽管 JudgeLM 取得了 SOTA 性能,仍存在一些值得关注的问题:
JudgeLM 的出现标志着 LLM 评测从"人工阅卷"时代进入"模型互评"时代。它证明了一个经过精心设计的裁判模型,可以在多个任务和模型规模上与 GPT-4 裁判媲美,且效率更高(7B 模型 8 卡 A100 3 分钟评测 5000 条样本)。
ICLR 2025 Spotlight 的录用也反映了学术界对"可扩展 AI 评测"这一方向的重视。未来会有更多工作探索用更小的裁判模型达到 GPT-4 级别的评测质量,以及将 LLM-as-a-Judge 应用于更垂直的领域(如代码评测、数学推理、医疗问答)。