Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và trí tuệ nhân tạo (AI) phát triển nhanh chóng, nhu cầu tra cứu và truy xuất thông tin của người dùng ngày càng chuyển dịch từ các phương thức tìm kiếm từ khóa truyền thống sang các hệ thống hỏi đáp tự động (Question Answering - QA). Sự xuất hiện của các mô hình ngôn ngữ lớn (LLM), tiêu biểu là ChatGPT, đã đánh dấu bước chuyển biến trong việc biểu diễn kết quả tìm kiếm dưới dạng giao tiếp ngôn ngữ tự nhiên tương tự con người. Tuy nhiên, các mô hình ngôn ngữ lớn thuần túy vẫn tồn tại hạn chế cốt lõi là hiện tượng thông tin bị lỗi thời (outdated information), do tri thức chỉ được cập nhật đến thời điểm hoàn tất tiền huấn luyện (ví dụ mốc năm 2021 của phiên bản ChatGPT ban đầu).
Để giải quyết vấn đề trên, phương pháp trả lời câu hỏi miền mở (Open-Domain Question Answering - ODQA) kết hợp truy xuất thông tin từ nguồn dữ liệu ngoài theo thời gian thực được ứng dụng. Tại Việt Nam, việc nghiên cứu và ứng dụng mô hình ngôn ngữ lớn cho bài toán hỏi đáp tiếng Việt vẫn là lĩnh vực mới, đối mặt với nhiều rào cản về độ chính xác, khả năng suy luận và xử lý các câu hỏi mở, đa dạng ngữ nghĩa. Khóa luận tốt nghiệp của tác giả Nguyễn Thành Phát tập trung vào việc nghiên cứu, tối ưu hóa và triển khai một hệ thống hỏi đáp miền mở phục vụ nhu cầu tra cứu thông tin học vụ của sinh viên và thông tin bách khoa tổng quát.
Mục tiêu nghiên cứu của đề tài bao gồm các nhiệm vụ cụ thể:
- Xây dựng hệ thống có khả năng trả lời các câu hỏi mở, mang tính suy luận và sáng tạo một cách chính xác, đầy đủ và hữu ích dựa trên nguồn tài liệu được trích xuất từ cơ sở dữ liệu.
- Xử lý đa dạng các loại câu hỏi mở tiếng Việt, bao gồm câu hỏi về sự kiện, khái niệm, mối quan hệ và ý kiến.
- Triển khai ứng dụng chatbot hoàn chỉnh với giao diện tương tác người dùng, hỗ trợ cơ chế trích xuất dữ liệu tham khảo để kiểm chứng thông tin và cho phép cập nhật dữ liệu mới.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) hiện đại; các kiến trúc học sâu (RNN, LSTM, GRU, Transformer, BERT, GPT); các phương pháp tối ưu hóa và lượng tử hóa mô hình (AWQ, LoRA); công nghệ cơ sở dữ liệu vector (Vector Database); kỹ thuật tìm kiếm văn bản tương tự và các phương pháp đánh giá mô hình ngôn ngữ lớn.
- Phạm vi dữ liệu và không gian: Dữ liệu quy định, quy chế học vụ trích xuất từ Sổ tay Sinh viên năm học 2023 - 2024 của Trường Đại học Nguyễn Tất Thành (NTTU) và nguồn tri thức từ Bách khoa toàn thư mở Wikipedia tiếng Việt. Nghiên cứu được thực hiện tại Trường Đại học Nguyễn Tất Thành, hoàn thành vào tháng 01 năm 2024.
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 toàn diện về truy xuất thông tin, mô hình hóa ngôn ngữ và tối ưu hóa tham số học sâu:
1. Cơ chế Truy xuất thông tin (Information Retrieval - IR) và độ tương đồng văn bản
Hệ thống trả lời câu hỏi miền mở vận hành dựa trên hai thành phần nòng cốt: Retriever (Bộ truy xuất) và Reader/Generator (Bộ tạo câu trả lời). Để Retriever xếp hạng tài liệu liên quan đến câu truy vấn, tác giả phân tích các phương pháp:
- Thuật toán TF-IDF: Đánh giá tầm quan trọng của từ $t$ trong văn bản $d$ thuộc tập mẫu $D$ thông qua tích số giữa tần suất xuất hiện $TF(t, d)$ và tần số nghịch của văn bản $IDF(t, D) = \log(|D| / |{d \in D : t \in d}|)$.
- Thuật toán BM25 (Okapi BM25): Hàm xếp hạng xác suất cải tiến từ TF-IDF, kết hợp các tham số hiệu chỉnh $k_1$ (dao động từ 1.2 đến 2.0) và $b$ (thường chọn 0.75) cùng độ dài trung bình văn bản $avgdl$.
- Tìm kiếm tương đồng dựa trên vector nhúng (Dense Vector Embedding): Biểu diễn văn bản dưới dạng vector không gian nhiều chiều thông qua các mô hình Transformer Encoder và tính toán độ tương đồng thông qua khoảng cách Cosine.
2. Sự tiến hóa của kiến trúc mô hình ngôn ngữ
- Nhúng từ (Word Embedding): Quá trình chuyển đổi từ vựng sang biểu diễn số học qua các kỹ thuật Bag-of-Words (BOW), TF-IDF và mô hình Word2Vec (gồm hai biến thể Skip-gram và CBOW).
- Mạng nơ-ron hồi tiếp (RNN, LSTM, GRU): Cơ chế chia sẻ tham số để xử lý chuỗi tuần tự $x^{(t)}$ qua trạng thái ẩn $h^{(t)}$. Nhằm khắc phục hiện tượng đạo hàm tiêu biến (vanishing gradient) và bộ nhớ ngắn hạn của RNN, các kiến trúc hiện đại tích hợp hệ thống cổng kiểm soát dòng thông tin: LSTM (gồm cổng quên $f_t$, cổng vào $i_t$, cổng ra $o_t$ và trạng thái ô $C_t$) và GRU (tối giản hóa còn 2 cổng để tăng tốc độ tính toán).
- Kiến trúc Transformer: Loại bỏ tính tuần tự để thực hiện tính toán song song thông qua cơ chế Tự tập trung (Self-Attention) với công thức Scaled Dot-Product Attention:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
Mô hình kết hợp Tập trung đa đầu (Multi-Head Attention), Mã hóa vị trí (Positional Encoding) theo hàm lượng giác $\sin/\cos$, cùng các khối Encoder và Decoder chuẩn hóa qua lớp Residual Connection và Layer Normalization.
- Mô hình BERT (Bidirectional Encoder Representations from Transformers): Sử dụng kiến trúc Transformer Encoder hai chiều, tiền huấn luyện trên hai tác vụ không giám sát là Mô hình hóa ngôn ngữ che từ (Masked Language Modeling - MLM, tỉ lệ che 15% token) và Dự đoán câu tiếp theo (Next Sentence Prediction - NSP qua token [CLS] và [SEP]).
- Mô hình GPT (Generative Pre-training Transformer): Dựa trên Transformer Decoder, tối ưu hóa tiền huấn luyện tự hồi quy không giám sát $L_1(U)$ kết hợp tinh chỉnh có giám sát $L_3(C) = L_2(C) + \lambda L_1(C)$ (với $\lambda = 0.5$).
| Phiên bản GPT |
Số lượng tham số |
Số lượng lớp (Layers) |
| GPT-1 |
117 triệu |
12 |
| GPT-2 |
1,542 tỷ |
48 |
| GPT-3 |
175 tỷ |
96 |
| GPT-4 |
Khoảng 1,8 nghìn tỷ |
120 |
3. Kỹ thuật nén và tối ưu hóa mô hình
- Lượng tử hóa AWQ (Activation-aware Weight Quantization): Kỹ thuật giảm kích thước mô hình từ FP16 xuống INT3/INT4 mà không làm suy giảm hiệu năng bằng cách giữ lại 0.1% đến 1% trọng số quan trọng nhất dựa trên phân phối kích hoạt (activation), kết hợp cơ chế nhân tỉ lệ theo kênh (per-channel scaling).
- Tinh chỉnh thích ứng thứ hạng thấp (LoRA - Low-Rank Adaptation): Đóng băng trọng số gốc của mô hình ngôn ngữ và chèn các ma trận phân rã thứ hạng thấp vào các khối Attention để giảm thiểu chi phí bộ nhớ huấn luyện.
Thiết kế và triển khai hệ thống
Hệ thống trả lời câu hỏi miền mở được thiết kế theo mô hình 3 tầng (3-tier Architecture) bao gồm Front-end, Back-end và Vector Database:
| Thành phần |
Công nghệ / Thư viện sử dụng |
Vai trò chức năng chính |
| Front-end |
ReactJS, TailwindCSS, HTML |
Cung cấp giao diện tương tác người dùng, hiển thị câu trả lời, quản lý lịch sử trò chuyện, hiển thị trích dẫn nguồn tham khảo và tiếp nhận góp ý/báo lỗi. |
| Back-end Core |
Python, FastAPI, LangChain, vLLM |
Tiếp nhận câu hỏi, điều phối luồng truy vấn ngữ cảnh, tích hợp bộ lọc Re-ranker và kết nối với máy chủ sinh từ. |
| Vector Database |
Qdrant |
Lưu trữ các vector nhúng ngữ nghĩa của tài liệu và thực hiện tìm kiếm tương đồng vector tốc độ cao. |
| Generator Server |
PyTorch, Hugging Face, vLLM |
Máy chủ GPU độc lập phục vụ việc nạp mô hình ngôn ngữ lớn đã lượng tử hóa/tinh chỉnh và thực hiện sinh văn bản phản hồi. |
1. Quy trình xử lý và làm sạch dữ liệu
Dữ liệu nguồn phục vụ xây dựng cơ sở tri thức bao gồm 3 tập chính:
- Tập dữ liệu Sổ tay Sinh viên NTTU 2023 - 2024: Tài liệu định dạng PDF được chuyển đổi sang văn bản thô dạng
.txt. Tác giả loại bỏ các thành phần không mang giá trị ngữ cảnh như mục lục, hình ảnh, ký tự đặc biệt. Do mô hình ngôn ngữ chưa hỗ trợ xử lý bảng biểu trực tiếp, các bảng biểu quan trọng (tiêu chí học bổng, khung xếp loại điểm rèn luyện) được chuyển đổi thủ công sang dạng văn bản diễn giải.
- Chiến lược phân đoạn văn bản (Chunking): Văn bản làm sạch được chia thành các đoạn nhỏ với kích thước mỗi đoạn là 800 ký tự (
chunk_size = 800), độ trùng lặp giữa các đoạn liền kề là 400 ký tự (chunk_overlap = 400). Toàn bộ tài liệu được phân tách thành 184 đoạn dữ liệu chuẩn hóa và nạp vào Qdrant.
- Tập dữ liệu tinh chỉnh và đánh giá: Bộ dữ liệu hỏi đáp tiếng Việt
vilm/OpenOrca-Viet (trích xuất từ GPT-4, PaLM-2, Claude) dùng để tinh chỉnh mô hình sinh; cùng bộ 146 câu hỏi - đáp thực tế về đời sống sinh viên dùng để đánh giá hệ thống.
2. Quy trình vận hành hỏi đáp (RAG Pipeline)
- Người dùng gửi câu hỏi qua giao diện web ReactJS.
- FastAPI tiếp nhận câu hỏi và chuyển tiếp đến module Retriever.
- Retriever truy vấn cơ sở dữ liệu Qdrant để trích xuất các đoạn tài liệu có khoảng cách vector gần nhất.
- Hệ thống sử dụng mô hình BERT Re-ranker để chấm điểm và tái sắp xếp, chọn lọc top-k tài liệu có độ tương quan ngữ nghĩa cao nhất làm ngữ cảnh (Context).
- Ngữ cảnh cùng câu hỏi đầu vào được định dạng thành lời nhắc (Prompt/Instruction) gửi đến Generator thông qua thư viện tối ưu hóa vLLM trên GPU.
- Generator sinh câu trả lời hoàn chỉnh và gửi ngược về Front-end, kèm theo đường dẫn trích dẫn tài liệu gốc (Sổ tay sinh viên hoặc Wikipedia) để người dùng đối chiếu.
Nội dung chính theo từng chương
Chương 1: Giới thiệu chung về đề tài
Chương này thiết lập nền tảng lý do chọn đề tài dựa trên sự phát triển của công nghệ tìm kiếm thông tin và hạn chế về cập nhật dữ liệu của các mô hình LLM độc lập. Tác giả xác định mục tiêu xây dựng hệ thống hỏi đáp miền mở tiếng Việt tích hợp nguồn dữ liệu học vụ Đại học Nguyễn Tất Thành và Wikipedia; công bố phương pháp luận, công nghệ nền tảng và bố cục toàn văn gồm 5 chương.
Chương 2: Cơ sở lý luận về vấn đề nghiên cứu
Chương 2 trình bày tổng quan lý thuyết chuyên sâu về hệ thống Question Answering, phân biệt giữa miền đóng và miền mở. Nội dung phân tích chi tiết cơ chế hoạt động của Retriever và Reader/Generator; các thuật toán so khớp văn bản (TF-IDF, BM25, Dense Embedding); tiến trình phát triển mạng nơ-ron từ RNN, LSTM, GRU đến cấu trúc Transformer (cơ chế Self-Attention, Multi-Head Attention, Positional Encoding); phân tích cấu trúc mô hình BERT và GPT; kết thúc bằng các phương pháp lượng tử hóa hiện đại như AWQ và kỹ thuật per-channel scaling so với Bitsandbytes và GPT-Q.
Chương 3: Xây dựng hệ thống trình bày
Chương 3 mô tả chi tiết quy trình hiện thực hóa hệ thống. Tác giả thuyết minh kiến trúc phân tầng hệ thống (Front-end ReactJS, Back-end FastAPI, Vector Database Qdrant); các bước tiền xử lý, làm sạch và phân mảnh văn bản Sổ tay Sinh viên 2023 - 2024 thành 184 đoạn (800 ký tự, trùng lặp 400 ký tự); cấu hình Qdrant Vector Database; xây dựng Retriever nâng cao kết hợp mô hình BERT Re-ranker; lựa chọn, lượng tử hóa và huấn luyện các mô hình ngôn ngữ lớn mã nguồn mở tiếng Việt; và triển khai hạ tầng phục vụ suy luận qua vLLM.
Chương 4: Thực nghiệm và đánh giá
Chương 4 thực hiện kiểm thử và đánh giá hiệu năng hệ thống trên các mô hình ngôn ngữ khác nhau: vietcuna-7b-v3, vietcuna-7b-v3-AWQ, PhoGPT-7B5-Instruct, và vietzephyr-7b-8bit-lora. Đề tài áp dụng các phương pháp đánh giá định lượng tự động bằng Perplexity (PPL) và BERTScore (Precision, Recall, F1-score), kết hợp phương pháp đánh giá định tính từ chuyên gia/con người (Human Evaluation) trên tập 15 câu hỏi kiểm thử đại diện.
Chương 5: Kết luận và hướng phát triển
Chương cuối tổng kết các kết quả đạt được về mặt mô hình hóa và triển khai phần mềm; đồng thời chỉ rõ những điểm còn tồn tại liên quan đến khả năng đọc hiểu bảng biểu và tài nguyên tính toán, từ đó vạch ra các hướng mở rộng nghiên cứu trong tương lai.
Kết quả và đóng góp
1. Kết quả thực nghiệm chính
- Xây dựng thành công hệ thống hỏi đáp miền mở tiếng Việt hoàn chỉnh, vận hành ổn định trên hai miền tri thức: Sổ tay sinh viên Trường Đại học Nguyễn Tất Thành và Bách khoa toàn thư Wikipedia.
- Áp dụng thành công kỹ thuật lượng tử hóa AWQ trên mô hình
vietcuna-7b-v3, giúp giảm dung lượng bộ nhớ mô hình để triển khai trên môi trường máy chủ GPU thực tế mà vẫn duy trì chỉ số Perplexity (PPL) ở mức tối ưu so với phương pháp ép kiểu bit truyền thống.
- Thực hiện tinh chỉnh mô hình
Zephyr-7b-beta bằng kỹ thuật LoRA trên tập dữ liệu chỉ dẫn tiếng Việt, tạo ra biến thể vietzephyr-7b-8bit-lora cho thấy khả năng sinh câu trả lời bám sát ngữ cảnh.
- Đánh giá so sánh chất lượng trên 4 cấu hình mô hình thông qua bộ chỉ số BERTScore (đo lường độ chính xác phân bổ ngữ nghĩa theo Precision, Recall, F1) và đánh giá con người trên 15 câu hỏi thực nghiệm, khẳng định vai trò của bộ lọc Re-ranker trong việc nâng cao độ chính xác của câu trả lời.
2. Đóng góp của đề tài
- Đóng góp kỹ thuật: Hoàn thiện quy trình RAG (Retrieval-Augmented Generation) chuyên biệt cho tiếng Việt, kết hợp chặt chẽ giữa tiền xử lý phân đoạn văn bản, cơ sở dữ liệu vector Qdrant, mô hình BERT Re-ranker và công nghệ phục vụ suy luận tốc độ cao vLLM.
- Đóng góp ứng dụng: Xây dựng thành công ứng dụng chatbot thực tiễn cho sinh viên NTTU với giao diện trực quan, có khả năng minh bạch hóa thông tin bằng cách dẫn chiếu chính xác nguồn tài liệu tham khảo để người dùng tự kiểm chứng tính đúng đắn.
Hạn chế và hướng nghiên cứu tiếp
1. Hạn chế của nghiên cứu
- Khả năng xử lý dữ liệu phi văn bản: Mô hình ngôn ngữ lớn chưa có khả năng đọc hiểu trực tiếp cấu trúc bảng biểu phức tạp trong tài liệu; tác giả phải xử lý thủ công các bảng điểm học bổng và điểm rèn luyện sang dạng văn bản.
- Giới hạn tài nguyên tính toán: Việc huấn luyện toàn diện các mô hình ngôn ngữ lớn đòi hỏi năng lực phần cứng vượt trội, do đó đề tài phải phụ thuộc vào các kỹ thuật xấp xỉ như LoRA và lượng tử hóa 8-bit/AWQ.
- Phạm vi tri thức: Hệ thống hiện tập trung vào phạm vi tài liệu Sổ tay sinh viên 2023 - 2024 và Wikipedia, chưa tự động liên kết với các hệ thống quản lý đào tạo trực tuyến khác của nhà trường.
2. Hướng phát triển tiếp theo
- Nâng cấp bộ trích xuất dữ liệu tự động cho phép phân tích trực tiếp các bảng biểu và tài liệu có cấu trúc phức tạp mà không cần chuyển đổi thủ công.
- Mở rộng tập dữ liệu huấn luyện và tinh chỉnh chuyên sâu mô hình Re-ranker tiếng Việt nhằm tăng cường độ chính xác truy xuất ngữ cảnh cho các câu hỏi phức hợp.
- Tối ưu hóa hạ tầng triển khai phân tán để tăng tốc độ phản hồi câu hỏi khi số lượng người dùng đồng thời tăng cao.
Giá trị tham khảo
Tài liệu khóa luận mang lại giá trị tham khảo chuyên môn cho các đối tượng:
- Sinh viên và học viên ngành Khoa học Dữ liệu, Công nghệ Thông tin, Trí tuệ Nhân tạo: Cung cấp tài liệu tổng hợp hệ thống và chi tiết về lý thuyết mạng nơ-ron hồi tiếp (RNN, LSTM, GRU), cơ chế Attention, kiến trúc Transformer, BERT, GPT cùng các công thức toán học tường minh.
- Kỹ sư phát triển hệ thống RAG và LLM: Tham khảo trực tiếp kiến trúc triển khai thực tế kết hợp giữa FastAPI, Qdrant Vector Database, mô hình BERT Re-ranker và máy chủ suy luận vLLM.
- Nhóm nghiên cứu xử lý ngôn ngữ tự nhiên tiếng Việt: Tham khảo kinh nghiệm thực nghiệm về kỹ thuật phân đoạn văn bản (chunk size 800, overlap 400), lượng tử hóa AWQ và phương pháp đánh giá mô hình bằng BERTScore kết hợp Human Evaluation.
Câu hỏi thường gặp
1. Trong bước tiền xử lý Sổ tay sinh viên NTTU 2023 - 2024, tác giả đã thiết lập thông số phân đoạn văn bản (chunking) như thế nào?
Văn bản sau khi làm sạch được cắt thành các đoạn có độ dài 800 ký tự (chunk_size = 800), với độ trùng lặp giữa hai đoạn liền kề là 400 ký tự (chunk_overlap = 400), tạo ra tổng cộng 184 đoạn dữ liệu nạp vào cơ sở dữ liệu vector.
2. Hệ thống hỏi đáp trong khóa luận sử dụng những công nghệ nào cho các tầng Front-end, Back-end và Vector Database?
Front-end được xây dựng bằng ReactJS, TailwindCSS và HTML; Back-end sử dụng Python với framework FastAPI, LangChain và vLLM; cơ sở dữ liệu vector lưu trữ và truy vấn nhúng ngữ nghĩa là Qdrant.
3. Khóa luận đã thực nghiệm và so sánh những mô hình ngôn ngữ lớn (LLM) nào?
Tác giả đã thực nghiệm và đánh giá 4 cấu hình mô hình gồm: vietcuna-7b-v3, vietcuna-7b-v3-AWQ (phiên bản lượng tử hóa AWQ), PhoGPT-7B5-Instruct, và vietzephyr-7b-8bit-lora (mô hình Zephyr-7b-beta tinh chỉnh qua LoRA 8-bit).
4. Kỹ thuật lượng tử hóa AWQ có ưu điểm gì so với các phương pháp lượng tử hóa cắt bit truyền thống theo phân tích của tác giả?
AWQ (Activation-aware Weight Quantization) nhận diện và giữ lại từ 0.1% đến 1% trọng số quan trọng nhất dựa trên phân phối kích hoạt (activation) và thực hiện nhân tỉ lệ theo kênh (per-channel scaling), giúp giảm dung lượng mô hình mà không làm tăng mạnh chỉ số Perplexity (PPL) như việc ép kiểu bit hoàn toàn.
5. Những phương pháp nào được tác giả sử dụng để đánh giá chất lượng của hệ thống hỏi đáp?
Đề tài sử dụng 3 phương pháp đánh giá: độ đo Perplexity (PPL) để đánh giá độ mất mát của mô hình ngôn ngữ; chỉ số BERTScore (Precision, Recall, F1) để đánh giá mức độ tương đồng ngữ nghĩa của câu trả lời; và phương pháp đánh giá định tính của con người (Human Evaluation) thông qua bộ 15 câu hỏi thực nghiệm.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Phát đã hoàn thành mục tiêu thiết kế và triển khai một hệ thống hỏi đáp miền mở tiếng Việt hoàn chỉnh dựa trên kiến trúc RAG hiện đại. Bằng việc kết hợp cơ sở dữ liệu vector Qdrant, bộ lọc tái xếp hạng BERT Re-ranker và các mô hình ngôn ngữ lớn mã nguồn mở được tối ưu hóa qua kỹ thuật lượng tử hóa AWQ và LoRA, hệ thống đáp ứng tốt nhu cầu tra cứu thông tin học vụ từ Sổ tay sinh viên Đại học Nguyễn Tất Thành và kiến thức bách khoa từ Wikipedia. Đề tài cung cấp cơ sở lý luận chi tiết, quy trình thực nghiệm rõ ràng và đóng vai trò là tài liệu tham khảo kỹ thuật giá trị trong lĩnh vực xử lý ngôn ngữ tự nhiên ứng dụng trên tiếng Việt.