Tìm hiểu về Retrieval Augmented Generation(RAG) và Fine-tuning

Tìm hiểu về Retrieval Augmented Generation(RAG) và Fine-tuning
Photo by Scott Graham / Unsplash

Hôm nay chúng ta cùng nói về Fine-tuning và Retrieval Augmented Generation (RAG) là hai phương pháp phổ biến nhất hiện nay sử dụng để tối ưu hoá AI. Và mặc dù hai phương pháp có cách tiếp cận khá khác nhau nhưng chúng lại thường được sử dụng cùng nhau để đạt được hiểu quả nhất định tuỳ mục đích sử dụng.

RAG và Fine-tuning

Khi đánh giá sự khác nhau của 2 phương pháp này thì sẽ cần phải xem xét tới 5 vấn đề sau:

I. Loại dữ liệu

Khi làm tối ưu hoá AI bạn cần làm rõ rằng dữ liệu bạn muốn sử dụng để tối ưu hoá của bạn thuộc loại dữ liệu nào, dữ liệu tĩnh (Static) hay Động (Dynamic).

  • RAG: Phù hợp với sử dụng dữ liệu Động (Dynamic) vì nó sẽ liên tục truy vấn các nguồn bên ngoài để đảm bảo thông tin luôn được cập nhập. Phù hợp nếu dự liệu của bạn liên tục cập nhập, có thể thay đổi lập tức mà không cần phải huấn luyện lại. Nhưng yêu cầu phải sử dụng các phương thức Prompts Engineering khác nhau và khá phức tạp.
  • Fine-tuning: Xử lý tốt các dữ liệu tĩnh (Static) vì các mô hình này chỉ cập nhập dữ liệu trong quá trình huấn luyện và có thể sử dụng tiếp tục mà không cần phải sử dụng các phương thức Prompts Engineering phức tạp, tiết kiệm được token. Nhưng khi dữ liệu thay đổi việc huấn luyện lại có thể rất đắt đỏ và tốn thời gian.

II. Kiến thức bên ngoài.

Khi sử dụng mô hình này bạn có cần cho nó khả năng truy cập vào các nguồn thông tin bên ngoài không.

  • RAG: Hợp lý khi sử dụng với các trường hợp như các ứng dụng cần có khả năng truy cập và truy vấn thông tin từ cơ sở dữ liệu hoặc tài liệu.
  • Fine-tuning: Mặc dù vẫn có thể dụng cho các trường hợp cần cập nhập thông tin nhưng nếu các nguồn thông tin đó liên tục thay đổi thì sẽ giảm độ chính xác.

III. Khả năng tuỳ chỉnh của mô hình.

  • RAG: Mặc dù có nhiều ưu điểm như truy cập và cập nhập thông tin liên tục nhưng cũng vì thế mà rất khó đảm bảo được format của dữ liệu đầu ra.
  • Fine-tuning: Cho phép bạn khả năng tuỳ chỉnh hành vi, phong cách, kiến thức để phù hợp với trường hợp sử dụng. Nên dữ liệu đầu ra dễ đoán hơn và có thể theo một số format khác nhau mà bạn muốn.

IV. Chi phí và lợi ích.

  • RAG: Giảm tri phí tích hợp vì không cần phải tối ưu hoá một mô hình để sử dụng vào một mục đích nhất định mà có thể sử dụng nhiều mô hình khác nhau. Nhưng lại rất tốn kém khi tính đến chi phí duy trì, vì phương pháp này sẽ tốn nhiều token trên một lần truy vấn so với phương pháp khác.
  • Fine-tuning: Mỗi lần truy vấn sử dụng ít token hơn vì thể chi phí duy trì sẽ rẻ hơn. Nhưng vì mỗi mô hình sau khi được tối ưu hoá sẽ chỉ dùng vào được mục đích đã định ban đầu vì thế chi phí ban đầu sẽ đắt hơn.

V. Chuyên môn kỹ thuật.

  • RAG: Đòi hỏi trình độ kỹ thuật từ trung bình đến cao để thiết lập cơ sở để truy vấn, tích hợp các nguồn dữ liệu bên ngoài và đảm bảo thông tin đó luôn đáp ứng được nhu cầu.
  • Fine-tuning: Đòi hỏi trình độ cao để có thể chuẩn bị và kiểm soát từ khâu chuẩn bị và khâu kiểm soát dữ liệu huấn luyện, phải có mục tiêu tinh chỉnh và phương pháp quản lý phù hợp

Kết luận

Khi xác định phương pháp tốt nhất cho dự án LLM của mình, điều quan trọng nhất là nên cân nhắc các yêu cầu và giới hạn của từng trường hợp. Cả hai phương pháp đều có điểm mạnh và điểm yếu khác nhau, và sự kết hợp của chúng có thể là giải pháp tối ưu nhất, cho phép bạn khai thác hết khả năng của từng mô hình ngôn ngữ của mình và tạo ra các ứng dụng tốt hơn.