Retrieval Augmented Generation (RAG) là một kỹ thuật tiên tiến trong trí tuệ nhân tạo (AI) được thiết kế để nâng cao chất lượng và độ tin cậy của các phản hồi do Large Language Models (LLM) tạo ra. Nó hoạt động bằng cách kết hợp các khả năng tạo ra của LLM với hệ thống truy xuất thông tin. Trước khi tạo phản hồi, hệ thống RAG trước tiên sẽ truy xuất các đoạn thông tin có liên quan từ một nguồn kiến thức được xác định trước (như tài liệu nội bộ của công ty, cơ sở dữ liệu cụ thể hoặc web). Sau đó, ngữ cảnh đã truy xuất này được cung cấp cho LLM cùng với truy vấn gốc của người dùng, cho phép mô hình tạo ra các câu trả lời chính xác hơn, cập nhật hơn và dựa trên dữ liệu thực tế, do đó giảm thiểu các vấn đề như ảo giác . Phương pháp tiếp cận này cải thiện LLM tiêu chuẩn bằng cách cho phép chúng truy cập và sử dụng thông tin hiện tại bên ngoài ngoài dữ liệu đào tạo ban đầu của chúng.
Cách thức hoạt động của Retrieval Augmented Generation
Quy trình RAG thường bao gồm hai giai đoạn chính:
- Truy xuất: Khi người dùng cung cấp lời nhắc hoặc truy vấn, trước tiên hệ thống sẽ tìm kiếm thông tin có liên quan trong cơ sở kiến thức đã chỉ định. Cơ sở kiến thức này có thể là tập hợp các tài liệu, trang web hoặc mục nhập trong cơ sở dữ liệu vector . Cơ chế truy xuất thường sử dụng các kỹ thuật như tìm kiếm ngữ nghĩa để tìm các đoạn văn bản có liên quan theo ngữ cảnh đến truy vấn, không chỉ là các từ khóa khớp. Các đoạn trích được truy xuất này đóng vai trò là nền tảng ngữ cảnh cho giai đoạn tiếp theo. Quá trình này thường tận dụng các nhúng để biểu diễn ý nghĩa của cả truy vấn và tài liệu.
- Generation: Truy vấn gốc và các đoạn trích ngữ cảnh được lấy ra được kết hợp thành một lời nhắc tăng cường. Lời nhắc tăng cường này sau đó được đưa vào LLM. LLM sử dụng cả truy vấn và ngữ cảnh được cung cấp để tạo ra phản hồi. Điều này đảm bảo câu trả lời không chỉ có liên quan đến truy vấn mà còn được thông báo bởi thông tin được lấy ra, thường là thông tin hiện tại hoặc cụ thể hơn. Công trình cơ bản về RAG đã được trình bày chi tiết trong bài báo " Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks ".
Lợi ích và ứng dụng
RAG có một số lợi thế so với việc chỉ sử dụng LLM tiêu chuẩn:
- Độ chính xác và độ tin cậy được cải thiện: Bằng cách dựa trên các phản hồi trong dữ liệu thực tế đã thu thập, RAG làm giảm đáng kể khả năng LLM tạo ra thông tin không chính xác hoặc bịa đặt ( ảo giác ). Điều này làm tăng sự tin tưởng của người dùng và độ chính xác của toàn bộ hệ thống.
- Truy cập thông tin hiện tại: LLM thường được đào tạo trên các tập dữ liệu tĩnh, nghĩa là ngưỡng kiến thức của họ ngăn họ biết về các sự kiện hoặc dữ liệu xuất hiện sau khi đào tạo . RAG cho phép các mô hình truy cập và kết hợp thông tin mới nhất từ các nguồn bên ngoài mà không cần đào tạo lại liên tục.
- Tính đặc thù của lĩnh vực: RAG có thể được cấu hình để truy xuất thông tin từ các cơ sở kiến thức cụ thể, được quản lý (ví dụ: wiki nội bộ của công ty, tài liệu kỹ thuật, tập dữ liệu cụ thể). Điều này cho phép LLM cung cấp câu trả lời ở cấp độ chuyên gia trong các lĩnh vực chuyên biệt.
- Tăng cường tính minh bạch: Vì phản hồi được tạo ra dựa trên các tài liệu đã truy xuất, nên thường có thể trích dẫn nguồn, cung cấp cho người dùng tính minh bạch và khả năng xác minh thông tin. Điều này phù hợp với các nguyên tắc về AI có thể giải thích (XAI) và đạo đức AI .
- Hiệu quả về mặt chi phí: Việc cập nhật cơ sở kiến thức cho RAG thường rẻ hơn và nhanh hơn nhiều so với việc đào tạo lại hoặc tinh chỉnh một mô hình ngôn ngữ lớn.
Ví dụ thực tế:
- Chatbot hỗ trợ khách hàng: Một công ty có thể sử dụng RAG để hỗ trợ chatbot. Khi khách hàng đặt câu hỏi, hệ thống sẽ lấy thông tin có liên quan từ hướng dẫn sử dụng sản phẩm, Câu hỏi thường gặp và bài viết trong cơ sở kiến thức của công ty. Sau đó, LLM sử dụng ngữ cảnh này để tạo ra câu trả lời chính xác và hữu ích, có khả năng tích hợp với các nền tảng như Zendesk .
- Tìm kiếm doanh nghiệp và quản lý kiến thức: Nhân viên có thể truy vấn các tài liệu nội bộ của công ty được lưu trữ trong các hệ thống như SharePoint hoặc các cơ sở dữ liệu khác. RAG truy xuất các phần có liên quan từ các kho lưu trữ tài liệu có khả năng rất lớn và tổng hợp các câu trả lời, giúp nhân viên tìm thông tin nhanh chóng mà không cần phải sàng lọc thủ công qua các tài liệu.
RAG so với các khái niệm liên quan
Sẽ rất hữu ích khi phân biệt RAG với các phương pháp khác được sử dụng để nâng cao hiệu suất LLM:
- Tinh chỉnh : Tinh chỉnh điều chỉnh LLM được đào tạo trước thành một nhiệm vụ hoặc miền cụ thể bằng cách tiếp tục quá trình đào tạo trên một tập dữ liệu chuyên biệt nhỏ hơn. Không giống như RAG, tinh chỉnh điều chỉnh trọng số bên trong của mô hình. Tinh chỉnh tốt cho việc điều chỉnh phong cách hoặc học các nhiệm vụ cụ thể, trong khi RAG tốt hơn cho việc kết hợp kiến thức thực tế, cập nhật. Các kỹ thuật như Tinh chỉnh hiệu quả tham số (PEFT) cung cấp các biến thể của phương pháp tiếp cận này.
- Kỹ thuật nhắc nhở : Điều này liên quan đến việc cẩn thận tạo ra lời nhắc đầu vào được đưa cho LLM để gợi ra phản hồi mong muốn. Trong khi RAG kết hợp ngữ cảnh đã truy xuất vào lời nhắc, kỹ thuật nhắc nhở tập trung vào việc cấu trúc truy vấn và hướng dẫn của người dùng theo cách thủ công.
- Làm giàu thông tin theo lời nhắc : Tương tự như RAG trong việc tăng cường thông tin theo lời nhắc, làm giàu thông tin theo lời nhắc có thể thêm ngữ cảnh từ lịch sử người dùng hoặc luồng hội thoại, nhưng RAG tập trung cụ thể vào việc truy xuất dữ liệu thực tế bên ngoài từ cơ sở kiến thức để làm cơ sở cho quá trình tạo dữ liệu.
Các khuôn khổ như LangChain và LlamaIndex cung cấp các công cụ để xây dựng các đường ống RAG và các ứng dụng LLM phức tạp khác.
RAG đại diện cho một bước tiến quan trọng hướng tới việc tạo ra các hệ thống AI đáng tin cậy và hiểu biết hơn, thu hẹp khoảng cách giữa sức mạnh tạo ra khổng lồ của LLM và nhu cầu về độ chính xác thực tế và khả năng tiếp cận thông tin động. Mặc dù chủ yếu được sử dụng với văn bản, ý tưởng cốt lõi là tăng cường tạo ra thông tin đã thu thập được về mặt khái niệm có thể áp dụng cho các lĩnh vực khác. Ví dụ, trong thị giác máy tính (CV) , người ta có thể hình dung việc thu thập các ví dụ trực quan hoặc siêu dữ liệu có liên quan để hướng dẫn tạo hoặc phân tích hình ảnh, mặc dù đây vẫn là một lĩnh vực nghiên cứu mới nổi. Các nền tảng như Ultralytics HUB giúp quản lý các mô hình và tập dữ liệu, đây là các thành phần quan trọng có thể đóng vai trò là nguồn kiến thức trong các ứng dụng RAG đa phương thức trong tương lai liên quan đến các mô hình như Ultralytics YOLO . Việc khám phá các tập dữ liệu thị giác máy tính có sẵn có thể cung cấp thông tin chi tiết về loại thông tin có cấu trúc có thể hữu ích cho các hệ thống như vậy.