Tips

LLM-as-a-judge: dùng model chấm model, đúng cách

Tóm tắt

LLM judge đồng thuận với người ở mức ngang hai người với nhau, nên là cách mở rộng đánh giá khả thi. Nhưng phải xử lý thiên lệch vị trí, độ dài, tự đề cao và suy luận yếu, và luôn kiểm định giám khảo bằng mẫu do người chấm.

Bạn sửa prompt và muốn biết chất lượng tốt hơn hay tệ đi. Với output dạng văn bản tự do (tóm tắt, trả lời khách hàng, bài viết), không có đáp án đúng để so khớp, còn nhờ người chấm từng mẫu thì chậm và đắt. Giải pháp phổ biến là LLM-as-a-judge: dùng một model để chấm output của model khác. Nghiên cứu nền tảng của Zheng và cộng sự (2023, nhóm LMSYS với MT-Bench và Chatbot Arena) cho thấy cách này hiệu quả, nhưng cũng chỉ ra các thiên lệch bạn phải biết.

Kết quả chính của nghiên cứu

  • Giám khảo mạnh (GPT-4 thời điểm đó) đạt mức đồng thuận với người đánh giá trên 80%, tương đương mức hai người đánh giá đồng ý với nhau.
  • Như vậy LLM judge là cách mở rộng đánh giá khả thi, dễ giải thích, thay cho việc thuê người chấm toàn bộ.

Ba kiểu chấm

KiểuCách làmHợp với
So sánh cặpCho xem A và B, chọn cái tốt hơnSo hai phiên bản prompt/model
Chấm điểm đơnChấm một output theo thang điểm, rubricTheo dõi chất lượng theo thời gian
Chấm có đáp án tham chiếuĐưa kèm lời giải đúng để đối chiếuToán, logic, câu hỏi có đáp án

Bốn thiên lệch cần biết

Thiên lệchBiểu hiệnKhắc phục
Vị tríƯu tiên câu trả lời đứng trước (hoặc sau)Chấm hai lần, đảo vị trí; chỉ tính thắng khi nhất quán
Độ dàiThích câu trả lời dài hơn dù không tốt hơnRubric ghi rõ không thưởng độ dài; phạt ý thừa
Tự đề caoCó thể ưu ái output của chính model mìnhDùng giám khảo khác họ model, hoặc kiểm tra chéo
Suy luận yếuChấm sai bài toán mà chính giám khảo giải saiĐưa đáp án tham chiếu; cho giám khảo suy luận trước khi chấm

Prompt giám khảo mẫu

Bạn chấm câu trả lời hỗ trợ khách hàng trong <answer>.
Rubric (mỗi mục đạt/không đạt):
1. Trả lời đúng câu hỏi trong <question>
2. Không hứa điều chính sách không cho phép (xem <policy>)
3. Có bước tiếp theo rõ ràng cho khách
Không thưởng điểm cho độ dài. Phân tích ngắn từng mục, sau đó
trả về JSON: {"pass": true/false, "failed": [số mục]}

Kinh nghiệm từ hệ thống Research của Anthropic cũng tương tự: một prompt giám khảo duy nhất, rubric rõ, output điểm 0.0–1.0 kèm đạt/không đạt cho kết quả nhất quán nhất.

Rủi ro và lưu ý

  • Giám khảo cũng cần được kiểm định: lấy 30–50 mẫu có người chấm, đo mức đồng thuận trước khi tin điểm của model.
  • Tối ưu theo giám khảo: sửa prompt chỉ để làm hài lòng giám khảo có thể làm hỏng trải nghiệm thật.
  • Đừng bỏ hẳn người chấm: định kỳ cho người xem mẫu ngẫu nhiên để bắt lỗi giám khảo bỏ sót.

Áp dụng thế nào?

  • Dev: Viết rubric dạng đạt/không đạt theo từng tiêu chí thay vì thang 1–10 mơ hồ; chạy giám khảo trong CI khi đổi prompt.
  • Tech Lead: Hiệu chỉnh giám khảo với bộ mẫu do người chấm; theo dõi tỷ lệ đồng thuận như một chỉ số.
  • PM: Định nghĩa "tốt" bằng tiêu chí kinh doanh cụ thể; đó chính là rubric cho giám khảo.

Nguồn & tham khảo

  1. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena — Zheng et al. (arXiv)
  2. How we built our multi-agent research system — Anthropic Engineering