Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp với đề tài "Tìm hiểu Retrieval Augmented Generation (RAG) và ứng dụng cho bài toán trả lời các câu hỏi" được thực hiện bởi hai sinh viên Trần Văn Thắng (MSSV: 20133121) và Trần Minh Đức (MSSV: 20133037), dưới sự hướng dẫn khoa học của ThS. Quách Đình Hoàng, thuộc Bộ môn Kỹ thuật Dữ liệu, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2020 – 2024, bảo vệ vào tháng 7 năm 2024).

Bối cảnh nghiên cứu xuất phát từ sự phát triển của lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) với sự ra đời của các mô hình ngôn ngữ lớn (LLM), tiêu biểu là ChatGPT của OpenAI. Mặc dù các mô hình ngôn ngữ lớn thể hiện khả năng hiểu và sinh ngôn ngữ tự nhiên tương tự con người, chúng vẫn gặp phải những hạn chế cố hữu: tri thức bị đóng băng tại thời điểm huấn luyện tiền kỳ, nguy cơ sinh thông tin không có thực (hallucination) và thiếu khả năng truy cập vào các kho tài liệu nội bộ, tài liệu chuyên ngành có tính cập nhật. Trong bối cảnh đó, kỹ thuật Tạo sinh tăng cường truy xuất (Retrieval Augmented Generation - RAG) nổi lên như một giải pháp kết hợp giữa cơ chế trích xuất thông tin từ kho ngữ liệu ngoài và năng lực tạo sinh ngôn ngữ của LLM nhằm nâng cao tính chính xác và bám sát ngữ cảnh của câu trả lời.

Mục tiêu chung của đề tài là nghiên cứu các nền tảng lý thuyết và ứng dụng kỹ thuật RAG vào bài toán trả lời câu hỏi thông qua việc xây dựng một hệ thống chatbot có khả năng trả lời câu hỏi dựa trên các tài liệu văn bản được cung cấp.

Để hiện thực hóa mục tiêu trên, đề tài xác định 5 nhiệm vụ nghiên cứu cụ thể:

  1. Tìm hiểu về mô hình ngôn ngữ lớn (Large Language Model).
  2. Tìm hiểu về truy xuất thông tin (Information Retrieval).
  3. Tìm hiểu về các kỹ thuật nhúng từ (Word Embedding).
  4. Tìm hiểu về nguyên tắc hoạt động của kỹ thuật Retrieval Augmented Generation (RAG).
  5. Tìm hiểu và tích hợp các công cụ, thư viện phần mềm bao gồm LangChain, Chroma, Transformers, Streamlit, FastAPI và Ragas vào quá trình xây dựng ứng dụng và đánh giá hệ thống.

Đối tượng nghiên cứu của đồ án bao gồm kiến trúc Transformer, các mô hình truy xuất thông tin (Boolean, Không gian vector, TF-IDF, Okapi BM25), các kỹ thuật nhúng từ (Word2Vec CBOW và Skip-gram, BGE), mô hình ngôn ngữ lớn mã nguồn mở (Meta-Llama-3-8B-Instruct), và quy trình tích hợp hệ thống RAG. Phạm vi nghiên cứu về mặt thời gian được triển khai từ tháng 02/2024 đến tháng 07/2024; phạm vi kỹ thuật tập trung vào xử lý và hỏi đáp trên các tài liệu văn bản phi cấu trúc (định dạng PDF/văn bản) trên môi trường điện toán đám mây Google Colaboratory.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập hệ thống cơ sở lý thuyết dựa trên các trụ cột chính của xử lý ngôn ngữ tự nhiên và hệ thống tìm kiếm thông tin:

  • Kiến trúc Transformer: Dựa trên công trình của Vaswani và cộng sự (2017), phân tích cơ chế chú ý tự thân (Self-Attention), cơ chế chú ý nhiều đầu (Multi-Head Attention), kết nối phần dư (Residual Connection), chuẩn hóa lớp (LayerNorm) và mã hóa vị trí (Positional Encoding).
  • Mô hình ngôn ngữ lớn (LLM): Nghiên cứu các giai đoạn huấn luyện tiền kỳ không giám sát (Pre-training), tinh chỉnh tham số (Fine-tuning) và kỹ thuật thiết kế lời nhắc (Prompt Engineering / In-context Learning).
  • Kỹ thuật nhúng từ (Word Embedding): Phân loại thành kỹ thuật dựa trên tần suất (Frequency-based: Count vector, TF-IDF, Co-occurrence vector) và kỹ thuật dựa trên dự đoán (Prediction-based: Word2Vec với hai kiến trúc CBOW và Skip-gram, FastText).
  • Lý thuyết truy xuất thông tin (Information Retrieval - IR): Khảo sát các mô hình cổ điển bao gồm mô hình Boolean, mô hình không gian vector (Vector Space Model với khoảng cách Cosine), mô hình xác suất Okapi BM25 và phương pháp đánh trọng số TF-IDF.
  • Kỹ thuật Retrieval Augmented Generation (RAG): Kế thừa nền tảng từ nghiên cứu năm 2020 của Patrick Lewis và cộng sự tại Facebook AI Research, phân tích kiến trúc hai giai đoạn kết hợp giữa Retriever (truy xuất dữ liệu liên quan) và Generator (tạo sinh câu trả lời).

