Việc tận dụng sức mạnh các mô hình ngônngữ lớn này vào các hệ thống hỏi đáp cho một đang có rất nhiều tiềm năng phát triển,đặc biệt phục vụ hỏi đáp dựa trên các tài liệu nội bộ trong các
Trang 1
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
NGUYỄN NGUYÊN NGỌC
HỆ THỐNG HỎI ĐÁP HỖ TRỢ HỌC VỤ SỬ DỤNG MÔ HÌNH NGÔN NGỮ LỚN
Chuyên ngành : KHOA HỌC MÁY TÍNH
Mã số : 8480101
LUẬN VĂN THẠC SĨ
Trang 2
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM
Cán bộ hướng dẫn khoa học : PGS.TS Huỳnh Tường Nguyên PGS.TS Quản Thành Thơ
Cán bộ chấm nhận xét 1 : PGS.TS Võ Thị Ngọc Châu Cán bộ chấm nhận xét 2 : TS Nguyễn Hồng Bửu Long Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP HCM, ngày 11 tháng 06 năm 2024
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 Chủ tịch : PGS.TS Lê Hồng Trang
2 Thư ký : TS Nguyễn Thị Ái Thảo 3 Phản biện 1: PGS.TS Võ Thị Ngọc Châu 4 Phản biện 2: TS Nguyễn Hồng Bửu Long 5 Ủy viên : TS Nguyễn Vinh Tiệp Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYỄN NGUYÊN NGỌC MSHV: 2270212 Ngày, tháng, năm sinh: 25/04/1994 Nơi sinh: Quảng Ngãi Chuyên ngành: Khoa học Máy tính Mã số : 8480101
I TÊN ĐỀ TÀI: HỆ THỐNG HỎI ĐÁP HỖ TRỢ HỌC VỤ SỬ DỤNG MÔ HÌNH NGÔN NGỮ LỚN (CHATBOT IN EDUCATIONAL DOMAIN USING LARGE LANGUAGE MODEL) II NHIỆM VỤ VÀ NỘI DUNG:
- Xây dựng hệ thống hỏi đáp hỗ trợ học vụ sử dụng mô hình ngôn ngữ lớn dựa trên các quy định của Trường Đại học Bách Khoa – ĐHQG TP.HCM
- Nghiên cứu và đề xuất các phương pháp nhằm cải thiện độ chính xác của mô hình cơ sở - Thực nghiệm và đánh giá kết quả của mô hình đề xuất
III NGÀY GIAO NHIỆM VỤ : 15/01/2024 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/05/2024 V CÁN BỘ HƯỚNG DẪN : PGS.TS HUỲNH TƯỜNG NGUYÊN PGS.TS QUẢN THÀNH THƠ
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp này, em đã nhận được sự hỗ trợ tích cực từ rấtnhiều phía Trước hết, em xin bày tỏ lòng biết ơn sâu sắc đến hai thầy hướng dẫn trực
tiếp là PGS.TS Quản Thành Thơ và PGS.TS Huỳnh Tường Nguyên Thầy Thơ đã
định hướng, theo dõi quá trình thực hiện đề tài từ lúc còn giai đoạn thực tập, đề cươngđến luận văn hiện tại Những kiến thức từ các môn học của thầy cũng đã cung cấp choem được nhiều kiến thức để em thực hiện đề tài này Thầy Nguyên cũng đã đưa ra nhữngý kiến, định hướng quý báu để em hoàn thiện luận văn Những kiến thức học được từthầy đã mở ra cho em nhiều ý tưởng và phương pháp tiếp cận để áp dụng lý thuyết vàothực tiễn
Em xin chân thành cảm ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy cô trong KhoaKhoa học và Kỹ thuật Máy tính và quý thầy cô trong Trường Đại học Bách Khoa TP HồChí Minh Những kiến thức nhận được từ quý thầy cô là vô cùng quý giá và bổ ích, hỗtrợ rất lớn cho em có thể hoàn thành luận văn tốt nghiệp này
Em muốn gửi lời cảm ơn đến gia đình, ba, mẹ, em trai, người thân, bạn bè, nhữngngười đã quan tâm, động viên, giúp đỡ trong suốt quá trình học tập để em có đủ độnglực, niềm tin để hoàn thành tốt luận văn tốt nghiệp này
Cuối cùng, với lòng biết ơn sâu sắc, em xin gửi lời chúc sức khỏe cũng như nhữnglời chúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học và Kỹ thuật Máy tính -Trường Đại Học Bách Khoa - Đại Học Quốc Gia Thành phố Hồ Chí Minh
Trang 5TÓM TẮT LUẬN VĂN
Hệ thống hỏi đáp đã được nghiên cứu và ứng dụng trong thực tiễn trong cuộc sốnghằng ngày Trong những năm gần đây, hệ thống hỏi đáp đang được chú ý nhiều hơn dosự phát triển của các mô hình ngôn ngữ lớn Việc tận dụng sức mạnh các mô hình ngônngữ lớn này vào các hệ thống hỏi đáp cho một đang có rất nhiều tiềm năng phát triển,đặc biệt phục vụ hỏi đáp dựa trên các tài liệu nội bộ trong các tổ chức, trường học Tuy nhiên, việc chỉ dựa vào các tham số huấn luyện trước của mô hình dễ dẫn đến cáccâu trả lời thường không chính xác, do không đủ kiến thức được cập nhật Một trong
những hướng tiếp cận đang được quan tâm gần đây để giải quyết vấn đề này là Retrieval
Augmented Generation (RAG), bằng việc truy xuất thông tin từ nguồn kiến thức bên
ngoài để bổ sung thông tin trong quá trình đưa ra câu trả lời Mặc dù các mô hình dựavào RAG đã cải thiện vấn đề hỏi đáp cho một lĩnh vực cụ thể, tuy nhiên hiện tại mô hìnhnày cũng còn nhiều hạn chế Một trong những vấn đề chính là mô hình Retrieval khôngtruy xuất các thông tin đầy đủ liên quan đến câu hỏi gây ra vấn đề ảo giác, dẫn đến ảnhhưởng của chất lượng của câu trả lời Do đó trong luận văn tốt nghiệp này, dựa trên cơ sởcủa mô hình Retrieval Augmented Generation, học viên bổ sung thêm các phương phápđể tăng tính hiệu quả cho mô hình, cụ thể: tiền xử lý dữ liệu bằng kỹ thuật Parent ChildDocument, áp dụng kỹ thuật Hybrid Search và phân loại câu hỏi để tăng hiệu suất tìmkiếm thông tin, bổ sung kỹ thuật Multiquery để tăng tính hiệu quả truy vấn, bên cạnh đóhuấn luyện mô hình xếp hạng Cross-encoder để có được các tài liệu liên quan nhất đến
câu hỏi và cuối cùng đưa ra một mô hình hoàn thiện cho Hệ thống hỏi đáp hỗ trợ học
vụ sử dụng mô hình ngôn ngữ lớn.
Trang 6ABSTRACT OF DISSERTATION
Question-answering systems have been extensively researched and applied in tical everyday life In recent years, these systems have garnered more attention due tothe advancements in large language models Leveraging the power of these large lan-guage models for question-answering systems holds great potential for development, es-pecially in serving query-based questions using internal documents within organizations,schools, and other institutions However, relying solely on pre-trained model parameterscan often lead to inaccuracies in responses due to insufficiently updated knowledge One
prac-recent approach that has gained significant interest in addressing this issue is Retrieval
Augmented Generation (RAG), which involves retrieving information from external
knowledge sources to supplement information during the answer generation process.Although RAG-based models have improved question-answering for specific domains,they still have several limitations One of the main issues is that the Retrieval modelmay not retrieve sufficiently relevant information related to the question, leading to thedegradation of answer quality Therefore, in this thesis, based on the foundation of theRetrieval Augmented Generation model, the student proposes additional methods to en-hance the effectiveness of the model Specifically, they incorporate data preprocessingtechniques using the Parent Child Document technique, applying Hybrid Search tech-niques and question classification to enhance information retrieval efficiency, supple-ment Multiquery technique to improve query efficiency, and additionally train a Cross-encoder ranking model to obtain the most relevant documents related to the question
Finally, a complete pipeline model was built for Chatbot in the educational domain
using a large language model.
Trang 7LỜI CAM ĐOAN
Học viên xin cam đoan luận văn tốt nghiệp: “HỆ THỐNG HỎI ĐÁP HỖ TRỢ HỌCVỤ SỬ DỤNG MÔ HÌNH NGÔN NGỮ LỚN” là công trình nghiên cứu của bản thân
Những phần tài liệu được sử dụng trong luận văn đã được nêu rõ trong phần Tài liệu
tham khảo Các số liệu, kết quả trình bày trong luận văn là hoàn toàn trung thực, nếu cósai sót học viên xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của bộ môn và nhàtrường đề ra
Học viên
Nguyễn Nguyên Ngọc
Trang 8Mục lục
1.1 Giới thiệu chung 1
1.2 Mục tiêu của đề tài 4
1.3 Giới hạn đề tài và đối tượng nghiên cứu 5
1.4 Đóng góp của luận văn 5
1.5 Tóm tắt nội dung 6
2CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN72.1 Hệ thống hỏi đáp 7
2.1.1 Phương pháp tiếp cận cổ điển 8
2.1.2 Phương pháp tiếp cận hiện đại 9
2.2 Mô hình Retrieval-Augmented Generation 11
2.3 Thảo luận 14
3CƠ SỞ LÝ THUYẾT163.1 Kỹ thuật Word Embedding 16
3.1.1 Mô hình Skip-Gram 16
3.1.2 Mô hình CBOW 18
3.2 Mô hình Transformer 19
3.2.1 Kỹ thuật Scaled Dot-Product Attention 21
3.2.2 Kỹ thuật Multi-Head Attention 21
3.2.3 Khối Positional Encoding 23
3.3 Mô hình ngôn ngữ lớn 24
3.4 Mô hình GPT 26
Trang 94MÔ HÌNH ĐỀ XUẤT29
4.1 Mô hình tham khảo 29
4.2 Phương pháp đánh giá 31
4.2.1 Đánh giá mô hình truy xuất thông tin 31
4.2.2 Đánh giá mô hình sinh câu trả lời 32
4.3 Xử lý dữ liệu 36
4.4 Mô hình đề xuất 38
4.4.1 Mô hình Parent Document Retriever 39
4.4.2 Mô hình truy xuất Hybrid search 40
4.5.4 Đánh giá mô hình truy xuất 49
4.5.5 Đánh giá mô hình sinh câu trả lời 50
4.5.6 Thảo luận 54
4.6 Triển khai mô hình 58
5KẾT LUẬN615.1 Kết quả đạt được 61
5.2 Hạn chế và vấn đề tồn đọng 62
5.3 Hướng phát triển 62
A KẾT QUẢ CHI TIẾT ĐÁNH GIÁ HỆ THỐNG TRÊN TẬP KIỂM TRA71
Trang 10Danh sách hình vẽ
1.1 Minh họa ứng dụng hệ thống hỏi đáp quy định học vụ trong trường Đại
học 3
2.1 Phân loại các hệ thống hỏi đáp 7
2.2 Phân loại phương pháp tiếp cận hệ thống hỏi đáp 9
2.3 Mô tả mô hình RAG 12
3.1 Mô hình skip-gram tập trung vào xác suất của việc tạo ra các từ xungquanh một từ trung tâm cho trước 17
3.2 Mô hình CBOW tập trung vào xác suất có điều kiện tạo ra từ đích trungtâm dựa trên các từ ngữ cảnh cho trước 18
3.3 Kiến trúc mô hình Transformer 20
3.4 Scaled dot-product attention 22
3.5 Multi-head Attention 23
3.6 Khối Decoder trên GPT 27
3.7 Quá trình dự đoán từ tiếp theo trên GPT 28
4.1 Kiến trúc mô hình chatClimate [1] 29
4.2 Ví dụ minh họa về dữ liệu 36
4.3 Ví dụ minh họa về chia nội dung quy định thành đoạn nhỏ 37
4.4 Ví dụ minh họa về chia nội dung quy định thành đoạn nhỏ (tt) 38
4.5 Ví dụ minh họa về chia đoạn quy định thành các đoạn nhỏ sử dụngRecursiveCharacterTextSplitter 39
4.6 Ví dụ minh họa về Parent Document Retriever 40
4.7 Ví dụ minh họa về Hybrid search 41
Trang 114.8 Ví dụ minh họa về Multiquery 42
4.9 Phân loại câu hỏi dựa trên từ khóa 43
4.10 Ví dụ minh họa về mô hình xếp hạng 44
4.11 Kiến trúc mô hình đề xuất Chatbot-PĐT 44
4.12 Kiến trúc hệ thống mô hình đề xuất Chatbot-PĐT 59
4.13 Giao diện web Chatbot-PĐT 60
Trang 12PDT 534.5 Kết quả đánh độ chính xác của câu trả lời trên tập kiểm tra của 4 mô hình
Coze AI, Base RAG, ChatGPT, Chatbot-PĐT 534.6 Phân bố điểm số câu trả lời của mô hình Chatbot-PĐT trong tập kiểm tra 544.7 Đánh giá độ chính xác của mô hình Chatbot-PĐT qua loại câu hỏi 544.8 Chi phí hệ thống cho mô hình Chatbot-PĐT 60A.1 Thử nghiệm hệ thống Chatbot-PĐT với bộ câu hỏi kiểm tra 71A.2 Thử nghiệm hệ thống Chatbot-PĐT với bộ câu hỏi kiểm tra (một số
trường hợp chi tiết) 80
Trang 13Bảng các thuật ngữ
Answer Relevance Tính liên quan của câu trả lời
Context Relevance Tính liên quan của ngữ cảnhConvolutional Neural Network (CNN) Mạng nơ-ron tích chập
Positional encoding Mã hóa thông tin vị tríPost-retrieval process Quá trình hậu xử lýQuestion Answering System (QAS) Hệ thống hỏi đápRecurrent Neural Networks (RNN) Mạng nơ-ron hồi quy
Trang 14Chương 1GIỚI THIỆU ĐỀ TÀI
1.1Giới thiệu chung
Trong thời gian gần đây, chúng ta đã chứng kiến rất nhiều tiến bộ trong các mô hìnhhọc sâu Việc sử dụng các mô hình học sâu ngày càng phổ biến rộng rãi và đem lại nhiều
lợi ích cho cộng đồng Đặc biệt hơn nữa, với sự ra đời của các mô hình ngôn ngữ lớn
(Large Language Models - LLMs) đã tạo nên một một bước tiến quan trọng trong lĩnh
vực trí tuệ nhân tạo (Artificial Intelligence - AI) và xử lý ngôn ngữ tự nhiên (Natural
Language Processing - NLP) Các mô hình như GPT-41, Llama-3 2 hay các phiên bảnthương mại ChatGPT3, Google Gemini 4 đã gây nhiều tiếng vang cho cộng đồng nhờkhả năng trả lời tự nhiên và có kiến thức sâu rộng trong nhiều lĩnh vực Các mô hìnhngôn ngữ lớn ngày càng đóng vai trò quan trọng và trở thành thành phần chính trong việcxây dựng các hệ thống hỏi đáp [2] Đồng thời nhiều mô hình mã nguồn mở xuất hiệnđã giúp cho việc tiếp cận các mô hình này càng dễ dàng hơn như Llama-2, Bloom [3],Falcon [4] Nắm bắt được xu hướng phát triển, các nhóm nghiên cứu đến từ các trườngĐại học và các công ty tổ chức trong nước ta cũng giới thiệu các mô hình ngôn ngữ lớn
1https://openai.com/index/gpt-4/2https://llama.meta.com/llama3/3https://chat.openai.com4https://gemini.google.com/
Trang 15dành cho Tiếng Việt, có thể kể đến như: URA-LLaMa-7B5, PhoGPT-7B5 6, 7B-v37, Với sự xuất hiện của các mô hình này đã thúc đẩy việc xây dựng các mô hìnhhỏi đáp để đáp ứng nhu cầu của nhiều người Gần đây, Bộ Thông tin và Truyền thông đãcông bố bản đồ công nghệ, trong đó chatbot là một trong những công nghệ được Chínhphủ khuyến cáo lựa chọn phát triển trong vòng 2 năm tới8.
Vietcuna-Hệ thống hỏi đáp (Question Answering System - QAS) [5] được hiểu là một môhình có khả năng trả lời những câu hỏi được đưa ra bằng ngôn ngữ tự nhiên của conngười Một hệ thống trả lời câu hỏi có thể được phân loại dựa trên nguồn thông tin mànó sử dụng để cung cấp câu trả lời [6]:
• Nguồn thông tin mở(Open domain): Hệ thống này có khả năng đáp ứng các câu hỏitrên mọi chủ đề, không bị ràng buộc bởi một nguồn thông tin cụ thể Điều này yêucầu hệ thống có khả năng xử lý và truy xuất thông tin từ một nguồn tri thức rộnglớn, sâu rộng và đa dạng
• Nguồn thông tin giới hạn/đóng (Closed domain): Trong trường hợp này, hệ thốngchỉ sử dụng thông tin từ một nguồn hạn chế hoặc từ một lĩnh vực cụ thể để trả lờicâu hỏi Các câu hỏi cần phải được giới hạn trong phạm vi nguồn thông tin đã chođể hệ thống có thể cung cấp câu trả lời chính xác, ví dụ như trong các lĩnh vực: ytế, giáo dục, luật pháp,
Ngoài những hệ thống có thể trả lời câu hỏi trên nhiều chủ đề, lĩnh vực thì các hệthống hỏi đáp có thể trả lời dùng nguồn thông tin nội bộ cũng rất được quan tâm Tronggiới hạn thông tin như trong trường Đại học, các hệ thống hỏi đáp dựa trên các văn bản,quy định hiện tại vẫn đang dược phát triển Lấy ví dụ, sinh viên thường có rất nhiều câuhỏi, thắc mắc liên quan đến các quy định về học vụ, thông tin môn học, đề cương Nhữngthắc mắc câu hỏi này được được giải quyết bằng một hệ thống trả lời câu hỏi thường gặp(FAQ - Frequently Asked Question) trả lời các câu hỏi lặp đi lặp lại Những hệ thốngnày thường vẫn không đáp ứng được yêu cầu của người hỏi Đồng thời do những thông
5https://huggingface.co/ura-hcmut/ura-llama-7b6https://huggingface.co/vinai/PhoGPT-7B57https://huggingface.co/vilm/vietcuna-7b-v38https://vnexpress.net/viet-nam-co-ban-do-cong-nghe-thong-tin-truyen-thong-4662555.html
Trang 16tin quy định này thường thay đổi theo từng năm, từng khóa dẫn đến cần đòi hỏi nhiều nỗlực của sinh viên để đọc các văn bản quy và tìm ra câu trả lời phù hợp Nhà trường cũngthường có những phòng ban để hỗ trợ sinh viên, tuy nhiên với số lượng sinh viên lớn thìđôi khi cũng chưa được hiệu quả Do đó việc xây dựng một hệ thống hỏi đáp có thể trảlời câu hỏi tự động về các vấn đề liên quan đến quy định, quy chế học vụ là hết sức cần
thiết trong trường Đại học Hình 1.1 mô tả một hệ thống hỏi đáp, trong đó người dùng
có thể hỏi đáp các thắc mắc về các quy định liên quan đến học vụ, quy định của trường
Hình 1.1: Minh họa ứng dụng hệ thống hỏi đáp quy định học vụ trong trường Đại học.
Các mô hình ngôn ngữ lớn hiện nay đã thể hiện khả năng vượt trội trong các bài toánngôn ngữ tự nhiên, việc tận dụng sức mạnh của các mô hình này vào các hệ thống hỏiđáp đang được chú ý nhiều Tuy nhiên việc chỉ dựa vào các tham số huấn luyện trước củamô hình dễ dẫn đến các câu trả lời thường không chính xác trong cả nguồn thông tin mở
Trang 17và nguồn thông tin đóng Một kỹ thuật gần đây được giới thiệu là Retrieval Augmented
Generation(RAG) [7] [8] để giải quyết các vấn để giải quyết những hạn chế này Trongquá trình đưa ra câu trả lời, RAG truy xuất thông tin từ các nguồn kiến thức bên ngoài,sử dụng dữ liệu này là nguồn tham khảo để đưa ra câu trả lời cuối cùng cho người dùng.Mặc dù RAG vẫn có một số hạn chế và thách thức nhất định trong quá trình truy xuất dữliệu, tuy nhiên với sự phát triển của các mô hình ngôn ngữ lớn hiện nay, kỹ thuật RAGcàng được chú ý hơn để cải thiện hiệu suất của các hệ thống hỏi đáp
Từ những nhận định trên học viên quyết định chọn thực hiện đề tài Hệ thống hỏi
đáp hỗ trợ học vụ sử dụng mô hình ngôn ngữ lớn Cụ thể hơn hệ thống hỏi đáp này sẽ
được xây dựng dựa trên mô hình RAG và nguồn thông tin từ các văn bản liên quan đếncác quy định học vụ của Trường Đại học Bách Khoa - ĐHQG TP.HCM, với mục tiêugiải đáp thắc mắc của người học ở Trường một cách hiệu quả
1.2Mục tiêu của đề tài
Mục tiêu của đề tài hướng đến việc nghiên cứu và xây dựng hệ thống hỏi đáp dựatrên mô hình ngôn ngữ lớn Trong đề tài này, học viên sẽ trình bày các công trình nghiêncứu liên quan, các phương pháp thường được sử dụng để xây dựng hệ thống hỏi đáp,nghiên cứu việc sử dụng các mô hình ngôn ngữ lớn trong hệ thống hỏi đáp dựa trên môhình RAG để xây dựng được một hệ thống hiệu quả Từ những mục tiêu tổng quát trên,học viên sẽ lần lượt giải quyết các vấn đề sau:
• Tìm hiểu hệ thống hỏi đáp nói và các phương pháp tiếp cận trong bài toán hỏi đáp;• Tìm hiểu về mô hình ngôn ngữ lớn và các công trình nghiên cứu liên quan đến việc
sử dụng các mô hình này trong các hệ thống hỏi đáp;• Thực nghiệm, cải tiến để đưa ra mô hình phù hợp cho hệ thống;• So sánh đánh giá kết quả của mô hình đề xuất;
• Chỉ ra những hạn chế và vấn đề tồn đọng, đề xuất các giải pháp cải tiến và mở rộngcủa bài toán trong tương lai
Trang 181.3Giới hạn đề tài và đối tượng nghiên cứu
Xây dựng hệ thống hỏi đáp là một bài toán rộng và có nhiều tác vụ cũng như nhiềucách tiếp cận khác nhau, vì vậy nội dung của đề tài sẽ được giới hạn như sau:
• Phương pháp tiếp cận áp dụng mô hình ngôn ngữ lớn cho hệ thống hỏi đáp;
• Ngôn ngữ sử dụng trong hệ thống là tiếng Việt;
• Sử dụng dữ liệu thu thập từ các văn bản (text) quy định liên quan đến sinh viên,
học viên, nghiên cứu sinh của Trường ĐH Bách Khoa – ĐHQG TP.HCM;
• Hệ thống chỉ có khả năng trả lời các câu hỏi liên quan đến dữ liệu đã được huấnluyện;
1.4Đóng góp của luận văn
Trong luận văn, học viên đề xuất cải thiện hiệu suất của mô hình cơ sở RAG chobài toán hỏi đáp:
• Áp dụng kỹ thuật Hybrid search và phân loại câu hỏi để tăng hiệu suất tìm kiếmthông tin
• Áp dụng phương pháp Parent Child Document để xử lý dữ liệu các quy định banđầu giúp cho việc truy xuất thông tin trở nên chính xác hơn
• Áp dụng phương pháp Multiquery để tạo thêm các câu hỏi tương đồng từ truy vấnban đầu để cải thiện quá trình truy xuất
• Huấn luyện và áp dụng mô hình Rerank tiếng Việt để xếp hạng các kết quả tốt nhấtsau khi truy xuất
• Đưa ra pipeline hoàn chỉnh cuối cùng và hiện thực giao diện linh hoạt để tương tácvới người dùng
Trang 191.5Tóm tắt nội dung
Ngoài chương 1 giới thiệu, trình bày tổng quan, lý do thực hiện đề tài và ý nghĩa
thực tiễn của bài toán, cũng như giới hạn và phạm vi của đề tài Các phần sau của Luận
văn Hệ thống hỗ trợ học vụ sử dụng mô hình ngôn ngữ lớn sẽ bao gồm các chương
với nội dung chính sau đây:
• Chương 2: Các công trình nghiên cứu liên quan.Chương này sẽ tìm hiểu và tổnghợp các nghiên cứu, xu hướng phát triển liên quan tới đề tài đang nghiên cứu
• Chương 3: Cơ sở lý thuyết. Chương này tổng hợp những lý thuyết liên quan đểtriển khai cho bài toán, tập trung chủ yếu vào giới thiệu các mô hình ngôn ngữ lớn,mô hình Transformer, kỹ thuật Embedding
• Chương 4: Mô hình đề xuất.Chương này sẽ trình bày mô hình tham khảo mà họcviên sẽ làm cơ sở, từ đó đưa ra đề xuất cải tiến và các hướng thực hiện để phù hợpvới đề tài học viên đang nghiên cứu
• Chương 5: Kết luận.Chương này sẽ tổng hợp các kết quả đạt được trong quá trìnhthực hiện luận văn từ bước nghiên cứu và xây dựng mô hình đề xuất đến triển khaithực nghiệm Phần này cũng trình bày những hạn chế và vấn đề tồn đọng và đề xuấtcác giải pháp cải tiến trong tương lai
Mục lục, Danh sách hình vẽ, Danh sách bảng được cung cấp ở đầu luận văn Tàiliệu tham khảo, Phụ lục sẽ được trình bày ở cuối luận văn.
Trang 20Chương 2CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
2.1Hệ thống hỏi đáp
Hệ thống hỏi đápđã có một quá trình phát triển dài từ những năm 1960 [6] trước khicó những bước chuyển mình phát triển vượt bật như hôm nay Hệ thống hỏi đáp thườngđược phân loại dựa trên nguồn của dữ liệu, loại câu hỏi và phương pháp xây dựng hệthống [5], [9], [10]
Hình 2.1: Phân loại các hệ thống hỏi đáp.
Một hệ thống trả lời câu hỏi có thể được phân loại dựa trên nguồn thông tin mà nósử dụng để cung cấp câu trả lời [6]
• Nguồn thông tin mở(Open domain): Hệ thống này có khả năng đáp ứng các câu hỏi
Trang 21trên mọi chủ đề, không bị ràng buộc bởi một nguồn thông tin cụ thể Điều này yêucầu hệ thống có khả năng xử lý và truy xuất thông tin từ một nguồn tri thức rộnglớn, sâu rộng và đa dạng.
• Nguồn thông tin giới hạn/đóng (Closed domain): Trong trường hợp này, hệ thốngchỉ sử dụng thông tin từ một nguồn hạn chế hoặc từ một lĩnh vực cụ thể để trả lờicâu hỏi Các câu hỏi cần phải được giới hạn trong phạm vi nguồn thông tin đã chođể hệ thống có thể cung cấp câu trả lời chính xác, ví dụ như trong các lĩnh vực: ytế, giáo dục, luật pháp,
Trong khi đó, hệ thống hỏi đáp có thể phân chia theo loại câu hỏi [11] Loại câu
hỏi được chia thành hai loại chính là câu hỏi thông thường và câu hỏi phức tạp Câu hỏithông thường là những câu hỏi có thể bắt đầu hoặc chứa những từ cái gì, khi nào, ở đâu,
là ai(bắt đầu bằng từ khóa wh trong tiếng anh what, when, where, which, who) Nhữngcâu hỏi này không đòi hỏi xử lý sâu để có được câu trả lời Câu hỏi dạng thứ hai là câu
hỏi phức tạp, những câu hỏi thường là những câu hỏi tại sao, như thế nào (why, how) vànhững câu hỏi xác nhận có không (yes/no question) Đây là những dạng câu hỏi thường
đòi hỏi phải tổng hợp nhiều nguồn thông tin, mô hình cần có khả năng suy luận, đưa racác suy nghĩ tuần tự để có thể có được câu trả lời cuối cùng
Bên cạnh đó, hệ thống hỏi đáp có thể được phân chia theo phương pháp tiếp cận
[11], bao gồm 2 hướng chính: cách tiếp cận cổ điển (Classical) và cách tiếp cận hiện đại(Modern) Các phương pháp cổ điển tập trung vào các cách tiếp cận như rule-based và
retrieval-based, trong khi hướng tiếp cận hiện đại tập trung vào các mô hình học sâu vàgần đây là các mô hình ngôn ngữ lớn dựa trên Transformer đang được chú ý rất nhiều
2.1.1Phương pháp tiếp cận cổ điển
Phương pháp dựa trên rule-based [12] cho hệ thống hỏi đáp được xây dựng dựa trênmột loạt các quy tắc và mô hình đã được xác định trước để tìm câu trả lời phù hợp vớicâu hỏi Những quy tắc này thường được phát triển bởi các chuyên gia trong lĩnh vựchoặc thông qua việc gán nhãn dữ liệu thủ công Hướng tiếp cận này có thể chia thành
Trang 22Hình 2.2: Phân loại phương pháp tiếp cận hệ thống hỏi đáp.
nhiều loại như dựa trên mẫu (template-based) [13], dựa trên cú pháp (syntax-based) [14]và dựa trên ngữ nghĩa (semantic-based) [15] Các kỹ thuật này thường đòi hỏi nhiều nỗlực để xây dựng các đặc trưng thủ công và yêu cầu kinh nghiệm trong các lĩnh vực liênquan
Phương pháp học máy dựa trên retrieval-based (truy xuất thông tin) [16] dựa trênviệc tiền xử lý và chỉ mục dữ liệu để làm cho mô hình có thể tìm kiếm được thông tin
cần thiết Sau đó, mô hình sử dụng các phương pháp như cosine similarity hoặc TF-IDF
để tìm câu trả lời phù hợp nhất với câu hỏi Những phương pháp này rất hiệu quả chocác tác vụ mà câu hỏi và câu trả lời đã có sẵn trong một kho văn bản lớn, chẳng hạn nhưthông qua một công cụ tìm kiếm hoặc một hệ thống truy xuất tài liệu Tuy nhiên, nhữngmô hình này không thể hiểu ý nghĩa của văn bản và có thể cung cấp kết quả không liênquan Những phương pháp này chủ yếu dựa trên việc khớp từ khóa hoặc mẫu, và mô hìnhkhông thể hiểu được ngữ cảnh hoặc ý định của câu hỏi Ngoài ra, những phương phápnày cần một lượng lớn dữ liệu đã được gán nhãn để hoạt động hiệu quả
2.1.2Phương pháp tiếp cận hiện đại
Học sâu là một trong những phương pháp tiếp cận hiện đại cho hệ thống hỏi đápdựa trên các mạng neural để hiểu ngôn ngữ tự nhiên Những mạng này được đào tạo trên
Trang 23lượng lớn dữ liệu và có khả năng hiểu ý nghĩa của văn bản Các kiến trúc phổ biến baogồm mạng CNN, mạng LSTM, mạng RNN và các biến thể của các mô hình này Nhữngmô hình này có thể được tinh chỉnh cho các nhiệm vụ cụ thể như hỏi đáp [17], có khảnăng hiểu ngữ cảnh và ý định của câu hỏi, và chúng có thể cung cấp các phản hồi phùhợp và tự nhiên.
Sau những kết quả đáng chú ý của các mô hình Seq2Seq dựa trên RNN kết hợpvới cơ chế attention, Transformer đã được giới thiệu như một hướng tiếp cận mới chohệ thống hỏi đáp Mô hình này cho phép thông tin có thể được “chú ý” từ cả hai hướngkhi tổng hợp vector biểu diễn cho một từ trong văn bản, đồng thời hỗ trợ việc tính toánsong song [18] Có thể thấy Transformer đã khắc phục được các hạn chế của các môhình Seq2Seq trước đó và mang lại nhiều cải tiến cho các bài toán NLP nói chung vàhệ thống hỏi đáp nói riêng Kể từ khi Transformer ra đời, nhiều mô hình ngôn ngữ lớnđược tiền huấn luyện dựa trên Transformer có thể kể đến như BERT [19], GPT-3 [20],Llama-2 [21], Các mô hình ngôn ngữ lớn dựa vào Transformer này có thể được chiathành ba nhóm chính: Encoder only, Decoder only và Encoder-Decoder [9]
• Encoder only, ví dụ nổi bật như BERT, RoBERTa, mô hình sẽ mã hóa dữ liệu đầuvào để tạo thành một dạng vector biểu diễn chứa đựng thông tin ngữ nghĩa cho cácứng dụng khác như phân loại, nhận dạng thực thể, đo lường sự tương đồng ngữnghĩa trong trong các mô hình truy xuất thông tin và hệ thống hỏi đáp
• Encoder-Decoder, mô hình gồm hai khối Encoder và Decoder Khối Encoder sẽ mãhóa dữ liệu đầu vào thành vector embedding, sau đó khối Decoder sẽ sẽ thực hiện
chú ý chéo (cross attention) trên các vector đầu vào và tạo ra chuỗi mục tiêu Cácmô hình tiêu biểu như T5 [22], BART [23] đã cho nhiều hiệu quả trên nhiều bàitoán NLP
• Decoder only, dữ liệu nhập vào sẽ được đưa vào trực tiếp đưa vào khối Encoder kếthợp với ngữ cảnh dựa trên lời nhắc (prompt) từ đó sẽ tạo ra chuỗi đầu ra Mô hìnhGPT-3 đã chứng minh độ hiệu quả của kiến trúc này
Trang 242.2Mô hình Retrieval-Augmented Generation
Hiện nay, các mô hình ngôn ngữ lớn thể hiện sự vượt trội trong hầu hết các bàitoán xử lý ngôn ngữ tự nhiên [20] [21] [24] , dẫn đến các hệ thống hỏi đáp dựa trên cácmô hình ngôn ngữ lớn ngày càng được chú ý Tuy nhiên các mô hình này thường gặpphải một số vấn đề chính đó là dữ liệu không được cập nhật và thiếu kiến thức trongcác nguồn hay miền thông tin đóng Một trong những phương pháp được chú ý nhiều đểgiải quyết những vấn đề này trong thời gian gần đây đó là việc tích hợp cơ sở dữ liệucủa kho ngữ liệu liên quan tới nguồn thông tin cần quan tâm với mô hình ngôn ngữ lớn[25] Phương pháp này được gọi là Retrieval-Augmented Generation (RAG), kiến trúcnày được giới thiệu lần đầu vào năm 2020 [7] Cách tiếp cận này lấy thông tin từ cơ sởdữ liệu bên ngoài, sử dụng dữ liệu truy xuất được là đầu vào cho các mô hình ngôn ngữ
lớn để tổ chức và đưa ra câu trả lời Một quy trình cơ bản cho RAG được mô tả như Hình
2.3 và được trình bày như dưới đây [25]:
• Tiền xử lý dữ liệu và phân đoạn (pre-processing and chunking) Làm sạch và tríchxuất các dữ liệu cần thiết từ các định dạng khác nhau như PDF, Word, HTML, Sau đó tiến hành chia văn bản đã được xử lý trước đó thành các đoạn nhỏ hơn Điềunày cần thiết vì đa phần các mô hình ngôn ngữ lớn đều có giới hạn về số lượngtoken ngữ cảnh
• Embedding và tạo chỉ mục (Embedding and Indexing) Đây là quá trình mã hóavăn bản thành các vector embedding thông qua một mô hình ngôn ngữ, sau đó sẽtiến hành tao chỉ mục, lưu trữ các phần văn bản gốc và vector nhúng dưới dạng cặpkhóa-giá trị để thuận tiện cho việc tìm kiếm sau này
• Truy xuất (Retrieval) Câu hỏi của người dùng sẽ được mã hóa thành vector cùngmô hình ban đầu Sau đó mô hình sẽ tính toán sự tương đồng giữa câu hỏi và cácđoạn văn bản liên quan Cuối cùng các đoạn văn bản liên quan nhất sẽ được chọnlàm thông tin ngữ cảnh cho câu hỏi
• Sinh câu trả lời (Generation) Câu hỏi, các văn bản liên quan tới câu hỏi được kếthợp với một lời nhắc (prompt) làm đầu vào cho mô hình ngôn ngữ lớn sinh ra câu
Trang 25trả lời Việc thử nghiệm nhiều lời nhắc khác nhau để tìm ra lời nhắc phù hợp là cầnthiết để có được câu trả lời tốt hơn.
Hình 2.3: Mô tả mô hình RAG.
Mô hình RAG trên cũng có một số thách thức cần cải thiện đó là: chất lượng củaquá trình truy xuất, chất lượng sinh câu trả lời và quá trình tăng cường [25] Kết quả quátrình truy xuất thấp rõ ràng ảnh hưởng dến quá trình sinh ra câu trả lời, các thông tin truyxuất không liên quan đến câu hỏi hoặc có quá ít thông tin để mô hình có đủ ngữ cảnh đểtổng hợp câu trả lời Về chất lượng sinh câu trả lời, ảo giác (hallucination) là một trongnhững vấn đề thường gặp phải nhất trong các bài toán có LLMs Bên cạnh đó, những câutrả lời thiên vị, độc hại, cũng là một vấn đề cần được chú ý Cuối cùng, quá trình tăngcường cũng có những thách thức nhất định Việc kết hợp hiệu quả giữa ngữ cảnh từ cácđoạn văn liên quan với mục đích của mỗi bài toán là hết sức quan trọng Đồng thời kỹthuật sử dụng lời nhắc (prompt) cho mô hình ngôn ngữ lớn hiện nay cũng đang rất đượcchú ý
Để giải quyết những thách thức trên, hiện nay có nhiều hướng tiếp cận, một trong số
đó là cải thiện lời nhắc (prompt) Những kỹ thuật như Few-shot Prompting [20],
Chain-of-Thought Prompting [26], ReAct [27] cho thấy những hiệu quả nhất định trong quátrình sinh ra câu trả lời Những phương pháp này cũng đối mặt khó khăn khi nhiều mô
Trang 26hình bị giới hạn số lượng token ngữ cảnh (context lenght), dẫn tới không đủ thông tin
cho mô hình Hướng tiếp cận tiếp theo tập trung vào quá trình trích xuất thông tin Việcchia đoạn thông tin giữ lại tối đa ngữ cảnh cần thiết là vô cùng quan trọng vì nó ảnh
hưởng đến chất lượng câu trả lời Quá trình hậu xử lý (post-retrieval process) cũng cầnđược chú ý, việc xếp hạng (rerank) [28] lại các văn bản là hoàn toàn cần thiết để cóđược kết quả tốt hơn [25], [29] Hướng tiếp cận thứ ba tập trung vào quá trình tinh chỉnh
(fine-tune), trong đó tinh chỉnh mô hình Embedding ảnh hưởng trực tiếp đến hiệu quảcủa RAG [25] Bên cạnh đó, nếu có lượng thông tin đủ lớn dữ liệu liên quan đến lĩnhvực cần hỏi đáp, việc tinh chỉnh mô hình trên tập dữ liệu đó cũng cải thiện được chấtlượng của hệ thống [30] [31] Trong các phương pháp tinh chỉnh mô hình ngôn ngữ lớn,
Low-rank Adaptation(LoRA) [32] là phương pháp đang được quan tâm gần đây Trước
đó Adapter [33] cũng thường được hay sử dụng tuy nhiên phương pháp này làm chậm
quá trình suy luận và tăng chi phí tính toán cho mô hình LoRA và Adapter đều chia sẻmột ý tưởng chung, nhưng có sự khác biệt trong cách thực hiện Thay vì sử dụng mạngnơ-ron, LoRA thể hiện các cập nhật trọng số thông qua hai ma trận nhỏ hơn (update
matrices) sử dụng low-rank decomposition Các ma trận này có thể được huấn luyện để
thích ứng với dữ liệu mới mà không làm ảnh hưởng đến mô hình cơ sở Ma trận trọng sốban đầu vẫn được giữ nguyên và không nhận bất kỳ điều chỉnh nào và LoRA không gâyra thêm độ trễ cho quá trình suy luận của mô hình
Ngày nay, các hệ thống hỏi đáp thương mại như ChatGPT hay Google Gemini ngàycàng thu hút được nhiều người sử dụng Bên cạnh đó việc tận dụng các mô hình ngônngữ lớn để giải quyết các bài toán cho hệ thống hỏi đáp liên quan tới một lĩnh vực cụthể cũng đang được quan tâm nhiều [1], [30], [31], [34] Trong [34], nhóm tác giả thựchiện một giải pháp mô hình ngôn ngữ được thiết kế để cung cấp hỗ trợ sức khỏe tâm lýgọi là ChatCounselor Mô hình này được huấn luyện dựa trên các cuộc trò chuyện thựctế giữa các các khách hàng tư vấn và các nhà tâm lý học chuyên nghiệp, giúp nó sở hữukiến thức chuyên sâu và kỹ năng tư vấn trong lĩnh vực tâm lý học ChatCounselor dựatrên mô hình mã nguồn mở Vicuna-v1.3-7B [35] được đánh giá dựa trên trên GPT-4 vàcác tiêu chí về tư vấn tâm lý đã vượt qua các mô hình mã nguồn mở hiện tại, thể hiện sựcải thiện đáng kể thông qua việc huấn luyện, tinh chỉnh (fine-tune) cho thông tin trong
Trang 27một lĩnh vực cụ thể Mô hình trong [31] cũng là một cách tiếp cận tương tự mô hình vừađề cập, nhóm tác giả đã sử dụng mô hình ngôn ngữ lớn mã nguồn mở Bloomz [36] đểxây dựng mô hình Bloomz-Doctor cho tiếng Việt Nhóm tác giả sử dụng các nguồn dữliệu đã chia sẽ công khai liên quan đến lĩnh vực y tế và dịch qua tiếng Việt Dữ liệu sauđó fine-tune cho mô hình đã thể hiện với số điểm 73.92/100 trên 100 câu hỏi ngẫu nhiênliên quan đến các bệnh tật Cả hai mô hình [34] và [31] đều fine-tune các mô hình ngônngữ lớn mã nguồn mở dựa trên tập dữ liệu cho một lĩnh vực cụ thể và cho kết quả kháấn tượng, tuy nhiên vẫn còn một vấn đề được chỉ ra là sự cập nhật của mô hình khi códữ liệu mới Vì khi có dữ liệu mới, chi phí huấn luyện, fine-tune lại cho mô hình thườngtốn kém dẫn tới đây vẫn còn là một thách thức để cải thiện Để giải quyết vấn đề này, cácmô hình [1], [30] đề xuất tích hợp thêm cơ sở dữ liệu bên ngoài để cập nhật kiến thứccho mô hình Điều này làm cải thiện khả năng đáng kể của khả năng trả lời chính xáccủa mô hình, đồng thời giảm chi phí huấn luyện mô hình Trong mô hình [1], nhóm tác
giả có đề xuất mô hình kết hợp (hybrid) kiến thức từ tiền huấn luyện (pre-train) của mô
hình và kiến thức truy xuất từ cơ sở dữ liệu tích hợp để đưa ra câu trả lời Phương phápnày được đánh giá trong bài báo là tốt hơn so với chỉ sử dụng kiến thức sẵn có của môhình hay kiến thức từ nguồn thông tin tích hợp
2.3Thảo luận
Có thể thấy việc áp dụng các mô hình ngôn ngữ lớn hiện đang là xu hướng mới chocác hệ thống hỏi đáp, đặc biệt là các mô hình Decoder only, tiêu biểu là sự nổi bật củacác mô hình GPT-3, GP-4, Llama-3, Bên cạnh đó việc áp dụng mô hình RAG vào bàitoán xây dựng hệ thống hỏi đáp cho một lĩnh vực riêng biệt đang được chú ý nhiều gầnđây khi các mô hình ngôn ngữ lớn bùng nổ RAG sẽ tối ưu hơn cho hệ thống hỏi đáp vềnguồn thông tin giới hạn trong một lĩnh vực cụ thể nào đó (closed domain) về chi phíhuấn luyện và cập nhật dữ liệu so với việc fine-tune mô hình Đây cũng là hướng tiếpcận được lựa chọn nhiều gần đây với các mô hình đã tìm hiểu ở trên như ChatDoctor,Chatclimate Đồng thời, việc cải thiện các mô hình RAG là hoàn toàn cần thiết để tăngđộ hiệu quả cho hệ thống Các kỹ thuật tiền xử lý dữ liệu và hậu xử lý quá trình truy xuất
Trang 28là vô cùng quan trọng để tăng độ chính xác cho mô hình cơ sở và có nhiều triển vọng đểnâng cao hiệu suất tổng thể của mô hình.
Trang 29Chương 3CƠ SỞ LÝ THUYẾT
3.1Kỹ thuật Word Embedding
Word2veclà một công cụ được phát minh để giải quyết vấn đề không thể biểu diễnmột cách chính xác độ tương tự giữa các từ khác nhau mà trước đó thường dùng one-hotvector để biểu diễn Đồng thời, kỹ thuật word2vec cũng đã giải quyết vấn đề tương quanngữ nghĩa của mô hình Auto-Encoder khi biến đổi các từ trong một kho ngữ liệu thànhcác vector bằng cách dựa vào thông tin ngữ cảnh (contextual information) của chúngtrong kho ngữ liệu đó Vì vậy, mô hình sẽ học để sinh ra các vector tương tự nhau chonhững ngữ cảnh tương tự nhau Word2vec bao gồm hai mô hình chính: skip-gram [37]và túi từ liên tục (continuous bag of words – CBOW) [38] Chúng được sử dụng để huấnluyện và xây dựng các mô hình biểu diễn từ vựng
3.1.1Mô hình Skip-Gram
Mô hình skip-gram giả định rằng một từ có thể sinh ra các từ xung quanh nó trongmột chuỗi văn bản Chẳng hạn, nếu chuỗi là "anh", "yêu", "em", "nhiều", mô hình nàysử dụng từ "yêu" làm từ trung tâm và đặt kích thước cửa sổ ngữ cảnh là 2 Nó quan tâmđến xác suất có điều kiện để sinh ra các từ ngữ cảnh ("anh", "em", "nhiều") nằm trong
khoảng cách không quá 2 từ bắt đầu từ từ trung tâm "yêu", như mô tả trong Hình 3.1:
Trang 30P("anh", "em", "nhiều"|"yêu") (3.1)Mô hình giả định rằng, với từ trung tâm cố định, việc sinh ra các từ ngữ cảnh là độclập với nhau Do đó, công thức trên có thể được viết lại thành:
P("anh"|"yêu") · P("em"|"yêu") · P("nhiều"|"yêu") (3.2)
Hình 3.1: Mô hình skip-gram tập trung vào xác suất của việc tạo ra các từ xung quanh một từ
trung tâm cho trước.
Trong mô hình skip-gram, mỗi từ có hai biểu diễn d-dimensional vector: vi và ui,tương ứng với việc sử dụng từ đó làm trung tâm và từ ngữ cảnh Xác suất của việc tạo ramột từ ngữ cảnh cụ thể wo (với chỉ số o trong từ điển) khi từ trung tâm là wc (với chỉ sốctrong từ điển) được ước lượng bằng cách sử dụng softmax trên các tích vô hướng củahai vectơ:
P(wo| wc) = exp(u
⊤ovc)∑i∈V exp(u⊤i vc) (3.3)Trong đó, tập chỉ số từ điển được ký hiệu làV = {0,1, ,|V |− 1} Cho một chuỗi vănbản có độ dài T với từ thứ t được biểu diễn là w(t) Giả sử rằng các từ ngữ cảnh được tạora độc lập cho mọi từ trung tâm Với kích thước cửa sổ ngữ cảnh là m, hàm mục tiêu củamô hình skip-gram là xác suất tạo ra tất cả các từ ngữ cảnh từ mọi từ trung tâm trongchuỗi:
Trang 31Ở đây, bất kỳ bước thời gian nào bé hơn 1 hoặc lớn hơn T có thể được bỏ qua trong tínhtoán.
3.1.2Mô hình CBOW
Mô hình túi từ liên tục (CBOW) tương tự như mô hình skip-gram Tuy nhiên, điểmkhác biệt chính của CBOW là nó giả định rằng từ trung tâm được dự đoán dựa trên cáctừ ngữ cảnh xuất hiện cả trước và sau nó trong chuỗi văn bản Ví dụ, nếu ta có một chuỗivăn bản chứa các từ "anh", "yêu", "em", "nhiều", trong đó "yêu" là từ trung tâm và kíchthước cửa sổ ngữ cảnh là 2, mô hình CBOW quan tâm đến xác suất để sinh ra từ "yêu"
dựa trên các từ ngữ cảnh như "anh", "em", "nhiều" (minh họa trong Hình 3.2).
P("yêu"|"anh", "em", "nhiều") (3.5)
Hình 3.2: Mô hình CBOW tập trung vào xác suất có điều kiện tạo ra từ đích trung tâm dựa trên
các từ ngữ cảnh cho trước.
Vì có nhiều từ ngữ cảnh trong mô hình túi từ liên tục, các vectơ từ ngữ cảnh nàyđược tính trung bình trong việc tính xác suất có điều kiện Cụ thể, với mọi từ có chỉ số itrong từ điển, được biểu diễn bởi vi∈ Rd
và ui∈ Rd
, đại diện cho từ context và từ center
(như trong mô hình skip-gram), tương ứng Xác suất có điều kiện để tạo ra từ trung tâmwc (với chỉ số c trong từ điển) dựa trên các từ ngữ cảnh xung quanh wo1, , wo2m (vớichỉ số o1, , o2mtrong từ điển) có thể được mô hình hóa bằng công thức:
Trang 32P(wc| wo1, , wo2m) = exp
12mu⊤c (vo1+ + vo2m)∑i∈V exp 2m1 u⊤i (vo1+ + vo2m) (3.6)Để viết ngắn gọn hơn, chúng ta có thể sử dụng Wo = {wo1, , wo2m} và ¯vo =(vo1+ + vo2m) /(2m) Khi đó, phương trình có thể được đơn giản hóa thành:
P(wc|Wo) = exp u
⊤c ¯vo
∑i∈V exp u⊤i ¯vo
Đối với một chuỗi văn bản có độ dài T , với từ thứ t được ký hiệu là w(t) Với kíchthước cửa sổ ngữ cảnh m, hàm mục tiêu của mô hình túi từ liên tục là xác suất tạo ra tấtcả các từ trung tâm dựa trên từ ngữ cảnh của chúng:
cách thiết kế Encoder và Decoder khác biệt như Hình 3.1 và điểm đặc biệt của mô hình
này nằm ở 3 kỹ thuật mới:• Kỹ thuật scaled dot-product attention: Kỹ thuật này cho phép Transformer thực hiện
cơ chế attention một cách hiệu quả hai chiều và song song Nó được sử dụng trongcác module Self Attention, Masked Self Attention và Encoder-Decoder Attention(Cross-Attention)
Trang 33• Kỹ thuật Multi-head: Kỹ thuật này áp dụng Self-Attention nhiều lần và tổng hợp kếtquả, tương tự như cách thức hoạt động của CNN Nhờ cơ chế attention đặc trưng,Multihead trên Transformer cũng có thể được song song hóa trong quá trình tínhtoán.
• Cơ chế Positional Encoding: Cho phép mã hóa thông tin vị trí vào các vector đầuvào Cơ chế này giúp mô hình biết vị trí tương đối của các từ trong câu
Hình 3.3: Kiến trúc mô hình Transformer
Trang 343.2.1Kỹ thuật Scaled Dot-Product Attention
Mục tiêu của thuật toán này là tạo ra ma trận attention để biểu diễn mối quan hệgiữa các thành phần trong một câu, quan hệ này quyết định việc tập trung vào phần nàotrong câu, đồng thời vẫn duy trì tính hiệu quả của tính toán Dot Product Attention nhậnđầu vào là một tập hợp các queries Q ∈ RT×dk, keys K ∈ RT×dk, và values V ∈ RT×dv,trong đó T là độ dài của câu, dk và dv là số chiều của queries/keys và values tương ứng
Scaled dot-product attention có biểu diễn toán học như sau:
Attention(Q, K, V) = softmax QKT
√dk
Trong đó:• Phép nhân ma trận QKT thực hiện việc nhân mỗi cặp query-key với nhau để tìm
mối quan hệ giữa chúng, tạo thành ma trận có kích thước T × T • Hàm softmax được áp dụng lên ma trận để chuẩn hóa trọng số attention về khoảng
(0, 1) Nếu nhân ma trận này với V, các từ cần được "chú ý" sẽ gần như giữ nguyêngiá trị, trong khi những từ không quan trọng sẽ bị giảm giá trị
• Hệ số scaling factor √1
dk
, hệ số này để duy trì phương sai của phép attention khôngbị lệch
3.2.2Kỹ thuật Multi-Head Attention
Cơ chế Multi-Head Attention mở rộng cơ chế attention đơn giản để mô hình có khảnăng xử lý các khía cạnh phức tạp và nghĩa đa chiều của các từ trong câu Thay vì sửdụng duy nhất một ma trận attention để biểu diễn mỗi từ, ta áp dụng nhiều heads để tạora nhiều ma trận attention từ nhiều cặp query-key-value khác nhau Công thức sau đâymô tả cơ chế Multi-Head Attention:
Multihead(Q, K, V) = Concat(head1, , headh) · WO (3.10)
Trang 35Hình 3.4: Scaled dot-product attention
Trang 36riêng của nó (WQi , WKi , WVi ) Các ma trận này sẽ tạo ra thông tin attention khác nhau,và việc kết hợp chúng thông qua ma trận trọng số WO sẽ tạo ra kết quả cuối cùng củaMulti-Head Attention.
Hình 3.5: Multi-head Attention
3.2.3Khối Positional Encoding
Cơ chế scaled dot-product attention trong mô hình Transformer không thể biểu diễnthông tin về vị trí của từ trong câu do không có cấu trúc tuần tự như mô hình RNN Đểgiải quyết vấn đề này, Vaswani và đồng nghiệp đã thêm một lớp positional encoding vàovéc-tơ embedding của từ trước khi đưa vào encoder và decoder
Positional encoding là một ma trận cùng kích thước với ma trận embedding và được
Trang 37tạo ra sử dụng các hàm sin và cosin theo công thức sau:
PE(pos, 2i) = sin
pos100002i/dmodel
(3.12)Trong đó:
• poslà vị trí của từ trong câu.• ilà chỉ số chiều trong ma trận positional encoding.• PE(pos, 2i) và PE(pos, 2i + 1) là giá trị tại hàng thứ pos của ma trận positional
encoding và chiều thứ 2i và 2i + 1 tương ứng trong ma trận.• dmodellà kích thước của vector embedding
Sau đó, ma trận positional encoding được cộng vào ma trận embedding của từ, vàkết quả sau khi nhân với√dmodel để nhúng thông tin về vị trí vào các vector embedding.Để minh họa điều này, Hai câu "Tôi yêu bạn" và "Bạn yêu tôi", thì các véc-tơ contextcủa các từ "Tôi", "yêu", "bạn" sẽ giống như nhau mặc dù về ngữ nghĩa là khác nhau Khithêm vào khối positional encoding sẽ được tạo ra với thông tin về vị trí riêng biệt, giúpmô hình hiểu được sự khác biệt về ngữ cảnh giữa hai câu dù chúng có cùng các từ vựng
3.3Mô hình ngôn ngữ lớn
Những mô hình ngôn ngữ đầu tiên được phát triển vào những năm 1950 và 1960.Những mô hình này dựa trên các quy tắc và đặc trưng ngôn ngữ do con người tạo ra(rule-based) để xử lý ngôn ngữ Chúng bị hạn chế về khả năng và không thể xử lý đượcsự phức tạp của NLP Các mô hình ngôn ngữ thống kê đã được phát triển vào những nămgiai đoạn 1980 đến 1980 Những mô hình này sử dụng các phương pháp xác suất để ước
Trang 38lượng khả năng xuất hiện của một chuỗi từ trong một ngữ cảnh nhất định Chúng có thểxử lý lượng dữ liệu lớn hơn và chính xác hơn so với các mô hình dựa trên quy tắc Tuynhiên, chúng vẫn có hạn chế trong khả năng hiểu ngữ nghĩa và ngữ cảnh của ngôn ngữ[40].
Bước đột phá lớn tiếp theo trong mô hình ngôn ngữ đã đến vào giữa những năm2010 với sự phát triển của các mô hình ngôn ngữ thần kinh (neural language model).Những mô hình này sử dụng các kỹ thuật học sâu để học các mẫu và cấu trúc của ngônngữ từ lượng lớn văn bản Mô hình ngôn ngữ thần kinh đầu tiên là mô hình ngôn ngữmạng nơ-ron hồi quy (RNNLM), được phát triển vào năm 2010 RNNLM có thể môhình hóa ngữ cảnh của từ và tạo ra văn bản tự nhiên hơn so với các mô hình trước đó.Vào năm 2015, Google giới thiệu mô hình ngôn ngữ thần kinh quy mô lớn đầu tiên đượcgọi là Google Neural Machine Translation (GNMT), mô hình này được huấn luyện trênmột số lượng lớn dữ liệu văn bản song ngữ và đạt hiệu quả rất tốt trên các bài toán Dịchmáy
Vào năm 2017, mô hình Transformer [39] được giới thiệu, đây là một trong nhữngtiền đề phát triển cho các mô hình ngôn ngữ lớn sau này Mô hình Transformer có thểhọc được ngữ cảnh dài hơn đồng thời cho phép huấn luyện song song trên nhiều đơn vịGPU, điều làm cho việc huấn luyện các mô hình ngôn ngữ lớn trong tương lai trở nênkhả thi hơn Năm 2018, OpenAI giới thiệu mô hình GPT-1 [41] đánh dấu một bước tiếnđáng kể trong NLP với kiến trúc dựa trên Transformer Mô hình này được huấn luyệndựa trên 2 bước gồm tiền huấn luyện không giám sát (unsupervised pre-training) và tinhchỉnh có giám sát (supervised fine-tuning) đã tạo ra sự quan tâm lớn trong cộng đồngcùng với tiềm năng trong các bài toán NLP Tiếp tục với những thành công trước đó,năm 2020, OpenAI giới thiệu mô hình GPT-3 [20], mô hình này có thể tạo ra văn bảnrất mạch lạc và tự nhiên và chứng minh tiềm năng của LLMs trong nhiều bài toán xửlý ngôn ngữ tự nhiên Ngày nay, rất nhiều mô hình ngôn ngữ lớn đã được phát triển nổibật như GPT-41, Llama-3 2, và cuộc đua tạo ra các mô hình tạo sinh và các ứng dụngxoay quanh nó đang được chú ý hơn bao giờ hết
1https://openai.com/index/gpt-4/2https://llama.meta.com/llama3/
Trang 39Transformer là kiến trúc phổ biến nhất mà mô hình ngôn ngữ lớn sử dụng hiện nayNgười ta thường phân loại mô hình ngôn ngữ lớn thành ba dạng theo mục đích sử dụng[9]:
• Encoder-only: cho phép model mã hóa câu đầu vào thành vector context để tổng
hợp ngữ nghĩa hiệu quả, dạng model này thích hợp cho những bài toán yêu cầu đọc
hiểu như: phân loại (classification), phân tích cảm xúc (sentiment analysis), tóm tắt
văn bản(text summarization), nhận dạng thực thể named entity recognition.
• Decoder-only: nhờ vào khả năng sinh từ auto-regressive, model dạng decoder-only
có thể tạo ra văn bản có liên kết và phù hợp với ngữ cảnh dựa trên lời nhắc (prompt)hoặc đầu vào cho trước, dạng model này phù hợp cho những hệ thống sinh văn bản
mang tính sáng tạo cao như: tóm tắt (summarization), hỏi đáp (question-answering),và trả lời sáng tạo (generating creative text) Đây là xu hướng chủ đạo của LLM
hiện nay vì model dạng decoder-only được huấn luyện không giám sát với dữ liệukhông nhãn (unlabel) rất lớn và có kiến trúc và kích thước được cải tiến nên có thểlàm tốt cả các yêu cầu của encoder-only và encoder-decoder
• Encoder-decoder: model có cả encoder và decoder như transformer, có thể đọc hiểuvà sinh văn bản Tuy nhiên, người ta ít chọn model dạng encoder-decoder để pháttriển thành mô hình ngôn ngữ lớn vì một số lí do như: kiến trúc encoder-decoder
được thiết kế cho một số task đặc biệt như dịch máy (machine translation), trong đó
sẽ có đầu vào và đầu ra tương ứng Bên cạnh đó, việc chuẩn bị dữ liệu để huấn luyệnmô hình rất tốn kém vì phải chuẩn bị một cặp câu đầu vào và đầu ra khác nhau
3.4Mô hình GPT
Một trong những kiến trúc nổi tiếng và phổ biến hiện nay sử dụng kiến trúc
Decoder-only là mô hình Generative Pre-training Transformer (GPT) Mô hình này được phát
triển bởi OpenAI và được huấn luyện trên các tập dữ liệu lớn trên Internet, các tài liệutrên Wikipedia giúp nó hiểu được cấu trúc ngữ pháp, ngữ nghĩa của văn bản tự nhiên
Trang 40Ứng dụng của mô hình GPT vào thực tế rất phổ biến từ dịch máy, tóm tắt văn bản, sinhvăn bản mới, phân tích cảm xúc và nhiều ứng dụng NLP hiện nay.
Hình 3.6: Khối Decoder trên GPT.
Hình 3.6 mô tả kiến trúc Decoder trong Transformer Trong khối Decoder này, cơ
chế masked self-attention được sử dụng để huấn luyện mô hình sinh ra dữ liệu mới từ
những dữ liệu đã nhìn thấy Trong quá trình huấn luyện, phần dữ liệu của bên trái tokenđầu vào sẽ được che lại và vector self-attention sẽ được tạo ra từ phần bên phải của tokennày, đây chính là phần dữ liệu được sinh ra Quá trình dự đoán từ tiếp theo vẫn dựa trêncơ chế dự đoán từ theo phân phối xác suất như mô hình ngôn ngữ lớn trước đây Cụ thể,sau khi dữ liệu được encode khi đi qua khối decoder của mô hình, các vector này sẽ điqua một ma trận chuyển đổi để tạo ra phân bố xác suất cho các từ tiếp theo Mô hình sẽlựa chọn từ tiếp theo bằng cách lấy mẫu theo xác suất Điều này cũng dẫn đến cùng một
lời nhắc thì có thể tạo ra nhiều văn bản khác nhau Hình 3.7 minh họa việc dự đoán từ
tiếp theo qua khối Decoder