👋 Hi! Bạn cần tư vấn gì về dịch vụ AWS?

Đối với các tác vụ phân tích phức tạp trên hàng trăm tài liệu, kỹ thuật Sinh tăng cường truy vấn (RAG) đang dần bộc lộ giới hạn. Để giải quyết vấn đề này, AWS đã giới thiệu Task-aware knowledge compression (TAKC), một phương pháp nén toàn bộ cơ sở tri thức thành các biểu diễn dành riêng cho từng tác vụ, giúp giảm đáng kể chi phí token và tăng cường khả năng phân tích sâu.

Vượt qua giới hạn của RAG với nén tri thức theo tác vụ (TAKC)

Khi các doanh nghiệp sử dụng RAG cho các nhiệm vụ phân tích phức tạp như thẩm định tài chính hay rà soát tuân thủ pháp lý, họ thường gặp phải một rào cản lớn. Việc tìm kiếm dựa trên sự tương đồng (similarity search) của RAG có thể lấy ra các đoạn thông tin liên quan nhưng lại thường bỏ lỡ các mối liên kết quan trọng giữa nhiều tài liệu khác nhau.

Ví dụ, một công ty cổ phần tư nhân đang thẩm định một thương vụ mua lại trị giá 500 triệu USD. Họ phải phân tích báo cáo tài chính của 12 công ty con trong 5 năm, cùng với hơn 200 hợp đồng nhà cung cấp và 50 vụ kiện pháp lý. Khi một nhà phân tích hỏi về rủi ro tài chính hợp nhất dựa trên các điều khoản nhà cung cấp và các vụ kiện đang chờ xử lý, RAG không thể đưa ra câu trả lời tổng hợp vì các thông tin liên quan nằm rải rác trong hàng trăm tài liệu và không có sự tương đồng về mặt từ vựng.

TAKC giải quyết vấn đề này bằng cách sử dụng một mô hình ngôn ngữ lớn (LLM) để tạo ra các bản tóm tắt ngắn gọn, tập trung vào từng tác vụ cụ thể. Thay vì một bản tóm tắt chung chung, TAKC tạo ra các phiên bản nén khác nhau cho các mục đích khác nhau từ cùng một tài liệu. Ví dụ, một báo cáo thường niên được nén cho mục đích phân tích tài chính sẽ giữ lại các số liệu doanh thu, lợi nhuận, dòng tiền; trong khi phiên bản nén cho mục đích rà soát tuân thủ sẽ tập trung vào các trích dẫn quy định và lịch sử vi phạm.

Quá trình nén này diễn ra offline. Khi có truy vấn, hệ thống sẽ sử dụng phiên bản đã được nén sẵn thay vì tài liệu gốc, giúp giảm số lượng token từ 8 đến 64 lần mà vẫn giữ lại thông tin quan trọng cho tác vụ.

Nén đa tốc độ để tối ưu chi phí và hiệu năng

Các truy vấn khác nhau đòi hỏi mức độ chi tiết khác nhau. Một câu hỏi như “Doanh thu quý 3 là bao nhiêu?” cần ít ngữ cảnh hơn nhiều so với yêu cầu phân tích mối quan hệ giữa các điều khoản thanh toán và dòng tiền.

TAKC giải quyết điều này bằng cách duy trì bốn cấp độ nén cho mỗi loại tác vụ:

  • Nén nhẹ (8x): Giữ lại đủ chi tiết cho các suy luận đa bước và tổng hợp thông tin từ nhiều tài liệu.
  • Nén vừa (16x): Phù hợp cho các truy vấn phân tích có độ phức tạp trung bình.
  • Nén cao (32x): Dành cho các tra cứu thực tế và câu hỏi có phạm vi rõ ràng.
  • Nén cực cao (64x): Thích hợp cho các tác vụ phân loại và tra cứu từ khóa.

Một bộ phân tích độ phức tạp của truy vấn (query complexity analyzer) sẽ tự động định tuyến các câu hỏi đến cấp độ nén phù hợp. Các câu hỏi thực tế đơn giản sẽ được xử lý bởi bộ đệm (cache) nén cực cao với chi phí tối thiểu, trong khi các câu hỏi phân tích phức tạp sẽ sử dụng bộ đệm nén nhẹ. Điều này giúp doanh nghiệp tối ưu hóa chi phí vận hành AI, chỉ sử dụng tài nguyên tính toán lớn khi thực sự cần thiết.

Kiến trúc Serverless trên AWS

Giải pháp TAKC được AWS triển khai dưới dạng hai pipeline serverless tách biệt: một cho việc nhập liệu (ingestion) và một cho việc truy vấn (query). Việc lựa chọn kiến trúc serverless với AWS Lambda là phù hợp tự nhiên vì khối lượng công việc xử lý dữ liệu theo từng đợt và tải truy vấn biến đổi.

Sơ đồ kiến trúc TAKC trên AWS, bao gồm luồng nhập liệu và luồng truy vấn của người dùng.

Pipeline nhập liệu (Ingestion)

Khi một tài liệu được tải lên Amazon S3, một sự kiện S3 sẽ kích hoạt hàm AWS Lambda. Hàm này chia nhỏ tài liệu và gọi các hàm Lambda nén song song. Các hàm nén này sử dụng Amazon Bedrock (với các mô hình như Claude 3 Haiku, Sonnet) để tạo ra 4 cấp độ nén. Các kết quả nén được lưu vào Amazon ElastiCache Serverless để truy cập nhanh và sao lưu vào S3 để đảm bảo độ bền.

Pipeline truy vấn (Query)

Người dùng xác thực qua Amazon Cognito và gửi truy vấn thông qua Amazon API Gateway. Một hàm Lambda sẽ phân tích truy vấn, lấy dữ liệu nén phù hợp từ ElastiCache, và gửi ngữ cảnh nén cùng với câu hỏi đến Amazon Bedrock để thực hiện inference và trả về câu trả lời. AWS WAF được đặt phía trước để bảo vệ API khỏi các mối đe dọa và giới hạn tốc độ truy cập.

Khi nào nên chọn TAKC, RAG, hay cả hai?

Trong thực tế, một hệ thống sản xuất thường được hưởng lợi từ cả hai phương pháp. RAG xử lý hiệu quả các tra cứu nhanh cần truy vết nguồn gốc. TAKC xử lý các truy vấn phân tích sâu mà các phương pháp truy xuất thông thường bỏ lỡ. Một bộ phân tích độ phức tạp truy vấn có thể định tuyến giữa chúng. Đối với các workload yêu cầu cả suy luận đa tài liệu và khả năng kiểm toán, doanh nghiệp có thể kết hợp cả hai: sử dụng TAKC để tạo ra câu trả lời phân tích và dùng RAG để truy xuất các tài liệu nguồn hỗ trợ cho việc kiểm toán.

Bắt đầu triển khai

AWS cung cấp một kiến trúc tham khảo mã nguồn mở hoàn chỉnh, cho phép các doanh nghiệp triển khai trong tài khoản AWS của riêng mình. Giải pháp này được định nghĩa bằng AWS Cloud Development Kit (AWS CDK) và có thể được triển khai bằng một lệnh duy nhất. Các đội ngũ kỹ thuật có thể truy cập kho mã nguồn tại aws-samples/sample-bedrock-takc-compression để bắt đầu thử nghiệm với tài liệu của riêng mình và xem cách hệ thống phản ứng với các loại truy vấn khác nhau.