Phương pháp nghiên cứu thực nghiệm được tiến hành theo các bước kỹ thuật:

  • Thu thập và tiền xử lý tài liệu nguồn: Phân đoạn tài liệu (chunking) để bảo toàn ngữ cảnh cục bộ.
  • Xây dựng biểu diễn ngữ nghĩa: Ứng dụng mô hình nhúng Bge-base-en-v1 để chuyển đổi các đoạn văn bản thành vector và nạp vào cơ sở dữ liệu vector Chroma.
  • Xây dựng module truy xuất kết hợp: Áp dụng cơ chế truy vấn vector kết hợp hàm xếp hạng lại (Re-ranking) dựa trên BM25.
  • Tạo sinh phản hồi: Cấu hình mô hình ngôn ngữ lớn Meta-Llama-3-8B-Instruct thông qua khung kết nối LangChain để tạo câu trả lời dựa trên ngữ cảnh được cung cấp.
  • Đánh giá thực nghiệm: Đo lường chất lượng hệ thống thông qua thư viện Ragas trên tập dữ liệu kiểm thử.

Nội dung chính theo từng chương

Chương 1: Mô hình ngôn ngữ lớn

Chương này tập trung trình bày tổng quan lý thuyết về mô hình ngôn ngữ lớn và kiến trúc mạng nơ-ron Transformer. Tác giả định nghĩa LLM là thuật toán học sâu được huấn luyện trên các tập dữ liệu văn bản quy mô hàng nghìn tỷ từ để thực hiện các tác vụ xử lý ngôn ngữ tự nhiên.

Cấu trúc nội tại của một LLM bao gồm bốn thành phần lớp nơ-ron chính:

  • Embedding layer: Chuyển đổi từ/token thành vector nhiều chiều nắm bắt ngữ nghĩa và cú pháp.
  • Feedforward layers: Mạng kết nối đầy đủ áp dụng các phép biến đổi tuyến tính và phi tuyến để học biểu diễn phức tạp.
  • Recurrent layers: Duy trì trạng thái ẩn theo thời gian để nắm bắt quan hệ phụ thuộc tuần tự.
  • Attention layers: Cho phép mô hình tập trung chọn lọc vào các phần có liên quan nhất trong ngữ cảnh đầu vào.

Văn bản điểm qua một số LLM tiêu biểu như GPT-3 (OpenAI, 175 tỷ tham số), BERT (Google), XLNet (Carnegie Mellon và Google), T5 (Google) và RoBERTa (Facebook AI Research).

Phần trọng tâm của chương là phân tích sâu kiến trúc Transformer (Vaswani và cộng sự, 2017) với hai khối chức năng chính:

  • Bộ mã hóa (Encoder): Gồm ngăn xếp $N = 6$ lớp giống nhau. Mỗi lớp có hai lớp con: Multi-Head Attention và mạng truyền thẳng (Feed-Forward Network - FFN) định nghĩa bởi công thức: $$FFN(x) = \max(0, xW_1 + b_1)W_2 + b_2$$ Đầu ra mỗi lớp con được chuẩn hóa theo cơ chế phần dư: $\text{LayerNorm}(x + \text{Sublayer}(x))$, với kích thước vector ẩn cố định $d_{model} = 512$.
  • Bộ giải mã (Decoder): Gồm $N = 6$ lớp. Ngoài hai lớp con như Encoder, Decoder bổ sung lớp con thứ ba thực hiện Multi-Head Attention trên đầu ra của Encoder, kết hợp mặt nạ (masking) để ngăn các vị trí chú ý đến các token tương lai.
  • Cơ chế Attention:
    • Scaled Dot-Product Attention: Tính toán theo công thức: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
    • Multi-Head Attention: Chiếu $Q, K, V$ qua $h = 8$ đầu attention song song rồi ghép lại và nhân ma trận trọng số $W^O$: $$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \dots, \text{head}_h)W^O$$
  • Positional Encoding: Bổ sung thông tin thứ tự từ vào vector nhúng thông qua hàm lượng giác sin và cos: $$PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right), \quad PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right)$$
  • Tầng Linear và Softmax: Ánh xạ đầu ra của decoder thành vector logit có kích thước bằng tập từ vựng (ví dụ 10.000 từ), sau đó chuyển đổi thành phân phối xác suất để chọn từ đầu ra.

Chương 2: Truy xuất thông tin

Chương 2 trình bày cơ sở lý thuyết của hệ thống truy xuất thông tin (Information Retrieval - IR). Tác giả phân loại 6 phương pháp ứng dụng IR: Ad-hoc search, Filtering, Classification, Summarization, Question answering và Cross-language retrieval (CLR).

Cấu trúc của một hệ thống IR bao gồm các thành phần:

  • Chỉ mục ngược (Inverted index): Liệt kê từng từ kèm danh sách tài liệu chứa từ đó và tần suất tương ứng.
  • Loại bỏ stop word (từ dừng như "a", "an", "the", "in", "of").
  • Phân tích hình thái và cắt tỉa từ gốc (Stemming, ví dụ: laughing, laughs, laughed chuyển về laugh).
  • Thu thập dữ liệu (Crawling) và xử lý câu truy vấn (Query).

Chương phân tích ba mô hình IR kinh điển:

  1. Mô hình Boolean: Biểu diễn tài liệu và truy vấn dưới dạng vector nhị phân thông qua ma trận từ khóa - tài liệu, áp dụng các toán tử logic $\text{AND} (\wedge)$, $\text{OR} (\vee)$, $\text{NOT} (\neg)$ để xác định tập kết quả khớp nhị phân.
  2. Mô hình không gian vector (Vector Space Model): Biểu diễn văn bản trong không gian $n$ chiều, đo lường mức độ tương đồng giữa tài liệu và truy vấn bằng độ đo Cosine: $$\text{Cosine}(d, q) = \frac{\sum_{k=1}^m d_k \cdot q_k}{\sqrt{\sum_{k=1}^m d_k^2} \cdot \sqrt{\sum_{k=1}^m q_k^2}}$$ Kỹ thuật tính trọng số TF-IDF kết hợp tần số xuất hiện của từ (TF) và tần số nghịch đảo tài liệu (IDF):
    • Trọng số tần suất logarit: $W_{t,d} = 1 + \log(tf_{t,d})$ (nếu $tf_{t,d} > 0$).
    • Trọng số tần số nghịch đảo: $idf = \log_{10}\left(\frac{N}{df_t}\right)$, trong đó $N$ là tổng số tài liệu, $df_t$ là số tài liệu chứa từ $t$.
    • Trọng số tổng hợp: $W_{t,d} = (1 + \log(tf_{t,d})) \cdot \log_{10}\left(\frac{N}{df_t}\right)$.
  3. Mô hình Okapi BM25: Hàm xếp hạng xác suất cải tiến từ TF-IDF, ra đời những năm 1970–1980 tại Đại học London. Điểm số khớp giữa truy vấn $Q$ và tài liệu $D$ tính toán dựa trên tần suất từ $f(q_i, D)$, độ dài tài liệu $|D|$ và độ dài trung bình $avgdl$: $$\text{BM25}(D, Q) = \sum_{i=1}^n IDF(q_i) \cdot \frac{f(q_i, D) \cdot (k_1 + 1)}{f(q_i, D) + k_1 \cdot \left(1 - b + b \cdot \frac{|D|}{avgdl}\right)}$$ Hằng số $b$ hiệu chỉnh mức độ ảnh hưởng của độ dài tài liệu; tài liệu ngắn tiệm cận điểm TF bão hòa nhanh hơn tài liệu dài.

Chương 3: Tìm hiểu về kỹ thuật Retrieval Augmented Generation

Chương 3 đi sâu vào cơ chế nhúng từ và kiến trúc chi tiết của kỹ thuật RAG.

Nội dung mở đầu bằng việc phân tích mô hình Word2Vec của Tomas Mikolov và cộng sự tại Google với hai biến thể:

  • Continuous Bag of Words (CBOW): Dự đoán từ đích dựa trên $C$ từ ngữ cảnh xung quanh. Vector lớp ẩn $h$ là trung bình cộng các vector từ đầu vào: $h = \frac{1}{C}\sum_{c=1}^C v_{w_c}$. Mô hình tính điểm phù hợp qua ma trận trọng số $W'$ và tối ưu hàm mất mát entropy chéo bằng cách cập nhật gradient sai số $e_j = y_j - t_j$.
  • Skip-gram: Nhận một từ mục tiêu duy nhất ở đầu vào và dự đoán phân phối xác suất của $C$ từ ngữ cảnh lân cận. Hàm mất mát được định nghĩa: $$E = -\sum_{c=1}^C u_{j^*c} + C \cdot \log \sum{j'=1}^V \exp(u_{j'})$$
Tiêu chí Mô hình CBOW Mô hình Skip-gram
Mục tiêu dự đoán Dự đoán từ đích dựa trên các từ ngữ cảnh Dự đoán các từ ngữ cảnh dựa trên từ đích
Tốc độ huấn luyện Nhanh hơn Chậm hơn, yêu cầu nhiều dữ liệu hơn
Hiệu quả biểu diễn Tốt với từ vựng xuất hiện thường xuyên Tốt với từ vựng hiếm và ngữ nghĩa phức tạp
Chi phí tính toán Thấp hơn Cao hơn

Về kỹ thuật RAG (dựa trên bài báo năm 2020 của Patrick Lewis và nhóm Facebook AI Research), văn bản chỉ ra quy trình 4 bước: tiếp nhận truy vấn $\rightarrow$ trích xuất tài liệu liên quan từ kho dữ liệu vector $\rightarrow$ kết hợp ngữ cảnh vào prompt $\rightarrow$ mô hình ngôn ngữ sinh câu trả lời hoàn chỉnh.

Chương cũng hệ thống hóa các lợi ích và hạn chế của RAG:

  • Lợi ích: Truy cập thông tin mới ngoài thời điểm cắt dữ liệu của LLM; cập nhật kho tri thức liên tục với chi phí thấp mà không cần tái huấn luyện mô hình; cung cấp câu trả lời sát ngữ cảnh chuyên ngành; khả năng truy vết nguồn tài liệu gốc trong cơ sở dữ liệu vector để kiểm chứng tính xác thực.
  • Hạn chế: Độ phức tạp trong việc thiết lập và tối ưu cơ chế truy xuất; chi phí vận hành cao hơn một LLM độc lập; khó khăn trong việc mô hình hóa đồng thời dữ liệu có cấu trúc và phi cấu trúc; thách thức xây dựng luồng nạp dữ liệu tăng dần (incremental data); nguy cơ phụ thuộc vào chất lượng dữ liệu nguồn (dữ liệu nguồn sai lệch sẽ dẫn đến câu trả lời sai lệch).

Chương 4: Ứng dụng bài toán trả lời câu hỏi dựa trên tài liệu đã cung cấp

Chương 4 mô tả toàn bộ quá trình thực nghiệm, cài đặt môi trường, xây dựng pipeline RAG, triển khai giao diện và đánh giá hệ thống:

  • Môi trường thực nghiệm: Triển khai trên nền tảng Google Colaboratory sử dụng tài nguyên phần cứng GPU (Nvidia K80, T4, P4 hoặc P100) với thời gian thực thi tối đa 12 giờ cho mỗi phiên làm việc.
  • Thư viện phần mềm: Hugging Face Transformers (tải và quản lý mô hình), LangChain (kết nối Prompt templates, LLM, Agent, Memory và lớp RetrievalQA), Chroma (cơ sở dữ liệu vector lưu trữ embedding), Streamlit (xây dựng giao diện web), FastAPI (xây dựng backend API) và Ragas (đánh giá tự động hệ thống RAG).
  • Mô hình lựa chọn:
    • Mô hình nhúng: Bge-base-en-v1 dùng để chuyển đổi văn bản sang vector ngữ nghĩa.
    • Mô hình ngôn ngữ lớn: Meta-Llama-3-8B-Instruct dùng cho tác vụ hiểu ngữ cảnh và tạo sinh câu trả lời.
  • Quy trình triển khai pipeline RAG:
    1. Xử lý tài liệu: Nạp tài liệu văn bản (PDF), thực hiện phân đoạn (chunking).
    2. Lưu trữ vector: Nhúng các đoạn văn bản qua Bge-base-en-v1 và nạp vào cơ sở dữ liệu vector Chroma.
    3. Truy xuất và tái xếp hạng: Khi có câu hỏi, hệ thống truy xuất các đoạn văn bản tương đồng từ Chroma, kết hợp thuật toán BM25 để xếp hạng lại (Re-ranking) các tài liệu có độ liên quan cao nhất.
    4. Tạo sinh câu trả lời: Định dạng lời nhắc thông qua kỹ thuật Prompt Engineering, kết hợp câu hỏi người dùng và ngữ cảnh trích xuất, chuyển tiếp vào mô hình Meta-Llama-3-8B-Instruct thông qua lớp RetrievalQA của LangChain để sinh phản hồi.
    5. Đánh giá: Sử dụng bộ công cụ Ragas trên tập dữ liệu kiểm thử để đo lường định lượng hiệu năng hệ thống.

Thiết kế và triển khai hệ thống

Hệ thống RAG được thiết kế theo kiến trúc phân tầng bao gồm tầng lưu trữ dữ liệu vector, tầng xử lý logic nghiệp vụ và tầng giao diện tương tác người dùng:

Thành phần Công nghệ / Mô hình Chức năng thực hiện
Môi trường tính toán Google Colaboratory (GPU Nvidia T4/P100/K80/P4) Thực thi mã nguồn Python và nạp mô hình học sâu
Cơ sở dữ liệu Vector Chroma (Chroma DB) Lưu trữ, lập chỉ mục và tìm kiếm vector tương đồng
Mô hình nhúng (Embedding) Bge-base-en-v1 Chuyển đổi các đoạn văn bản và truy vấn sang vector
Mô hình tạo sinh (LLM) Meta-Llama-3-8B-Instruct Tiếp nhận prompt kết hợp ngữ cảnh để tạo sinh câu trả lời
Framework tích hợp LangChain (RetrievalQA) Xâu chuỗi quy trình truy xuất, ghép prompt và tạo sinh
Backend API FastAPI Cung cấp các giao diện lập trình ứng dụng RESTful
Giao diện người dùng (UI) Streamlit Cho phép người dùng tải file tài liệu và tương tác chat
Đánh giá hệ thống Ragas Tính toán các chỉ số đo lường hiệu năng của pipeline RAG

Hệ thống cung cấp hai điểm cuối API (Endpoints) chính thông qua FastAPI:

  • API Insert into database: Tiếp nhận tài liệu đầu vào từ người dùng, thực hiện tiền xử lý văn bản, chia đoạn, tính toán vector nhúng bằng Bge-base-en-v1 và lưu trữ vào cơ sở dữ liệu vector Chroma.
  • API Return answer: Tiếp nhận câu hỏi của người dùng, truy vấn các đoạn văn bản liên quan từ Chroma, kết hợp thuật toán xếp hạng lại BM25, đưa dữ liệu vào cấu trúc prompt của mô hình Meta-Llama-3-8B-Instruct và trả về câu trả lời dưới định dạng JSON.

Giao diện ứng dụng được phát triển bằng Streamlit cung cấp hai chức năng trực quan: khu vực tải tài liệu (cho phép đưa tập tin văn bản vào hệ thống để kích hoạt API nạp dữ liệu) và khung hội thoại tương tác (cho phép người dùng gửi câu hỏi và nhận câu trả lời đối thoại theo thời gian thực).

Kết quả và đóng góp

Về kết quả kỹ thuật đạt được:

  • Xây dựng thành công quy trình RAG hoàn chỉnh trên nền tảng đám mây Google Colab, tích hợp hiệu quả giữa cơ sở dữ liệu vector Chroma và mô hình ngôn ngữ lớn Meta-Llama-3-8B-Instruct.
  • Triển khai thành công kỹ thuật xếp hạng lại (Re-ranking) kết hợp giữa tìm kiếm ngữ nghĩa (vector similarity) và tìm kiếm từ khóa truyền thống (Okapi BM25), giúp cải thiện chất lượng tài liệu được cung cấp cho bộ tạo sinh.
  • Đóng gói toàn bộ chức năng xử lý thành hai dịch vụ API độc lập (Insert into database và Return answer) bằng FastAPI, kết nối với giao diện ứng dụng web Streamlit thân thiện.
  • Thực hiện đánh giá định lượng chất lượng của hệ thống bằng bộ công cụ chuyên dụng Ragas trên tập dữ liệu kiểm thử.

Về đóng góp học thuật và thực tiễn:

  • Đồ án hệ thống hóa chi tiết nền tảng toán học và kỹ thuật của xử lý ngôn ngữ tự nhiên hiện đại, từ kiến trúc mạng Transformer (cơ chế Attention, Positional Encoding, Residual Connection), các mô hình biểu diễn từ (CBOW, Skip-gram), các mô hình IR kinh điển (Boolean, Vector Space, TF-IDF, BM25) cho đến mô hình RAG tiên tiến.
  • Cung cấp một phương án thực nghiệm hoàn chỉnh về việc tích hợp các mô hình ngôn ngữ lớn và mô hình nhúng mã nguồn mở trên môi trường tài nguyên tính toán giới hạn (Google Colab miễn phí), tạo tiền đề cho việc xây dựng các ứng dụng hỏi đáp văn bản nội bộ.

Hạn chế và hướng nghiên cứu tiếp

Các hạn chế được văn bản đề cập bao gồm:

  • Ràng buộc về hạ tầng tính toán: Việc triển khai trên Google Colab miễn phí bị giới hạn thời gian hoạt động tối đa 12 giờ mỗi phiên, đồng thời việc phân bổ GPU diễn ra ngẫu nhiên (giữa K80, T4, P4, P100), ảnh hưởng đến tính ổn định và liên tục của dịch vụ.
  • Xử lý dạng dữ liệu: Khung xử lý hiện tại tập trung chủ yếu vào văn bản phi cấu trúc, chưa tối ưu cho việc xử lý đồng thời dữ liệu có cấu trúc (bảng biểu, cơ sở dữ liệu quan hệ) và dữ liệu phi cấu trúc phức tạp.
  • Cập nhật dữ liệu gia tăng: Quy trình nạp và cập nhật dữ liệu mới liên tục (incremental update) vào cơ sở dữ liệu vector mà không làm gián đoạn hệ thống vẫn là một thách thức kỹ thuật cần hoàn thiện.
  • Phụ thuộc vào chất lượng dữ liệu nguồn: Hệ thống RAG có thể tạo ra thông tin sai lệch nếu tài liệu đầu vào đưa vào cơ sở dữ liệu vector chứa thông tin không chính xác hoặc mâu thuẫn.

Hướng phát triển tiếp theo của đề tài:

  • Nâng cấp hạ tầng triển khai sang máy chủ chuyên dụng có GPU cố định để loại bỏ giới hạn 12 giờ của Google Colab, hướng tới môi trường production.
  • Nghiên cứu cơ chế mô hình hóa và xử lý đồng thời dữ liệu có cấu trúc và dữ liệu phi cấu trúc trong thư viện kiến thức.
  • Tự động hóa quy trình nạp dữ liệu gia tăng và xây dựng cơ chế kiểm duyệt, phát hiện và loại bỏ các nguồn thông tin sai lệch trong cơ sở dữ liệu vector.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho sinh viên, học viên và nghiên cứu viên các ngành Kỹ thuật Dữ liệu, Công nghệ Thông tin, Khoa học Máy tính và Trí tuệ Nhân tạo đang nghiên cứu về xử lý ngôn ngữ tự nhiên và ứng dụng mô hình ngôn ngữ lớn.

Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:

  • Phần trình bày lý thuyết tại Chương 1 và Chương 2 với hệ thống công thức toán học tường minh về Scaled Dot-Product Attention, Multi-Head Attention, Positional Encoding, Log-frequency TF, IDF và Okapi BM25.
  • Cấu trúc toán học và đạo hàm hàm mất mát của hai mô hình Word2Vec (CBOW và Skip-gram) tại Chương 3.
  • Thiết kế thực nghiệm tại Chương 4, đặc biệt là cách thức kết hợp pipeline giữa LangChain, Chroma DB, mô hình nhúng Bge-base-en-v1, mô hình tạo sinh Meta-Llama-3-8B-Instruct, cùng thiết kế API bằng FastAPI và giao diện Streamlit.

Câu hỏi thường gặp

1. Khóa luận sử dụng mô hình ngôn ngữ lớn (LLM) và mô hình nhúng (Embedding) cụ thể nào để xây dựng hệ thống?
Khóa luận sử dụng mô hình nhúng Bge-base-en-v1 để chuyển đổi văn bản và truy vấn thành vector biểu diễn ngữ nghĩa, và sử dụng mô hình ngôn ngữ lớn Meta-Llama-3-8B-Instruct làm bộ tạo sinh (Generator) để trả lời câu hỏi.

2. Hệ thống sử dụng công nghệ nào để lưu trữ và quản lý các vector nhúng?
Hệ thống sử dụng cơ sở dữ liệu vector Chroma (Chroma DB) để lưu trữ các vector nhúng của đoạn văn bản và thực hiện tìm kiếm tương đồng vector phục vụ cho quá trình truy xuất thông tin.

3. Công thức tính trọng số tần suất từ (TF) và tần số nghịch đảo tài liệu (IDF) được tác giả triển khai như thế nào?
Tác giả sử dụng công thức tần suất logarit để tính trọng số TF: $W_{t,d} = 1 + \log(tf_{t,d})$ (với $tf_{t,d} > 0$). Trọng số IDF được tính theo công thức: $idf = \log_{10}(N / df_t)$, trong đó $N$ là tổng số tài liệu trong tập dữ liệu và $df_t$ là số tài liệu chứa từ $t$.

4. Hệ thống backend được xây dựng bằng công cụ gì và bao gồm các API nào?
Backend được phát triển bằng framework FastAPI, gồm hai API chính: API Insert into database (thực hiện tiền xử lý tài liệu, nhúng vector và lưu vào Chroma DB) và API Return answer (nhận câu hỏi, truy xuất ngữ cảnh từ Chroma DB kết hợp xếp hạng lại bằng BM25, đưa vào prompt của Llama 3 và trả về câu trả lời).

5. Hệ thống được thử nghiệm trên nền tảng phần cứng nào và gặp phải những giới hạn gì?
Toàn bộ mã nguồn được thực nghiệm trên nền tảng đám mây Google Colaboratory với các loại GPU được cấp phát ngẫu nhiên như Nvidia K80, T4, P4 hoặc P100. Giới hạn chính là thời gian sử dụng tối đa 12 giờ cho mỗi phiên làm việc và không thể chủ động lựa chọn loại GPU.

Kết luận

Khóa luận tốt nghiệp của sinh viên Trần Văn Thắng và Trần Minh Đức đã hệ thống hóa đầy đủ cơ sở lý luận từ kiến trúc Transformer, các mô hình truy xuất thông tin truyền thống (Boolean, Không gian vector, TF-IDF, BM25), kỹ thuật nhúng từ Word2Vec cho đến phương pháp RAG hiện đại. Trên cơ sở lý thuyết đó, nhóm tác giả đã xây dựng thành công một hệ thống hỏi đáp tài liệu hoàn chỉnh tích hợp mô hình nhúng Bge-base-en-v1, cơ sở dữ liệu vector Chroma và mô hình ngôn ngữ lớn Meta-Llama-3-8B-Instruct. Ứng dụng được đóng gói với dịch vụ API bằng FastAPI, giao diện người dùng qua Streamlit và được kiểm thử bằng bộ công cụ Ragas trên môi trường Google Colab, cung cấp một giải pháp kỹ thuật có tính ứng dụng cao cho bài toán trả lời câu hỏi tự động trên tài liệu chuyên biệt.