RAG Evaluation: Đánh Giá Chất Lượng Retrieval Augmented Generation

Kiến trúc pipeline RAG với các thành phần retrieval và generation

Retrieval Augmented Generation (RAG) là kiến trúc kết hợp tìm kiếm thông tin từ cơ sở dữ liệu ngoài và sinh nội dung bằng mô hình ngôn ngữ lớn. Thay vì chỉ dựa vào kiến thức có sẵn trong trọng số mô hình, RAG truy xuất tài liệu liên quan trước khi trả lời, giúp giảm hiện tượng ảo giác (hallucination) và cập nhật kiến thức mới nhất mà không cần fine-tune lại toàn bộ mô hình.

Việc đánh giá RAG trở nên quan trọng vì kiến trúc này có nhiều thành phần phụ thuộc lẫn nhau: hệ thống chunking, embedding model, vector database, retriever và generator. Một điểm yếu ở bất kỳ thành phần nào đều có thể làm giảm chất lượng đầu ra tổng thể. Đánh giá giúp phát hiện bottleneck và tối ưu từng khâu một cách có dữ liệu.

Các metric đánh giá RAG

Bảng so sánh các metric đánh giá retrieval và generation trong RAG

Đánh giá RAG chia thành hai nhóm chính: retrieval metrics và generation metrics. Retrieval metrics đo chất lượng khâu tìm kiếm thông tin, còn generation metrics đo chất lượng câu trả lời cuối cùng. Mỗi nhóm có mục tiêu riêng và không thể thay thế cho nhau.

Retrieval metrics

  • Precision@K: Tỷ lệ tài liệu liên quan trong top K kết quả trả về. Cao cho thấy retriever ít trả về tài liệu nhiễu. Precision@5 thường dùng để đánh giá nhanh, trong khi Precision@10 phù hợp ứng dụng cần bao phủ rộng hơn.
  • Recall@K: Tỷ lệ tài liệu liên quan thực tế được tìm thấy trong top K. Cao cho thấy retriever không bỏ sót nguồn quan trọng. Recall@10 thường đạt trên 80% trong hệ thống RAG tốt.
  • MRR (Mean Reciprocal Rank): Trung bình nghịch đảo của vị trí tài liệu liên quan đầu tiên. Giá trị càng cao càng tốt, phản ánh retriever ưu tiên đúng nguồn. MRR hữu ích khi chỉ cần một tài liệu liên quan nhất.
  • NDCG: Normalized Discounted Cumulative Gain, đo sự liên quan theo thứ hạng có xét mức độ liên quan. NDCG phức tạp hơn Precision/Recall nhưng bắt chước cách người dùng đánh giá kết quả tìm kiếm tốt hơn.

Generation metrics

  • Faithfulness (tính trung thành): Mức độ câu trả lời dựa trên ngữ cảnh được cung cấp, không thêm thông tin không có trong tài liệu nguồn. Metric này quan trọng nhất vì trực tiếp đo lường hallucination. Nhiều nghiên cứu cho thấy RAG thường vẫn sinh ra thông tin sai dù retriever hoạt động tốt, do generator tự do diễn giải ngữ cảnh.
  • Answer relevance: Mức độ câu trả lời liên quan đến câu hỏi gốc. Câu trả lời có thể trung thành với ngữ cảnh nhưng không trả lời đúng câu hỏi nếu retriever trả sai tài liệu. Kết hợp answer relevance với retrieval recall giúp phân biệt lỗi đến từ bước nào trong pipeline.
  • Context precision/recall: Tỷ lệ ngữ cảnh thực tế được sử dụng trong câu trả lời so với ngữ cảnh được cung cấp. Giúp phát hiện generator bỏ sót hoặc lạm dụng thông tin. Context precision cao cho thấy generator không lấy thông tin không liên quan từ retriever.

Công cụ đánh giá RAG

Nhiều framework hỗ trợ đánh giá RAG tự động. LlamaIndex cung cấp module LlamaIndex.rag.evaluation với các metric tích hợp sẵn. LangChain có LangSmith để theo dõi và đánh giá pipeline qua dashboard. Các công cụ mã nguồn mở khác như RAGAS tập trung vào faithfulness và answer relevance, trong khi TruLens cung cấp báo cáo trực quan chi tiết từng bước trong pipeline.

Khi chọn công cụ, ưu tiên tích hợp với vector database và LLM provider hiện tại. Đánh giá cần chạy trên test dataset riêng biệt, không dùng dữ liệu huấn luyện. Dataset nên bao gồm câu hỏi thực tế người dùng đặt, kèm câu trả lời chuẩn do chuyên gia đánh giá. Có thể bắt đầu với 50-100 cặp câu hỏi-trả lời, mở rộng dần khi cần chi tiết hơn.

Thách thức khi đánh giá RAG

Thách thức lớn nhất là thiếu ground truth chuẩn xác cho nhiều lĩnh vực chuyên sâu. Câu trả lời “đúng” thường phụ thuộc ngữ cảnh và không phải lúc nào cũng có một câu trả lời duy nhất. Một số metric như faithfulness có thể bị đánh lừa bởi câu trả lời nghe hợp lý nhưng không thực sự dựa trên ngữ cảnh.

Thách thức khác là chi phí đánh giá. Mỗi lần chạy pipeline RAG tốn chi phí LLM API call cho hàng trăm câu hỏi. Cần cân bằng giữa tần suất đánh giá và ngân sách. Nên chạy đánh giá tự động mỗi khi thay đổi embedding model, chunking strategy hoặc prompt template, thay vì đánh giá liên tục. Một số đội ngũ chọn đánh giá hàng tuần với dataset cố định, báo cáo trend qua dashboard.

Tài liệu LlamaIndex về đánh giá RAG cung cấp hướng dẫn chi tiết triển khai metric phổ biến.

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

So sánh tốc độ và RAM usage của Phi-3.5-mini, Gemma 2 2B, Qwen2.5 3B trên Raspberry Pi 5

So sánh SLM trên thiết bị biên Phi-3.5-mini Gemma 2 2B Qwen2.5 3B

Giới thiệu về Small Language Models (SLMs) Small Language Models (SLMs) đang trở thành xu hướng mới trong lĩnh vực AI cho thiết bị biên (Edge AI) với kích thước…

Xem thêm

RAG là gì: Retrieval Augmented Generation cho AI hiện đại

RAG: Retrieval Augmented Generation nâng cấp LLM RAG (Retrieval Augmented Generation) là kỹ thuật kết hợp truy xuất tài liệu từ cơ sở tri thức bên ngoài với khả năng…

Xem thêm

TinyML: Chạy Machine Learning Trên Vi Điều Khiển Siêu Nhỏ

TinyML là gì? TinyML là nhánh trí tuệ nhân tạo intelligence chạy trực tiếp trên vi điều khiển siêu nhỏ — những chip có RAM chỉ vài KB, không cần…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất