Benchmark là bộ đề chuẩn hoá (dataset công khai + metric cố định) để so sánh model. Ba cái được hỏi nhiều nhất:
- MMLU — kiến thức đa lĩnh vực: ~16k câu trắc nghiệm A/B/C/D trải 57 môn (luật, y, sử, toán, CS). Chấm bằng accuracy; đoán bừa đã được 25%.
- GSM8K — 8.5k bài toán đố cấp tiểu học, đo khả năng suy luận từng bước chứ không phải tính nhẩm.
- HumanEval — 164 bài viết hàm Python từ docstring. Chấm bằng pass@k: xác suất có ít nhất một lời giải qua unit test trong k lần thử.
Hạn chế — phần này quan trọng hơn con số:
- Nhiễm dữ liệu (contamination): model train trên internet có thể đã thấy chính đề thi, điểm bị thổi lên mà rất khó kiểm chứng.
- Bão hoà: cả ba đều đã có model vượt 90% nên không còn phân biệt được model mạnh.
- Định luật Goodhart: khi một chỉ số thành mục tiêu, nó thôi là thước đo tốt — tối ưu vào benchmark không đồng nghĩa tốt hơn ngoài đời.
- Lệch định dạng: trắc nghiệm khác câu hỏi mở; viết một hàm nhỏ khác hẳn việc sửa bug trong codebase thật.
- Gần như chỉ có tiếng Anh; sang ngôn ngữ khác điểm tụt đáng kể.
Các benchmark mới sinh ra để chống đúng hai vấn đề đầu: GPQA (câu cấp tiến sĩ, không tra Google ra), SWE-bench (issue GitHub thật — phải đọc repo rồi sinh patch), Chatbot Arena (người dùng bỏ phiếu mù giữa hai câu trả lời, quy ra điểm Elo).
Dùng sao cho đúng: đừng đọc điểm tuyệt đối mà so tương đối model A với B; xem nhiều benchmark gần với việc mình làm; và quan trọng nhất là tự dựng bộ đề riêng trên dữ liệu production, vì không benchmark công khai nào khớp bài toán của bạn.