Các bài đánh giá của bạn cũng không ổn định: Đừng tin vào tỷ lệ đạt mà bạn không thể tái lập

Hầu hết mọi người đều biết các AI agent là không xác định (non-deterministic). Bạn gửi cùng một prompt, nhưng nhận được các kết quả đầu ra khác nhau.

Chúng tôi chấp nhận điều này. Chúng tôi bắt đầu sử dụng các LLM làm giám khảo để chấm điểm các agent này.

Nhưng chúng tôi đã mắc một sai lầm lớn. Chúng tôi đã giả định rằng các giám khảo của mình là mang tính xác định. Thực tế không phải vậy.

Bộ đánh giá của bạn là một hệ thống ngẫu nhiên đang chấm điểm một hệ thống ngẫu nhiên khác. Nếu bạn không đo lường mức độ dao động của bộ chấm điểm, bạn không có một cổng kiểm soát chất lượng. Bạn chỉ đang tung đồng xu mà thôi.

Tôi đã chứng kiến điều này xảy ra với một agent hỗ trợ. Dashboard vẫn hiển thị màu xanh trong nhiều tuần. Sau đó, các khiếu nại của khách hàng tăng vọt. Tôi đã chạy cùng một bài đánh giá trên 200 phản hồi cũ. 14 trong số đó đã thay đổi kết luận. Agent không hề thay đổi. Chỉ có giám khảo là thay đổi ý định.

Một cổng kiểm soát không ổn định còn tệ hơn là không có cổng nào cả. Nó mang lại cho bạn sự tự tin giả tạo.

Có ba lý do khiến các bài đánh giá của bạn thất bại:

  • Mô hình giám khảo: Mọi LLM giám khảo đều có sự biến thiên. Ngay cả ở temperature 0, các nhà cung cấp cũng không đảm bảo cùng một kết quả. Một bản cập nhật mô hình âm thầm có thể phá hủy mức cơ sở (baseline) của bạn chỉ sau một đêm.
  • Môi trường thực thi (harness): Nếu ngữ cảnh hoặc đầu ra của công cụ thay đổi giữa các lần chạy, giám khảo sẽ thấy một câu hỏi khác. Đầu vào đã bị trôi (drifted).
  • Tiêu chí đánh giá (rubric): Những quy tắc mơ hồ như "cái này có tốt không?" sẽ tạo ra sự biến thiên. Những quy tắc chặt chẽ, cụ thể sẽ giảm thiểu điều đó.

Bạn phải đối xử với các bài đánh giá không ổn định giống như các bài kiểm thử phần mềm không ổn định. Đừng triển khai chúng. Hãy cách ly chúng. Hãy đo lường tỷ lệ không ổn định (flake rate).

Đừng chỉ báo cáo một tỷ lệ đạt duy nhất nữa. Hãy bắt đầu báo cáo độ thống nhất (agreement).

Hãy chạy mỗi lần gọi giám khảo nhiều lần. Nếu giám khảo không thể tự thống nhất với chính mình, thì kết luận đó không phải là một tín hiệu. Nó là UNSTABLE (không ổn định).

Một kết quả UNSTABLE nên là một kết quả quan trọng trong pipeline CI/CD của bạn. Nó phải báo lỗi một cách rõ ràng.

Để khắc phục một bài đánh giá không ổn định, bạn cần hai thứ:

  1. Một lớp chấm điểm (scoring layer): Lớp này tính toán độ ổn định và chuyển đổi kết quả thành PASS, FAIL, hoặc UNSTABLE.
  2. Một lớp truy vết (tracing layer): Bạn phải thấy được các byte thô, prompt chính xác và đầu ra của công cụ cho mỗi lần chạy.

Nếu không có truy vết, bạn sẽ nghĩ rằng mô hình chỉ là ngẫu nhiên. Bạn sẽ giảm temperature xuống và nghĩ rằng mình đã khắc phục được nó. Bạn không hề khắc phục được gì cả. Bạn chỉ đang làm cho lỗi đó trở nên "âm thầm" hơn mà thôi.

Hãy tuân theo các quy tắc này để xây dựng chất lượng thực sự:

  • Báo cáo độ thống nhất, không chỉ là các giá trị trung bình.
  • Biến UNSTABLE thành một trạng thái thất bại (failing state) trong pipeline của bạn.
  • Cố định (pin) các phiên bản mô hình giám khảo của bạn.
  • Đọc các bản truy vết khi một lần kiểm tra thất bại.

Một dashboard hiển thị màu xanh mà bạn không thể tái lập không phải là một tín hiệu. Đó chỉ là một câu chuyện mà bạn tự kể cho chính mình nghe.

Source: https://dev.to/saurav_bhattacharya/your-evals-are-flaky-too-stop-trusting-a-pass-rate-you-cant-reproduce-6pk

Optional learning community: https://t.me/GyaanSetuAi