CHƯƠNG 1: MÔ HÌNH NGÔN NGỮ LỚN 1.1 MÔ HÌNH NGÔN NGỮ LỚN Mô hình ngôn ngữ là một mô hình phân phối xác suất trên chuỗi các từ (token). Giả sử, chúng tôi có từ điển (𝑉) chứa toàn bộ các token. Mô hình ngôn ngữ 𝑝 sẽ gán mỗi chuỗi của các token (𝑥1 , 𝑥2 , … 𝑥𝐿 ) thuộc 𝑉 một xác suất (0, .1) Xác suất cho chúng ta biết một cách trực quan mức độ tốt (khả năng xuất hiện trong văn bản) của một chuỗi các token. Tuy nhiên, khả năng gán xác suất một cách hợp lý cho tất cả các chuỗi đòi hỏi các khả năng về ngôn ngữ và kiến thức thế giới.
Mô hình ngôn ngữ 𝑝 có thể phân phối xác suất như sau: 𝑃(𝑡ℎ𝑒, 𝑐𝑎𝑡, 𝑎𝑡𝑒, 𝑡ℎ𝑒, 𝑚𝑜𝑢𝑠𝑒) = 0.002 Từ ví dụ trên, ta có thể thấy được rằng, một mô hình ngôn ngữ hoạt động tốt thì phải gán xác suất rất thấp cho câu “the mouse ate the cat” vì nó không hợp lý về ngữ nghĩa, hoặc câu “the the cat ate mouse” vì nó không hợp lý về ngữ pháp và phải gán xác suất cao cho câu “the cat ate the mouse” vì nó đúng cả về ngữ nghĩa lẫn ngữ pháp. Mô hình ngôn ngữ lớn (LLM) thực chất là một mô hình ngữ được huấn luyện trên các tập dữ liệu lớn, bao gồm hàng trăm/ngàn tỷ token từ các văn bản khác nhau. Quá trình huấn luyện này giúp cho LLM có được khả năng hiểu và tạo ra ngôn ngữ tự nhiên một cách chính xác. Hiện nay, các mô hình ngôn ngữ lớn được huấn luyện dựa trên kiến trúc Transformer thay vì các mô hình RNN và LSTM.
Trước khi kiến trúc Transformer ra đời, RNN và LSTM là hai phương pháp tiên tiến nhất trong việc mô hình hóa chuỗi và giải quyết các GVHD. Ths Quách Đình Hoàng 4 vấn đề như mô hình ngôn ngữ, chúng vẫn có nhược điểm là phụ thuộc vào tính tuần tự trong tính toán, dẫn đến khả năng song song hóa hạn chế và hiệu suất huấn luyện không cao. Mặc dù đã có một số công trình nghiên cứu cố gắng cải thiện hiệu suất tính toán thông qua các kỹ thuật phân rã và tính toán có điều kiện, nhưng hạn chế cơ bản về tính tuần tự vẫn tồn tại. Kiến trúc Transformer đã giải quyết được vấn đề này với cơ chế Attention.
Vào năm 2017, các tác giả của bài báo “Attention is all you need” đã chỉ ra rằng kiến trúc Transformer đã loại bỏ tính tuần tự và hoàn toàn dựa vào cơ chế Attention để mô tả được mối quan hệ giữa các token trong một chuỗi. Phần bên dưới chúng tôi sẽ giải thích sâu hơn về kiến trúc Transformer.2 KIẾN TRÚC TRANSFORMER Kiến trúc Transformer là mô hình chuỗi chịu trách nhiệm cho sự phát triển của các mô hình ngôn ngữ lớn hiện nay. Hình ảnh trực quan hóa của kiến trúc Transformer. Bao gồm hai khối Encoder và Decoder, được hiển thị ở nửa trái và nửa phải [14] Chú ý rằng, chúng tôi chỉ tập trung giải thích tác dụng của các khối Transformer trong kiến trúc Transformer chứ không đi sâu chi tiết vào giải thích nguyên lý hoạt động của kiến trúc Transformer với hai khối Encoder-Decoder (hình 1) bởi vì trong phần tiếp GVHD.
Ths Quách Đình Hoàng 5 theo mô hình ngôn ngữ mà chúng tôi dùng để xây dựng hệ thống trả lời câu hỏi chỉ sử dụng một khối Decoder của kiến trúc Transformer. Đầu tiên, khối Transformer nhận vào chuỗi các token, mỗi token được biến đổi dưới dạng Embedding vector và thêm thông tin mã hóa vị trí (Positional Encoding). Sau đó, trong mỗi khối Transformer, một loạt các thao tác được thực hiện thông qua cơ chế Attention và các phép biến đổi sử dụng mạng nơ-ron truyền thẳng (Feed-Forward Network - FFN). Các lớp nối dư (Residual Connection) và chuẩn hóa lớp (Layer Normalization) được thêm vào sau mỗi bước (Attention, FFN) để cải thiện hiệu quả học tập và tính ổn định của mô hình.
Cuối cùng, chuỗi các vector đầu ra của khối Transformer được đưa qua một lớp tuyến tính và softmax để cố gắng dự đoán token tiếp theo hoặc phân loại chuỗi. Mục tiêu của khối Transformer là làm giàu mỗi token trong chuỗi với càng nhiều thông tin ngữ cảnh càng tốt, điều này được thực hiện thông qua cơ chế Attention và FFN.1 Multi-Head Attention Attention là một cơ chế giúp cho mô hình tập trung vào các khía cạnh khác nhau của chuỗi dữ liệu đầu vào. Giả sử, chuỗi dữ liệu đầu vào được biểu diễn bằng ma trận 𝑋 (kích thước 𝑛 × 𝑑) với 𝑛 là số từ và 𝑑 là kích thước của embedding vector. , 𝑥𝑛 ]𝑇 Tiếp theo, ma trận X sẽ được đưa vào khối Multi-Head Attention để xử lý.
Ths Quách Đình Hoàng 6 Hình 2. (Bên trái) Scaled Dot-Product Attention. (Bên phải) Multi-Head Attention bao gồm các lớp Attention chạy song song. Đầu vào của mỗi khối Multi-Head Attention bao gồm ba loại vector: query vector, key vector và value vector.
Các vector này được xây dựng từ ma trận 𝑋 và các ma trận trọng số 𝑊𝑞 , 𝑊𝑘 , 𝑊𝑣 (các ma trận trọng số này được khởi tạo ngẫu nhiên với kích thước lần lượt là 𝑑 × 𝑑𝑞 , 𝑑 × 𝑑𝑘 , 𝑑 × 𝑑𝑣 và sẽ được cập nhật trong quá trình huấn luyện). - Query vector (𝑄): đại diện cho token hiện tại mà mô hình đang xem xét, chứa thông tin về những gì mà chúng ta đang tìm kiếm trong chuỗi. 𝑊𝑞 𝑑 ] 𝑘 - Key vector (𝐾): được tạo ra từ tất cả các token trong chuỗi đầu vào, mỗi token có một vector key riêng biệt. 𝑊𝑘 𝑑 ] 𝑘 - Value vector (𝑉): tương tự như vector key, được tạo ra từ tất cả các token trong chuỗi và chứa thông thông tin thực tế mà chúng ta quan tâm.
𝑊𝑣 𝑑 ] 𝑣 Tiếp theo, ba vector 𝑄, 𝐾, 𝑉 được đưa vào các lớp Scaled Dot-Product Attention để xử lý song song. Ý tưởng chính của cơ chế Scaled Dot-Product Attention là sử dụng một query vector duy nhất để “giao tiếp” với tất cả các key vector trong chuỗi. Cụ thể, query vector hỏi GVHD. Ths Quách Đình Hoàng 7 từ key vector rằng “Bạn có liên quan đến tôi không? Nếu có, mức độ liên quan là bao nhiêu?”.
Quá trình Scaled Dot-Product Attention sẽ được thực hiện theo các bước sau: 1. Sử dụng tích vô hướng (dot-product) để tính toán trọng số Attention giữa query vector và key vector: 𝑠𝑐𝑜𝑟𝑒𝑠 = 𝑄𝐾 𝑇 Để tránh vấn đề gradient bị triệt tiêu do trọng số quá lớn, ma trận trọng số Attention được chia tỷ lệ bởi √𝑑𝑘 để điều chỉnh giá trị. Tiếp theo, nó được đưa qua Mask layer, để biến đổi các phần không cần thiết thành vô cực. Sau đó, áp dụng hàm softmax để chuẩn hóa các trọng số Attention, đảm bảo chúng nằm trong khoảng (0,1).
Kết quả cuối cùng, ma trận trọng số Attention đã chuẩn hóa được nhân với ma trận 𝑉 để thu được ma trận giá trị đã được trọng số hóa. 𝑎𝑛𝑛 ] [𝑣𝑛 ] Kết quả của khối Multi-Head Attention đo lường sự quan trọng và liên quan của mỗi token so với mỗi token khác trong một chuỗi. Ngoài ra, trong kiến trúc Transformer có thể có hàng chục hoặc thậm chí hàng trăm khối Transformer. Do đó, thông qua mỗi khối trước đó chúng ta không chỉ so sánh một token với một token khác mà còn nhìn vào chuỗi và vị trí chính xác mà token nó bắt đầu.
Ths Quách Đình Hoàng 8 1.2 Feed-Forward Network Các khối FFN sử dụng thông tin từ giai đoạn Attention để cải thiện biểu diễn của mỗi phần tử trong chuỗi. Quá trình này được thực hiện thông qua hai lớp Dense (fully connected) với một hàm kích hoạt phi tuyến tính ở giữa, thường là hàm ReLU (Rectified Linear Unit). Giả sử, đầu vào của khối FFN là 𝑋, đầu ra của bước tính toán trong khối FFN có thể được mô tả như sau: a. Lớp Dense đầu tiên 𝑋 ′ = 𝑅𝑒𝐿𝑈(𝑋𝑊1 + 𝑏1 ) Trong đó: - 𝑋 là kết quả được lấy từ bước Multi-Head Attention.
- W1 là ma trận trọng số có kích thước (dmodel , dff ). - b1 là vector bù có kích thước (dff ). Lớp Dense đầu tiên giúp mở rộng không gian biểu diễn của dữ liệu đầu vào. Nó biến đổi đầu vào từ không gian dmodel sang không gian ẩn lớn hơn, có kích thước là dff.
Hàm ReLU được sử dụng sau phép nhân và cộng bias. Hàm này giữ lại các giá trị dương và đặt các giá trị âm về 0, giúp mạng học được các biểu diễn phi tuyến tính. Lớp Dense thứ hai FFN(X) = 𝑋 ′ 𝑊2 + 𝑏2 Trong đó: - W2 là ma trận trọng số có kích thước (dff , dmodel ). - b2 là vector bù có kích thước (dmodel ).
Lớp Dense thứ hai thu nhỏ không gian biểu diễn trở lại kích thước ban đầu là dmodel. Điều này nhằm đảm bảo kích thước phù hợp để sử dụng Residual Connection, giúp gradient lan truyền tốt hơn và mô hình học hiệu quả hơn. Tới bước này thì gần như đã hoàn thiện. Về nguyên tắc, chúng ta có thể chỉ cần lấy mô hình chuỗi FeedForward ∘ SelfAttention và lặp lại 96 lần để làm GPT-3, nhưng mạng đó khó tối ưu (vì gradient bị triệt tiêu: đây là vấn đề khá phổ biến khi huấn luyện các mạng nơ ron sâu, khi gradient của hàm mất mát giảm xuống gần bằng 0 khi làn GVHD.
Ths Quách Đình Hoàng 9 truyền ngược qua các lớp. Điều này làm giảm tốc độ học và làm cho mạng khó huấn luyện).3 Kết nối dư (Residual Connection) và chuẩn hóa lớp (Layer Normalization) Kết nối dư và chuẩn hoá lớp được sử dụng sau khối Multi-Head Attention và FFN, nó đóng vai trò quan trọng trong việc ổn định quá trình huấn luyện và giúp mô hình học hiệu quả hơn. Chuẩn hóa lớp (Layer Normalization) Chuẩn hoá lớp nhằm mục đích chuẩn hóa các đầu vào của mỗi khối để có phân phối với giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1. Điều này giúp tăng tốc độ huấn luyện và ổn định hóa mô hình.
Kết nối dư (Residual Connection) Kết nối dư giúp giảm vấn đề gradient bị triệt tiêu (vanishing gradients) trong các mạng sâu bằng cách cung cấp một con đường tắt cho gradient lan truyền ngược. Điều này cải thiện khả năng hội tụ của mô hình và cho phép các lớp học các biểu diễn khác nhau mà không phải lo lắng về việc làm mất thông tin gốc.3 SỰ PHÁT TRIỂN CỦA MÔ HÌNH NGÔN NGỮ 1.1 Phân loại mô hình ngôn ngữ Trong bài báo “Attention is all you need”, nhóm nghiên cứu từ Google đã giới thiệu kiến trúc Transformer gốc, sử dụng hai khối Encoder và Decoder. Ban đầu, mô hình được phát triển để giải quyết bài toán dịch tiếng Anh sang tiếng Đức và đem lại kết quả dịch rất ấn tượng.