Hallucination là model sinh ra thông tin nghe hợp lý nhưng sai hoặc không có trong nguồn. Hai loại cần tách bạch vì cách xử lý khác nhau:
- Nội tại — mâu thuẫn với chính ngữ cảnh đã cung cấp. Đây là loại nghiêm trọng nhất trong RAG, vì tài liệu đúng nằm ngay đó mà model vẫn nói khác.
- Ngoại tại — khẳng định điều không có trong ngữ cảnh, không thể kiểm bằng ngữ cảnh.
Cách phát hiện, xếp theo mức thực dụng:
- Kiểm faithfulness với ngữ cảnh (cho RAG) — cách chính. Tách câu trả lời thành từng mệnh đề rồi hỏi model giám khảo: mệnh đề này có căn cứ trong ngữ cảnh không. Điểm = số mệnh đề có căn cứ / tổng số. Ưu điểm lớn là không cần đáp án chuẩn, nên chạy được ngay trên production.
- Suy diễn logic bằng model NLI nhỏ — thay vì gọi LLM giám khảo, dùng một model NLI cỡ nhỏ kiểm từng câu có được ngữ cảnh kéo theo không. Rẻ và nhanh hơn nhiều lần, hợp để quét toàn bộ traffic thay vì chỉ quét mẫu.
- Self-consistency — hỏi lại cùng một câu nhiều lần ở temperature cao rồi so các câu trả lời; mâu thuẫn nhiều là dấu hiệu model đang bịa. Dùng được khi không có ngữ cảnh để đối chiếu, đổi lại tốn nhiều lời gọi.
- Kiểm thực thể — trích tên riêng, con số, ngày tháng trong câu trả lời rồi đối chiếu ngược với ngữ cảnh. Đơn giản nhưng hiệu quả cao, vì phần lớn hallucination gây hại nằm ở con số cụ thể.
- Xác suất token — trung bình log-prob tụt thường đi kèm bịa. Chỉ dùng được khi tự vận hành model và đọc được logprob.
Giảm hallucination — quan trọng hơn phát hiện:
- Siết chỉ dẫn: chỉ trả lời dựa trên ngữ cảnh, thiếu thì nói không biết.
- Bắt trích nguồn theo từng ý. Đây là biện pháp hiệu quả nhất trên mỗi công bỏ ra: model buộc phải chỉ ra chỗ dựa, và người đọc kiểm lại được.
- Đặt temperature về 0 cho việc cần chính xác.
- Cải thiện chính RAG (hybrid search, rerank, cắt bớt ngữ cảnh nhiễu) — phần lớn ca "model bịa" thật ra là "ngữ cảnh không chứa thông tin đó".
- Hai lượt: sinh xong cho model tự soát lại rồi sửa.
Trên production: lấy mẫu ngẫu nhiên hằng ngày, chấm faithfulness tự động, theo dõi theo tuần và cảnh báo khi tụt quá ngưỡng. Đừng chờ người dùng báo.