Danh sách bài viết

Chương 2: Các Mô Hình Ngôn Ngữ Lớn (LLMs) – Khái Niệm và Những Kỹ Thuật Quan Trọng

Ghi chú

Chọn đoạn văn bản trong bài viết để ghi chú.

1. Large Language Models là gì?

Đến thời điểm này, có thể bạn đã nghe về chúng. Large Language Models (viết tắt là LLMs) là một loại mạng nơ-ron tiên tiến. Những mô hình này đã thúc đẩy nhiều đổi mới trong lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP). Chúng có đặc điểm nổi bật là số lượng tham số cực lớn, thường lên tới hàng tỷ tham số, giúp xử lý và tạo ra văn bản hiệu quả. Chúng được huấn luyện trên khối lượng dữ liệu văn bản khổng lồ, qua đó nắm bắt được các cấu trúc và mẫu ngôn ngữ đa dạng. Mục tiêu chính của LLMs là hiểu và tạo ra văn bản giống với con người, bao gồm cả cú pháp (cách sắp xếp từ ngữ) và ngữ nghĩa (ý nghĩa của từ).

1.1 Mục tiêu huấn luyện chính của LLMs

Mục tiêu cốt lõi khi huấn luyện các LLM là dự đoán từ tiếp theo trong một câu. Mục tiêu tưởng chừng đơn giản này lại tạo ra những khả năng nổi bật khác, chẳng hạn như thực hiện phép tính số học, sắp xếp lại các chữ cái của từ đảo lộn, thậm chí thể hiện tốt trong các kỳ thi chuyên môn như vượt qua kỳ thi cấp chứng chỉ hành nghề y khoa của Hoa Kỳ (US Medical Licensing Exam).

Ngoài ra, các mô hình này còn đóng góp đáng kể vào nhiều nhiệm vụ NLP khác như dịch máy, tạo sinh ngôn ngữ tự nhiên, gắn nhãn từ loại (part-of-speech tagging), phân tích cú pháp (parsing), truy xuất thông tin (information retrieval), và nhiều nhiệm vụ khác nữa mà không cần được huấn luyện trực tiếp hoặc tinh chỉnh riêng cho các lĩnh vực này.

1.2 Quá trình tạo sinh văn bản trong LLMs

Quá trình tạo sinh văn bản của LLMs là dạng tự hồi quy (autoregressive), tức là chúng tạo ra từng từ mới dựa trên chuỗi các từ đã được sinh ra trước đó. Cơ chế Attention (cơ chế chú ý) là một yếu tố quan trọng trong quá trình này, giúp thiết lập các liên kết giữa các từ, đảm bảo văn bản được tạo ra có tính mạch lạc và phù hợp ngữ cảnh. Trước khi đi sâu hơn vào kiến trúc và các thành phần cấu tạo (như cơ chế chú ý), điều quan trọng là chúng ta cần làm rõ một số thuật ngữ và khái niệm cơ bản liên quan đến LLMs. Chúng ta sẽ bắt đầu với việc tổng quan về kiến trúc đằng sau những mô hình này, tiếp theo là định nghĩa một vài thuật ngữ như mô hình hóa ngôn ngữ (language modeling) và token hóa (tokenization).

2. Các thuật ngữ và kỹ thuật quan trọng trong LLM

2.1 Transformer

Nền tảng khiến các mô hình ngôn ngữ mạnh mẽ chính là kiến trúc của chúng. Trước đây, Mạng nơ-ron hồi quy (Recurrent Neural Networks - RNNs) thường được sử dụng trong xử lý văn bản nhờ khả năng xử lý dữ liệu tuần tự. RNN duy trì một trạng thái nội bộ giúp lưu giữ thông tin từ các từ ngữ đã xuất hiện trước đó, hỗ trợ việc hiểu chuỗi thông tin liên tục. Tuy nhiên, RNN gặp khó khăn với những chuỗi văn bản dài, vì chúng dễ "quên" thông tin xuất hiện sớm và chỉ tập trung vào dữ liệu được nhập gần nhất. Nguyên nhân chủ yếu là do vấn đề gradient tiêu biến (vanishing gradient problem). Đây là hiện tượng các gradient, vốn được dùng để cập nhật trọng số của mạng trong quá trình huấn luyện, ngày càng nhỏ dần khi lan truyền ngược qua mỗi bước thời gian của chuỗi dữ liệu. Hậu quả là các trọng số liên quan tới các dữ liệu đầu vào xuất hiện sớm gần như không thay đổi, hạn chế khả năng học và ghi nhớ những phụ thuộc dài hạn trong dữ liệu.

Các mô hình dựa trên kiến trúc Transformer đã giải quyết được những thách thức này và trở thành lựa chọn kiến trúc hàng đầu cho các nhiệm vụ xử lý ngôn ngữ tự nhiên (NLP). Kiến trúc Transformer được giới thiệu trong bài báo có ảnh hưởng lớn mang tên "Attention Is All You Need" (Sự chú ý là tất cả những gì bạn cần). Đây được xem là một bước ngoặt quan trọng trong lĩnh vực NLP, tạo nền tảng cho các mô hình tiên tiến như GPT-4, Claude và LLaMA. Ban đầu, Transformer được thiết kế theo khung mã hóa-giải mã (encoder-decoder). Trong khung này, bộ mã hóa (encoder) xử lý văn bản đầu vào, xác định các phần quan trọng và tạo ra biểu diễn vector của dữ liệu đầu vào. Trong khi đó, bộ giải mã (decoder) chuyển đổi kết quả từ encoder—là các vector với chiều không gian lớn—thành văn bản mà con người có thể đọc được. Mô hình dạng này đặc biệt hữu ích trong các nhiệm vụ như tóm tắt văn bản, khi decoder tạo ra các bản tóm tắt dựa trên bài viết được encoder xử lý trước đó.

Kiến trúc Transformer rất linh hoạt, vì hai thành phần encoder và decoder có thể được sử dụng kết hợp hoặc độc lập tùy theo từng nhiệm vụ cụ thể. Một số mô hình chỉ sử dụng riêng encoder để biến đổi văn bản thành dạng biểu diễn vector, trong khi nhiều mô hình LLM chỉ sử dụng riêng decoder làm nền tảng chính. Phần tiếp theo sẽ trình bày cụ thể về từng thành phần này.

2.2 Mô hình hóa ngôn ngữ (Language Modeling)

Cùng với sự phát triển của các mô hình ngôn ngữ lớn (LLMs), mô hình hóa ngôn ngữ đã trở thành một phần quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP). Mô hình hóa ngôn ngữ là việc học phân phối xác suất của các từ trong một ngôn ngữ dựa trên một lượng dữ liệu văn bản lớn. Quá trình này thường bao gồm việc dự đoán token tiếp theo trong chuỗi văn bản, sử dụng các phương pháp thống kê truyền thống hoặc các kỹ thuật học sâu tiên tiến.

Các mô hình ngôn ngữ lớn cũng được huấn luyện theo cùng mục tiêu là dự đoán từ tiếp theo, dấu câu, hoặc các yếu tố khác dựa trên các token đã thấy trong văn bản. Những mô hình này trở nên thành thạo bằng cách nắm bắt phân phối từ ngữ trong dữ liệu huấn luyện, qua đó ước lượng xác suất xuất hiện của từ tiếp theo dựa vào ngữ cảnh. Chẳng hạn, mô hình có thể hoàn thiện câu bắt đầu bằng “I live in New” bằng cách điền vào từ “York” thay vì một từ không liên quan như “shoe”.

Trong thực tế, các mô hình làm việc với các token thay vì những từ hoàn chỉnh. Cách tiếp cận này giúp dự đoán và tạo sinh văn bản chính xác hơn, đồng thời có thể nắm bắt hiệu quả hơn độ phức tạp của ngôn ngữ con người.

2.3 Token hóa (Tokenization)

Token hóa là bước đầu tiên khi làm việc với các mô hình ngôn ngữ lớn (LLMs). Quá trình này chia văn bản đầu vào thành các phần nhỏ hơn gọi là token. Token có thể là một ký tự, hoặc một từ hoàn chỉnh. Kích thước và cách chia token có ảnh hưởng lớn tới hiệu suất của mô hình. Một số mô hình sử dụng token hóa theo cấp độ "subword" (đơn vị nhỏ hơn từ), chia các từ thành những đoạn nhỏ hơn nhưng vẫn giữ nguyên các yếu tố ngôn ngữ có ý nghĩa.

Hãy xem ví dụ sau đây với câu:
“The child’s coloring book.”

Nếu thực hiện token hóa bằng cách tách các từ theo khoảng trắng, kết quả sẽ là:

Với cách này, bạn sẽ thấy dấu câu vẫn gắn liền với các từ như "child's" và "book."

Một cách khác, token hóa có thể dựa trên việc phân tách bởi cả khoảng trắng và dấu câu, kết quả sẽ là:

Quá trình token hóa phụ thuộc vào từng mô hình cụ thể. Các mô hình khi phát hành thường đi kèm với tokenizer được huấn luyện trước và các trọng số tương ứng. Ngày nay, các kỹ thuật token hóa tiên tiến hơn như Byte-Pair Encoding (BPE) được sử dụng phổ biến trong các mô hình mới. Ví dụ dưới đây minh họa kỹ thuật này, chia từ “coloring” thành hai phần:

Token hóa ở cấp độ "subword" giúp mô hình hiểu ngôn ngữ tốt hơn bằng cách chia các từ thành những đoạn có ý nghĩa, như việc tách từ “coloring” thành “color” và “ing.” Việc này mở rộng từ vựng của mô hình và cải thiện khả năng nắm bắt các sắc thái về cấu trúc ngôn ngữ và hình thái từ vựng. Khi nhận ra rằng phần “ing” thể hiện thì hiện tại, ta có thể đơn giản hóa cách biểu diễn các dạng thì khác nhau của một từ. Ví dụ, thay vì phải lưu trữ riêng hai từ "play" và "playing," ta chỉ cần lưu "play" và "ing." Nhờ cách này, ta biểu diễn được từ "playing" mà không cần thêm một mục từ riêng biệt. Phương pháp này làm tăng số lượng token cần để biểu diễn một văn bản, nhưng lại giảm đáng kể số lượng token cần lưu trữ trong từ điển.

Quá trình token hóa bao gồm việc quét toàn bộ văn bản để nhận diện các token duy nhất, sau đó lập chỉ mục tạo ra một từ điển. Từ điển này sẽ gán một mã số ID riêng biệt cho mỗi token, giúp thể hiện văn bản dưới dạng số hóa chuẩn hóa. Khi tương tác với các mô hình, việc chuyển đổi văn bản thành các ID token sẽ cho phép mô hình xử lý và hiểu đầu vào một cách hiệu quả hơn. Mô hình sẽ nhanh chóng tra cứu vào từ điển để giải mã ý nghĩa của mỗi token. Chúng ta sẽ xem ví dụ cụ thể về quá trình này ở những phần sau của cuốn sách.

Sau khi đã hoàn thành việc token hóa, ta có thể chuyển sang tìm hiểu các yếu tố bên trong của Transformer: các embedding (biểu diễn nhúng).

2.4 Embeddings (Biểu diễn nhúng)

Bước tiếp theo sau token hóa là chuyển đổi các token thành dạng dữ liệu mà máy tính có thể hiểu và xử lý—đó chính là lúc các biểu diễn nhúng (embeddings) phát huy tác dụng. Embeddings là cách biến các token (từ hoặc các phần của từ) thành ngôn ngữ số mà máy tính có thể nắm bắt được. Chúng giúp mô hình hiểu mối quan hệ giữa các từ và ngữ cảnh, cho phép mô hình nhận ra sự liên kết giữa các từ để hiểu văn bản tốt hơn, chủ yếu thông qua cơ chế chú ý (attention mechanism), mà ta sẽ tìm hiểu sau.

Embedding gán cho mỗi token một mã số riêng biệt (vector) thể hiện ý nghĩa của nó. Dạng số này giúp máy tính nhận ra sự tương tự giữa các token khác nhau, chẳng hạn biết được rằng từ "happy" và "joyful" gần nghĩa với nhau, mặc dù chúng là các từ riêng biệt.

Bước này vô cùng quan trọng vì nó giúp mô hình xử lý và hiểu ngôn ngữ theo cách số hóa, thu hẹp khoảng cách giữa ngôn ngữ con người và cách xử lý thông tin của máy móc.

Ban đầu, mỗi token được gán một bộ số ngẫu nhiên làm embedding. Trong quá trình huấn luyện—tức là khi mô hình đọc và học từ một lượng lớn văn bản—các bộ số này sẽ được điều chỉnh. Mục tiêu là để những token có ý nghĩa tương đồng sẽ có những bộ số giống nhau. Quá trình điều chỉnh này diễn ra tự động khi mô hình tiếp xúc với nhiều ngữ cảnh khác nhau mà các token xuất hiện.

Mặc dù khái niệm về bộ số hay vector nghe có vẻ phức tạp, nhưng chúng thực chất chỉ là một phương pháp hiệu quả để mô hình lưu trữ và xử lý thông tin về các token. Chúng ta sử dụng vector vì đây là một cách đơn giản và trực quan để mô hình nắm bắt mối quan hệ giữa các token với nhau. Nói cách khác, chúng chỉ là những danh sách số dài.

Chúng ta sẽ tìm hiểu sâu hơn về cách tạo và ứng dụng embeddings trong kiến trúc Transformer.

2.5 Huấn luyện/Tinh chỉnh (Training/Fine-Tuning)

Các mô hình ngôn ngữ lớn (LLMs) được huấn luyện trên một lượng lớn văn bản với mục tiêu dự đoán chính xác token tiếp theo trong một chuỗi. Như chúng ta đã tìm hiểu trong phần mô hình hóa ngôn ngữ trước đó, mục tiêu của quá trình này là điều chỉnh các tham số của mô hình nhằm tối đa hóa xác suất dự đoán đúng token tiếp theo dựa trên dữ liệu đã quan sát. Thông thường, một mô hình được huấn luyện dựa trên các bộ dữ liệu lớn, mang tính tổng quát từ Internet như The Pile hoặc CommonCrawl. Đôi khi, các bộ dữ liệu cụ thể hơn như StackOverflow Posts cũng được sử dụng nhằm cung cấp kiến thức chuyên biệt về một lĩnh vực nhất định. Giai đoạn này được gọi là giai đoạn tiền huấn luyện (pre-training), trong đó mô hình học cách hiểu ngôn ngữ một cách tổng quát và chuẩn bị cho những bước điều chỉnh chuyên sâu hơn.

Quá trình huấn luyện điều chỉnh các trọng số của mô hình nhằm làm tăng khả năng dự đoán chính xác token tiếp theo trong chuỗi. Sự điều chỉnh này dựa trên dữ liệu huấn luyện, giúp mô hình hướng tới việc dự đoán token chính xác hơn.

Sau giai đoạn tiền huấn luyện, thông thường mô hình sẽ trải qua một giai đoạn tinh chỉnh (fine-tuning) cho một nhiệm vụ cụ thể. Giai đoạn này yêu cầu huấn luyện bổ sung dựa trên một tập dữ liệu nhỏ hơn dành cho một tác vụ cụ thể (như dịch văn bản) hoặc một lĩnh vực chuyên biệt (như y sinh học, tài chính, v.v.). Quá trình tinh chỉnh giúp mô hình điều chỉnh kiến thức trước đó của mình, nâng cao hiệu suất trong tác vụ hoặc lĩnh vực nhất định.

Quá trình tinh chỉnh có thể khá phức tạp, đặc biệt đối với các mô hình tiên tiến như GPT-4. Những mô hình này sử dụng các kỹ thuật huấn luyện nâng cao và tận dụng khối lượng dữ liệu lớn để đạt được hiệu quả vượt trội.

2.6 Dự đoán (Prediction)

Sau giai đoạn huấn luyện hoặc tinh chỉnh, mô hình có thể tạo ra văn bản bằng cách dự đoán các token tiếp theo trong một chuỗi. Việc này được thực hiện bằng cách đưa chuỗi văn bản đầu vào vào mô hình, từ đó mô hình sẽ tạo ra một phân phối xác suất của các token tiềm năng tiếp theo—về cơ bản là gán một điểm số cho mỗi từ trong từ điển. Token tiếp theo được lựa chọn dựa trên điểm số này. Quá trình sinh văn bản sẽ lặp lại theo một vòng lặp, mỗi lần dự đoán một từ mới, qua đó cho phép tạo ra các chuỗi văn bản với độ dài bất kỳ. Tuy nhiên, cần lưu ý kích thước ngữ cảnh hiệu quả của mô hình khi thực hiện quá trình này.

2.7 Kích thước ngữ cảnh (Context Size)

Kích thước ngữ cảnh (hay còn gọi là "cửa sổ ngữ cảnh") là một yếu tố quan trọng của các mô hình ngôn ngữ lớn (LLMs). Đây là số lượng token tối đa mà mô hình có thể xử lý trong một lần yêu cầu. Kích thước ngữ cảnh ảnh hưởng trực tiếp đến độ dài văn bản mà mô hình có thể xử lý trong mỗi lần thực hiện tác vụ.

Ví dụ, kích thước ngữ cảnh của một mô hình cụ thể như GPT-3.5 có thể xử lý tối đa khoảng 16,000 token trong một lần yêu cầu. Luôn tồn tại giới hạn về số token mà mỗi mô hình có thể xử lý. Các mô hình nhỏ có thể chỉ xử lý tối đa khoảng 1,000 token, trong khi các mô hình lớn hơn như GPT-4 (tính đến thời điểm hiện tại) có thể xử lý lên tới 32,000 token.

2.8 Quy luật tỉ lệ mở rộng (Scaling Law)

"Scaling Law" mô tả mối quan hệ giữa quy mô và hiệu suất của một mô hình ngôn ngữ. Khái niệm này ám chỉ rằng hiệu suất của mô hình LLM phụ thuộc vào các yếu tố như số lượng tham số, lượng dữ liệu huấn luyện và nguồn lực tính toán. Nghiên cứu về Scaling Law được đề cập trong bài báo nổi tiếng về mô hình Chinchilla, đưa ra các gợi ý giá trị về việc phân bổ hiệu quả các nguồn lực để huấn luyện các mô hình thành công. Chủ đề này cũng tạo ra nhiều trào lưu trong cộng đồng AI với câu nói hài hước "scaling is all you need".

Các yếu tố quyết định hiệu suất của một mô hình ngôn ngữ bao gồm:

>_ Số lượng tham số (N): cho biết khả năng học từ dữ liệu của mô hình.

>_ Kích thước bộ dữ liệu: tổng số lượng token mà mô hình được huấn luyện, ảnh hưởng tới khả năng tổng quát hóa và hiểu ngôn ngữ.

>_ FLOPs (Nguồn lực tính toán): là lượng tài nguyên tính toán cần sử dụng trong quá trình huấn luyện mô hình.

Trong nghiên cứu, các tác giả đã huấn luyện mô hình Chinchilla (70 tỷ tham số) trên bộ dữ liệu khoảng 1,4 nghìn tỷ token. Cách tiếp cận này phù hợp với quy luật mở rộng (scaling law) được đề xuất trong nghiên cứu của họ: một mô hình với X tham số nên được huấn luyện với khoảng 20 lần token, tức nếu mô hình có X tham số thì dữ liệu huấn luyện nên vào khoảng 20 lần X.

Việc áp dụng nguyên tắc này đã giúp Chinchilla đạt được hiệu suất cao trong mô hình hóa ngôn ngữ cũng như các tác vụ cụ thể, đồng thời sử dụng ít bộ nhớ và sức mạnh tính toán hơn các mô hình tương tự.

2.9 Khả năng mới phát sinh trong các mô hình LLM (Emergent Abilities in LLMs)

Khả năng mới phát sinh trong LLM là hiện tượng xuất hiện những kỹ năng mới mà trước đó không được lập trình hoặc huấn luyện một cách rõ ràng. Khi kích thước mô hình tăng lên, những khả năng mới này bỗng nhiên xuất hiện, giúp mô hình thực hiện được các nhiệm vụ như tính toán số học, đảo chữ cái, trả lời các câu hỏi phức tạp hoặc thậm chí vượt qua các kỳ thi chuyên môn.

LLM vốn là các mô hình xác suất, học và nhận biết các mẫu hình trong ngôn ngữ tự nhiên. Khi các mô hình này được mở rộng về quy mô, khả năng nhận diện mẫu hình của chúng không chỉ cải thiện về mặt số lượng mà còn thay đổi về mặt chất lượng.

Trước đây, để thực hiện một nhiệm vụ cụ thể, các mô hình thường yêu cầu quá trình tinh chỉnh đặc thù hoặc điều chỉnh về mặt kiến trúc. Tuy nhiên, các mô hình được mở rộng về quy mô có thể tự thực hiện những tác vụ này mà không cần điều chỉnh cấu trúc hoặc huấn luyện bổ sung.

Điểm đặc biệt là các mô hình lớn hơn khi tăng quy mô sẽ có thể đạt từ mức hiệu suất thấp lên mức hàng đầu trong một số tác vụ một cách bất ngờ. Hiện tượng này cho thấy những khả năng mới hình thành chủ yếu nhờ vào kích thước của mô hình, chứ không phải được lập trình rõ ràng vào mô hình.

Việc tăng quy mô mô hình, cùng với việc mở rộng bộ dữ liệu huấn luyện và tăng đáng kể chi phí tính toán, đã tạo ra nền tảng để những khả năng mới phát sinh. Các khả năng này thể hiện rõ ở những mô hình LLM nổi bật hiện nay.

2.10 Prompts (Câu lệnh đầu vào)

Prompt là văn bản (hoặc hình ảnh, số liệu, bảng biểu…) chúng ta cung cấp làm hướng dẫn cho các mô hình ngôn ngữ lớn (LLMs). Prompt đóng vai trò như các chỉ dẫn đưa vào hệ thống trí tuệ nhân tạo như GPT-3 hay GPT-4 của OpenAI, nhằm cung cấp bối cảnh để mô hình tạo ra nội dung phù hợp.

Prompt hiệu quả thường cần đáp ứng các yêu cầu: mục tiêu rõ ràng, ngắn gọn nhưng đầy đủ, sử dụng từ khóa chiến lược và dễ thực hiện. Prompt càng cụ thể và chi tiết sẽ giúp mô hình tập trung và tạo ra nội dung chính xác hơn. Việc thử nghiệm prompt trước khi sử dụng chính thức rất quan trọng để đảm bảo chất lượng đầu ra.

Dưới đây là một số lời khuyên khi viết prompt hiệu quả:

>_ Đưa ra yêu cầu cụ thể, rõ ràng:

Ít cụ thể hơn:

  • "Viết một câu chuyện."

Cụ thể hơn:

  • "Viết một truyện ngắn lấy bối cảnh nước Anh thời Victoria, kể về một thám tử trẻ lần đầu giải quyết một vụ án lớn."

>_ Cung cấp đầy đủ ngữ cảnh:

Ngữ cảnh giúp mô hình hiểu rõ nội dung mong đợi hơn:

Ít ngữ cảnh hơn:

  • "Hãy viết một câu chuyện."

Nhiều ngữ cảnh hơn:

  • "Viết một truyện ngắn diễn ra tại nước Anh thời Victoria, về một thám tử trẻ đang điều tra vụ án lớn đầu tiên trong sự nghiệp."

>_ Thử nghiệm các dạng prompt khác nhau:

Thử nghiệm nhiều phong cách prompt để tìm ra cách hiệu quả nhất:

  • Ví dụ chung chung:
    "Write a story." (Hãy viết một câu chuyện.)
  • Ví dụ cụ thể hơn:
    "Compose a 500-word story about a family overcoming a challenge." (Viết một câu chuyện khoảng 500 từ về một gia đình vượt qua thử thách.)
  • Ví dụ tập trung vào hành động cụ thể:
    "Write a short story about a detective solving a crime in 19th-century London."
    (Viết một truyện ngắn khoảng 500 từ kể về một gia đình vượt qua khó khăn.)

>_ Kiểm tra kết quả đầu ra:

Luôn kiểm tra kỹ nội dung mà mô hình tạo ra trước khi xuất bản hoặc sử dụng để đảm bảo tính chính xác và phù hợp:

  • Trước khi kiểm tra:
    "Yoga is a great way to improve your flexibility and strength. It can also help reduce stress and improve mental clarity."
  • Sau khi kiểm tra và điều chỉnh:
    "Yoga là một phương pháp tuyệt vời để cải thiện sự dẻo dai và sức mạnh cơ thể, đồng thời giúp giảm căng thẳng và tăng cường sự minh mẫn tinh thần. Tuy nhiên, cần lưu ý rằng không phải tư thế yoga nào cũng phù hợp với tất cả mọi người. Bạn nên tham khảo ý kiến chuyên gia trước khi bắt đầu bất kỳ chương trình tập luyện mới nào."

2.11 Hiện tượng "Ảo giác" và thiên kiến trong LLMs (Hallucinations and Biases in LLMs)

Hiện tượng "ảo giác" (Hallucinations) trong LLM là tình trạng mô hình AI tạo ra những thông tin (đầu ra) không tương ứng với thực tế hoặc ngữ cảnh. Điều này dẫn đến những nội dung sai lệch so với kiến thức hoặc thông tin trong thế giới thực.

Trong các LLM, ảo giác xảy ra khi mô hình tạo ra kết quả không phù hợp với thực tế hoặc ngữ cảnh thực tế. Điều này có thể làm lan truyền thông tin sai lệch, gây tác động tiêu cực đặc biệt nghiêm trọng trong những ngành quan trọng như y tế hoặc giáo dục.

Ví dụ, khi hỏi một mô hình LLM về nhà vô địch một giải thể thao trong tương lai, chẳng hạn "Ai đã vô địch World Series năm 2024?" vào thời điểm tháng 1/2024, mô hình vẫn đưa ra câu trả lời cụ thể. Lúc này, sự kiện chưa hề diễn ra, khiến thông tin mô hình cung cấp trở nên suy đoán và không chính xác.

Thiên kiến (Bias) cũng là một vấn đề quan trọng cần chú ý. Bias thể hiện khuynh hướng thiên lệch của mô hình trong việc ưu tiên đưa ra những câu trả lời hoặc nội dung nhất định nào đó. Điều này thường bắt nguồn từ việc dữ liệu huấn luyện ban đầu của mô hình đã có thiên lệch về giới tính, sắc tộc, văn hóa, hoặc bất kỳ yếu tố nào khác.

Ví dụ: Khi người dùng hỏi một LLM rằng “Ai là điều dưỡng?”, và mô hình trả lời: “Cô ấy là một chuyên viên y tế chăm sóc bệnh nhân trong bệnh viện”, câu trả lời này phản ánh thiên kiến giới tính. Mô hình ngầm mặc định rằng nghề điều dưỡng gắn liền với nữ giới, điều này không phù hợp với thực tế và thể hiện rõ sự thiên lệch về giới.

Việc hạn chế hiện tượng thiên lệch và "ảo giác" trong LLMs là rất quan trọng. Tuy nhiên, điều thú vị là những "ảo giác" này đôi khi cũng có lợi trong các lĩnh vực sáng tạo như viết văn, sáng tác truyện, vì nó cho phép tạo ra các nội dung mới mẻ và sáng tạo.

Mục tiêu cuối cùng là xây dựng được các mô hình LLM mạnh mẽ, hiệu quả nhưng đồng thời đáng tin cậy, công bằng, và đáng tin cậy.

2.12 Dịch thuật bằng mô hình LLM (sử dụng GPT-3.5 API)

Bây giờ, chúng ta sẽ kết hợp những điều vừa học để minh họa cách tương tác với LLM của OpenAI thông qua API, sử dụng mô hình để thực hiện nhiệm vụ dịch thuật. Để tạo văn bản bằng các mô hình LLM (như GPT-3.5), ta sẽ gửi yêu cầu thông qua API. Dưới đây là các bước minh họa chi tiết:

>_ Cách lấy API key từ OpenAI:

  • Truy cập vào tài khoản OpenAI.
  • Sau khi đăng nhập, tìm trang API keys, nhấn nút "Create new secret key" để tạo key mới.
  • Lưu key này cẩn thận để sử dụng về sau.

>_ Cách lưu trữ API key an toàn:

Lưu key vào file .env trong cùng thư mục chứa script Python:

>_ Sử dụng API với file .env:

Sau khi tạo API key, bạn lưu key trong file .env. File này cần đặt cùng thư mục với file script Python.

Bây giờ, mô hình đã sẵn sàng để tương tác!

>_ Ví dụ sử dụng GPT-3.5 để dịch tiếng Anh sang tiếng Việt:

Dưới đây là ví dụ đơn giản dùng GPT-3.5 API để dịch từ tiếng Anh sang tiếng Việt:

Kết quả nhận được sẽ là:

Xin chào, bạn có khoẻ không?

2.13 Điều khiển các mô hình LLM bằng kỹ thuật Few-shot Learning

Few-shot learning (học ít ví dụ) là cách cung cấp một số lượng nhỏ ví dụ minh họa cho mô hình, giúp chúng thích nghi nhanh chóng với các nhiệm vụ mới mà không cần huấn luyện lại toàn bộ từ đầu. Khi mô hình nhận những ví dụ này, chúng có hai vai trò quan trọng: vừa là hướng dẫn trong việc "định hướng" nhiệm vụ, vừa là căn cứ giúp mô hình xác định các mẫu thông tin quan trọng từ dữ liệu.

Dù các mô hình LLM như GPT-3 đã thể hiện khả năng xuất sắc trong nhiều nhiệm vụ như dịch văn bản, nhưng với các nhiệm vụ đặc biệt hơn đòi hỏi mô hình tư duy hoặc suy luận phức tạp, hiệu suất có thể khác nhau. Lúc này, Few-shot learning đặc biệt hữu ích.

Cụ thể, khi cung cấp một vài ví dụ mẫu, mô hình sẽ nhận ra các mẫu dữ liệu quan trọng và tăng độ chính xác khi tạo ra các phản hồi sát với yêu cầu người dùng hơn. Càng nhiều ví dụ được cung cấp, phản hồi của mô hình sẽ càng chính xác và đúng mục tiêu.

Dưới đây là một ví dụ minh họa Few-shot learning khi cung cấp ví dụ mô tả bộ phim bằng biểu tượng cảm xúc (emoji):

Ví dụ kết quả đầu ra của mô hình có thể là:

🤠🧸🚀👦👨‍🚀🤖🦖👽🎈

Điều thú vị ở đây là mô hình chỉ cần một số lượng nhỏ ví dụ ban đầu để tự động phát hiện và áp dụng được một mẫu phức tạp (như việc liên kết tên phim với chuỗi emoji đại diện).

3.Từ mô hình ngôn ngữ (Language Models) đến mô hình ngôn ngữ lớn (Large Language Models)

Quá trình phát triển các mô hình ngôn ngữ đã chứng kiến sự thay đổi từ các mô hình ngôn ngữ thông thường sang các mô hình ngôn ngữ lớn (LLMs). Trước đây, các mô hình ngôn ngữ truyền thống (language models - LMs) như GPT-2 thường bị giới hạn, nhưng sự xuất hiện của các LLM đã làm thay đổi đáng kể tình hình.

Ban đầu, các mô hình ngôn ngữ như GPT-2 hay BERT chủ yếu tập trung vào việc học cách xử lý ngôn ngữ thông qua dữ liệu với quy mô vừa phải. Tuy nhiên, khi LLM như GPT-3 và PaLM xuất hiện, người ta đã nhận thấy rằng tăng quy mô của mô hình và lượng dữ liệu huấn luyện có thể giúp các mô hình đạt được những kỹ năng mới phát sinh (emergent abilities), vượt xa các mô hình nhỏ hơn trước đó.

Các LLM lớn như GPT-3 và PaLM có khả năng học theo ngữ cảnh (in-context learning), từ đó xử lý tốt hơn các nhiệm vụ phức tạp mà không cần huấn luyện chuyên biệt hoặc điều chỉnh kiến trúc một cách đáng kể. Đây là một bước tiến quan trọng, giúp các mô hình ngôn ngữ lớn mở rộng khả năng và ứng dụng rộng rãi hơn so với thế hệ mô hình ngôn ngữ trước đây.

3.1 Các khả năng mới phát sinh trong mô hình LLM

Như chúng ta đã thảo luận, một khả năng được xem là mới phát sinh (emergent) khi nó chỉ xuất hiện ở các mô hình lớn nhưng hoàn toàn không tồn tại ở các mô hình nhỏ hơn. Đây là một yếu tố then chốt tạo nên thành công cho các mô hình ngôn ngữ lớn (Large Language Models - LLMs).

Những khả năng mới phát sinh trong LLM thường được xác định qua quan sát thực tế khi các mô hình ngôn ngữ đạt tới một quy mô nhất định. Các khả năng này xuất hiện một cách bất ngờ khi kích thước mô hình tăng lên, chẳng hạn như vượt qua các kỳ thi chuyên môn, khả năng thực hiện các phép toán số học, tóm tắt văn bản hay trả lời câu hỏi phức tạp.

Các khả năng mới này giúp LLM xử lý được những nhiệm vụ phức tạp hơn rất nhiều so với các mô hình nhỏ hơn, đóng góp đáng kể vào sự thành công hiện tại của LLM. Những kỹ năng này xuất hiện không phải do được lập trình trực tiếp, mà nhờ vào việc mở rộng về kích thước mô hình, nguồn lực tính toán và lượng dữ liệu huấn luyện. Đây là yếu tố quan trọng giải thích sự hiệu quả vượt trội của các mô hình ngôn ngữ lớn hiện nay.

Khả năng mới phát sinh là gì?

Hiện tượng này cho thấy các mô hình học và tổng quát hóa vượt xa những gì được kỳ vọng ban đầu, dẫn đến việc xuất hiện các kỹ năng mới mà chúng ta chưa từng thấy ở các mô hình nhỏ hơn, được gọi là khả năng mới phát sinh (emergent abilities).

Các khả năng này có được khi mô hình mở rộng đáng kể về kích thước. Khi đạt đến một mức độ nhất định, các mô hình đột nhiên thể hiện sự thay đổi lớn trong hiệu suất. Hiện tượng này được gọi là khả năng chuyển tiếp pha (phase transition), tương tự như việc hệ thống đột ngột thay đổi hành vi một cách đáng kể mà không thể dự đoán được nếu chỉ quan sát các mô hình ở quy mô nhỏ hơn.

Quá trình mở rộng mô hình ngôn ngữ tập trung chủ yếu vào việc gia tăng nguồn lực tính toán, mở rộng số lượng tham số mô hình, và tăng kích thước bộ dữ liệu huấn luyện. Đôi khi, các khả năng mới thậm chí vẫn có thể phát sinh khi giảm bớt lượng tính toán hoặc thời gian huấn luyện. Tuy nhiên, những khả năng này thường không thể dự đoán bằng cách đơn giản là kéo dài các xu hướng đã thấy ở các mô hình nhỏ hơn.

Các khả năng mới này xuất hiện một cách bất ngờ và phụ thuộc vào việc gia tăng đáng kể quy mô mô hình, nguồn lực tính toán, và lượng dữ liệu huấn luyện. Những khả năng này không đơn giản chỉ là sự cải tiến về mặt số lượng, mà thể hiện sự thay đổi về chất lượng—thứ chỉ có thể được phát hiện khi mở rộng quy mô mô hình lên một mức độ nhất định.

Các bộ đánh giá khả năng mới phát sinh của LLM

Một số bộ tiêu chuẩn (benchmarks) được sử dụng để đánh giá khả năng mới phát sinh (emergent abilities) của các mô hình ngôn ngữ lớn (LLMs). Các bộ tiêu chuẩn này bao gồm BIG-Bench, TruthfulQA, Massive Multi-task Language Understanding (MMLU)Word in Context (WiC).

  • BIG-Bench
    Bộ tiêu chuẩn BIG-Bench bao gồm hơn 200 bài kiểm tra khác nhau để đánh giá đa dạng khả năng của các mô hình ngôn ngữ lớn. Các nhiệm vụ tiêu biểu gồm khả năng tính toán (như “tính toán số học”), chuyển đổi âm vị từ bảng phiên âm quốc tế IPA sang văn bản, và đảo thứ tự chữ cái của từ (word unscrambling). Ví dụ cụ thể như việc chuyển tự câu tiếng Anh “The 1931 Malay census was an alarm bell” sang IPA (International Phonetic Alphabet). Những nhiệm vụ này kiểm tra khả năng tính toán, sử dụng và xử lý từ ngữ hiếm gặp, hoặc làm việc với các bảng chữ cái khác nhau.
    Hiệu suất của các mô hình như GPT, Gopher thường đạt thấp khi còn nhỏ, nhưng đột nhiên tăng mạnh khi mở rộng quy mô, chứng tỏ khả năng mới đã phát sinh. Thông tin chi tiết về bộ đánh giá này được lưu trữ trên GitHub.
  • TruthfulQA
    Bộ tiêu chuẩn này đánh giá khả năng mô hình đưa ra câu trả lời trung thực. Nó bao gồm hai loại nhiệm vụ: nhiệm vụ tạo câu trả lời (generation) khi mô hình đưa ra câu trả lời khoảng một đến hai câu cho câu hỏi, và nhiệm vụ lựa chọn đáp án (multiple-choice), khi mô hình phải chọn đáp án đúng từ bốn lựa chọn cho sẵn hoặc đánh giá đúng sai. Khi mô hình như GPT, Gopher đạt một quy mô đủ lớn, chúng vượt qua kết quả ngẫu nhiên, thể hiện sự xuất hiện rõ rệt của khả năng trả lời trung thực.
  • Massive Multi-task Language Understanding (MMLU)
    MMLU kiểm tra kiến thức và kỹ năng giải quyết vấn đề của mô hình trên 57 nhiệm vụ khác nhau như toán học cơ bản, lịch sử Hoa Kỳ, khoa học máy tính. Trong khi các mô hình nhỏ hơn như GPT, Gopher, Chinchilla ở một quy mô nhất định chưa thể hiện hiệu suất vượt trội hơn đoán ngẫu nhiên trên tất cả các chủ đề, thì khi quy mô của các mô hình này tăng đáng kể, hiệu suất cao hơn rõ ràng sẽ bắt đầu xuất hiện—một dấu hiệu về khả năng mới phát sinh.
  • Word in Context (WiC)
    WiC đánh giá khả năng mô hình hiểu ngữ cảnh, đặc biệt là khả năng xác định liệu một từ nhất định có nghĩa giống nhau trong hai ngữ cảnh khác nhau hay không. Các mô hình như Chinchilla ban đầu chưa thể vượt qua ngưỡng đoán ngẫu nhiên trong thử nghiệm one-shot (một ví dụ mẫu), kể cả ở quy mô lớn. Tuy nhiên, khi các mô hình như PaLM được mở rộng quy mô lớn hơn nữa, hiệu suất vượt trội rõ ràng bắt đầu xuất hiện, cho thấy khả năng hiểu ngữ cảnh đã được phát triển.

Tổng hợp lại, các bộ tiêu chuẩn này đóng vai trò quan trọng trong việc đo lường và phát hiện những khả năng đặc biệt mà chỉ các mô hình lớn mới có thể đạt được. Đây chính là bằng chứng cho thấy những khả năng mới xuất hiện là kết quả của việc mở rộng quy mô mô hình vượt quá một ngưỡng nhất định, thay vì chỉ đơn giản tiếp tục mở rộng tuyến tính từ những mô hình nhỏ hơn.

Những yếu tố dẫn đến sự xuất hiện các khả năng mới phát sinh (Emergent Abilities)

  • Lập luận nhiều bước (Multi-step reasoning)
    Đây là việc yêu cầu mô hình thực hiện một chuỗi các bước suy luận trung gian trước khi đưa ra kết quả cuối cùng. Phương pháp này, thường gọi là chain-of-thought prompting, chỉ thực sự hiệu quả khi được áp dụng trên các mô hình đủ lớn.
  • Một chiến lược quan trọng khác là fine-tuning (tinh chỉnh). Quá trình này bao gồm việc tinh chỉnh mô hình trên nhiều nhiệm vụ khác nhau dưới dạng hướng dẫn (instruction following). Phương pháp này thể hiện rõ hiệu quả chỉ khi mô hình đạt được một quy mô nhất định, cho thấy vai trò quan trọng của quy mô đối với việc phát triển các khả năng nâng cao.

Những rủi ro tiềm ẩn khi xuất hiện khả năng mới

Cùng với việc mở rộng quy mô của các mô hình ngôn ngữ lớn (LLMs), những rủi ro mới cũng xuất hiện. Các rủi ro này bao gồm:

  • Thách thức về độ chính xác, thiên kiến và sự độc hại của nội dung được mô hình tạo ra.
  • Các biện pháp để khuyến khích mô hình trở nên "hữu ích, vô hại, và trung thực" có thể giúp giảm nhẹ những rủi ro này.

Ví dụ, bộ đánh giá WinoGender, vốn dùng để đo mức độ thiên kiến giới tính trong các bối cảnh nghề nghiệp, cho thấy rằng khi các mô hình được mở rộng quy mô, hiệu suất tổng thể có thể tăng lên nhưng đồng thời thiên kiến giới tính cũng có thể được phóng đại, đặc biệt là trong những tình huống không rõ ràng. Các mô hình lớn thường ghi nhớ dữ liệu huấn luyện chi tiết hơn, nhưng các kỹ thuật như loại bỏ dữ liệu trùng lặp (deduplication) có thể giúp giảm thiểu nguy cơ này.

Các rủi ro khác bao gồm khả năng tạo ra nội dung gây hại hoặc dễ bị khai thác. Những rủi ro này có thể gia tăng trong tương lai hoặc chưa được hiểu rõ hoàn toàn trên các mô hình hiện tại.

Xu hướng chuyển dịch sang các mô hình ngôn ngữ đa mục đích (General-Purpose Models)

Sự xuất hiện các khả năng mới đã làm thay đổi cách cộng đồng NLP nhìn nhận và sử dụng các mô hình ngôn ngữ lớn. Trước đây, nghiên cứu NLP thường tập trung vào những mô hình chuyên biệt cho từng tác vụ. Tuy nhiên, với sự phát triển vượt bậc về quy mô, ngày nay cộng đồng đang chuyển sang xây dựng và ứng dụng các mô hình đa mục đích, có khả năng giải quyết một loạt các nhiệm vụ đa dạng mà không cần huấn luyện chuyên biệt từng nhiệm vụ.

Xu hướng này thể hiện rõ khi các mô hình đa mục đích (general-purpose models), chỉ thông qua việc sử dụng prompt và cung cấp ít ví dụ (few-shot prompting), đã vượt qua hiệu suất của các mô hình được huấn luyện chuyên biệt. Ví dụ:

  • GPT-3 đã thiết lập các mức hiệu suất mới trên các bộ đánh giá như TriviaQA và PiQA.
  • PaLM đạt hiệu suất nổi bật trong các nhiệm vụ lập luận số học.
  • Flamingo, mô hình đa phương thức (multimodal model), đạt kết quả cao trong việc trả lời câu hỏi liên quan tới hình ảnh.

Khả năng của các mô hình đa mục đích trong việc giải quyết các nhiệm vụ với ít ví dụ đã giúp mở rộng phạm vi ứng dụng của LLM ra khỏi lĩnh vực NLP truyền thống, hướng đến các ứng dụng thực tế như chuyển ngữ hướng dẫn cho robot, tương tác người dùng, và suy luận đa phương thức (multi-modal reasoning).

3.2 Mở rộng cửa sổ ngữ cảnh (Expanding the Context Window)

Tầm quan trọng của độ dài ngữ cảnh (Context Length)

Cửa sổ ngữ cảnh (context window) của các mô hình ngôn ngữ lớn thể hiện số lượng token đầu vào tối đa mà mô hình có thể xử lý đồng thời. Với các mô hình như GPT-4 hiện nay, kích thước ngữ cảnh vào khoảng 32 nghìn token (khoảng 50 trang văn bản).

Kích thước ngữ cảnh đóng vai trò rất quan trọng. Nó ảnh hưởng trực tiếp tới khả năng xử lý, phân tích và hiểu ngôn ngữ của mô hình. Gần đây, các mô hình tiên tiến hơn đã mở rộng đáng kể kích thước ngữ cảnh, điển hình như GPT-4 của OpenAI có thể xử lý đến 32 nghìn token, tương đương khoảng 50 trang văn bản.

Điều này đặc biệt hữu ích khi bạn cần đưa vào mô hình một lượng lớn dữ liệu đặc thù và đặt các câu hỏi liên quan tới dữ liệu đó. Ví dụ, khi phân tích một tài liệu dài về một công ty hoặc một vấn đề cụ thể, cửa sổ ngữ cảnh lớn sẽ giúp mô hình đánh giá và ghi nhớ được nhiều thông tin quan trọng hơn, từ đó cung cấp kết quả phân tích và câu trả lời chính xác hơn nhiều so với mô hình có ngữ cảnh nhỏ hơn.

Những hạn chế của kiến trúc Transformer nguyên bản

Mặc dù có nhiều điểm mạnh, kiến trúc Transformer nguyên bản vẫn tồn tại những hạn chế trong việc xử lý các ngữ cảnh dài. Đặc biệt, các thao tác của tầng attention (tầng chú ý) trong Transformer có độ phức tạp thời gian và không gian dạng bậc hai (ký hiệu ), khiến việc xử lý văn bản dài trở nên khó khăn.

Cụ thể, độ phức tạp này xuất phát từ hai phép tính chính trong tầng attention:

  • Thao tác tuyến tính để tạo các ma trận Query (truy vấn), Key (khóa), và Value (giá trị) có độ phức tạp khoảng .
  • Việc nhân các ma trận này với nhau có độ phức tạp khoảng .

Kết quả là, khi chiều dài ngữ cảnh tăng lên (nhiều token hơn), độ phức tạp và tài nguyên tính toán (bộ nhớ, thời gian xử lý) tăng nhanh theo hàm bậc hai. Đây chính là hạn chế cơ bản khiến các mô hình Transformer gặp khó khăn khi phải xử lý lượng văn bản lớn.

Để giải quyết vấn đề này, nhiều cải tiến kiến trúc Transformer đã được đề xuất, nhằm giảm độ phức tạp của tầng attention, giúp mô hình có thể xử lý được các ngữ cảnh dài hiệu quả hơn.

Các kỹ thuật tối ưu hóa để mở rộng cửa sổ ngữ cảnh (context window)

Mặc dù kiến trúc Transformer gốc gặp phải nhiều thách thức trong việc xử lý các ngữ cảnh dài, nhưng các nhà nghiên cứu đã phát triển nhiều kỹ thuật tối ưu nhằm cải thiện hiệu suất và mở rộng cửa sổ ngữ cảnh của mô hình. Một số kỹ thuật nổi bật bao gồm:

>_ Positional Encoding ALiBi

ALiBi (Attention with Linear Biases) là kỹ thuật mã hóa vị trí cho phép mô hình được huấn luyện trong ngữ cảnh nhỏ hơn, sau đó tinh chỉnh với các ngữ cảnh lớn hơn mà không làm giảm hiệu suất. Điều này giúp mô hình dễ dàng thích nghi với những kích thước ngữ cảnh khác nhau, làm tăng khả năng xử lý ngữ cảnh lên đáng kể so với Transformer gốc.

>_ Sparse Attention

Sparse Attention (cơ chế chú ý thưa) giúp giảm bớt độ phức tạp tính toán của tầng Attention bằng cách chỉ tập trung vào một số lượng nhỏ các token quan trọng, thay vì phải xử lý toàn bộ ngữ cảnh. Nhờ vậy, lượng tài nguyên tính toán cần thiết giảm đáng kể từ dạng bậc hai xuống mức gần tuyến tính, giúp mô hình xử lý tốt các ngữ cảnh rất dài.

>_ Flash Attention

Kỹ thuật Flash Attention tối ưu việc sử dụng bộ nhớ GPU bằng cách chia nhỏ ma trận đầu vào thành các khối (blocks) và tính toán attention dựa trên từng khối. Điều này giúp mô hình tối ưu hóa đáng kể bộ nhớ GPU và cải thiện hiệu suất xử lý, cho phép mở rộng cửa sổ ngữ cảnh.

>_ Multi-Query Attention (MQA)

Multi-Query Attention (MQA) giúp giảm tiêu thụ bộ nhớ trong tầng decoder cache (key/value cache) bằng cách tổng hợp trọng số từ tất cả các attention head thành một tập hợp duy nhất trong quá trình tạo các ma trận Key và Value. Việc hợp nhất này giúp giảm lượng bộ nhớ sử dụng, nâng cao hiệu quả xử lý, đặc biệt khi sử dụng các ngữ cảnh lớn hơn.

Những kỹ thuật này giúp cải thiện hiệu suất đáng kể, mở ra khả năng xử lý các ngữ cảnh rất dài, có thể lên đến hàng chục hoặc thậm chí hàng trăm nghìn token, điều mà trước đây các kiến trúc Transformer truyền thống khó đạt được.

4. Lịch sử phát triển của các mô hình ngôn ngữ lớn phổ biến (LLMs)

Dưới đây là tổng hợp lịch sử các mô hình ngôn ngữ lớn nổi bật trong vòng 5 năm gần đây:

  • [2018] GPT-1
    Ra mắt bởi OpenAI, GPT-1 đặt nền móng cho loạt mô hình GPT với kiến trúc Transformer dạng decoder (chỉ giải mã), tiên phong áp dụng phương pháp tiền huấn luyện không giám sát và tinh chỉnh có giám sát trong việc dự đoán ngôn ngữ tự nhiên.
  • [2019] GPT-2
    GPT-2 mở rộng lên 1,5 tỷ tham số, chứng minh khả năng đa nhiệm, xử lý đa dạng nhiệm vụ bằng cùng một định dạng đầu vào, đầu ra.
  • [2020] GPT-3
    GPT-3 đánh dấu một bước nhảy vọt đáng kể với 175 tỷ tham số, giới thiệu khả năng học theo ngữ cảnh (in-context learning), thể hiện hiệu suất vượt trội trong nhiều nhiệm vụ xử lý ngôn ngữ tự nhiên, suy luận và thích nghi lĩnh vực cụ thể.
  • [2021] Codex
    Codex (từ OpenAI) là một biến thể GPT-3, được tinh chỉnh trên tập dữ liệu lập trình từ GitHub, thể hiện khả năng lập trình và giải quyết vấn đề toán học xuất sắc, chứng minh lợi ích của huấn luyện chuyên biệt.
  • [2021] LaMDA
    DeepMind giới thiệu LaMDA (Language Models for Dialog Applications) với 137 tỷ tham số, tập trung vào việc phát triển khả năng hội thoại và tương tác hội thoại tự nhiên hơn.
  • [2021] Gopher
    DeepMind giới thiệu Gopher với 280 tỷ tham số, hiệu suất gần bằng con người trên benchmark MMLU nhưng gặp thách thức về thiên kiến và thông tin sai lệch.
  • [2022] InstructGPT
    InstructGPT cải tiến từ GPT-3, áp dụng học tăng cường từ phản hồi con người (RLHF) nhằm cải thiện khả năng thực hiện chỉ dẫn và tăng độ an toàn nội dung, giúp mô hình phù hợp hơn với mong muốn người dùng.
  • [2022] Chinchilla
    Chinchilla của DeepMind có 70 tỷ tham số, tập trung vào việc tối ưu sử dụng tài nguyên tính toán theo nguyên tắc Scaling Law, đạt độ chính xác vượt trội so với các mô hình lớn hơn khi sử dụng cùng nguồn lực tính toán.
  • [2022] PaLM
    Ra mắt bởi Google Research, PaLM có tới 540 tỷ tham số, thể hiện hiệu suất ấn tượng khi sử dụng few-shot learning, tận dụng hiệu quả hệ thống Pathways của Google để tính toán phân tán.
  • [2022] ChatGPT
    Tháng 11/2022, OpenAI ra mắt ChatGPT dựa trên GPT-3.5, đặc biệt tập trung vào ứng dụng giao tiếp hội thoại, thể hiện khả năng giao tiếp và lập luận gần giống con người.
  • [2023] LLaMA
    Meta AI ra mắt LLaMA (Large Language Model Meta AI) với các phiên bản từ 7 tỷ đến 65 tỷ tham số. LLaMA phá vỡ truyền thống giới hạn truy cập, công bố trọng số mô hình dưới dạng giấy phép phi thương mại dành cho nghiên cứu khoa học. Phiên bản sau như LLaMA 2 còn nhấn mạnh hơn nữa tính dễ tiếp cận, cho phép sử dụng thương mại.
  • [2023] GPT-4
    GPT-4 ra mắt tháng 3/2023, mở rộng khả năng xử lý đa phương thức (multimodal), vượt trội đáng kể so với các phiên bản trước trong nhiều tác vụ, đại diện cho một bước tiến lớn của LLM.
  • [2024] Gemini 1.5
    Gemini 1.5 (Google) sử dụng kiến trúc Mixture-of-Experts cải tiến, hỗ trợ khả năng đa phương thức, và đặc biệt Gemini 1.5 Pro sở hữu cửa sổ ngữ cảnh lên tới 1 triệu token, lớn hơn bất kỳ mô hình nào từng được công bố trước đây, có thể truy cập qua API độc quyền của Google.
  • [2024] Gemma
    Google công bố hai phiên bản Gemma (2 tỷ và 7 tỷ tham số), được phát triển trong quá trình tạo ra Gemini. Các phiên bản này được công bố công khai dưới cả dạng tiền huấn luyện (pre-trained) và tinh chỉnh theo chỉ dẫn (instruction-tuned).
  • [2024] Claude 3 Opus
    Anthropic ra mắt Claude 3 Opus, một trong những mô hình đầu tiên có hiệu suất ngang hoặc vượt qua GPT-4 trong nhiều bộ đánh giá khác nhau. Với kích thước ngữ cảnh lên tới 200K token, Claude 3 Opus nổi bật nhờ khả năng ghi nhớ và tái hiện thông tin tốt, bất kể vị trí của thông tin trong văn bản.
  • [2024] Mistral
    Sau khi giới thiệu kiến trúc Mixture-of-Experts, Mistral phát hành phiên bản base (8x22 tỷ tham số) dưới dạng mã nguồn mở. Đây hiện là mô hình nguồn mở tốt nhất có thể sử dụng, dù hiệu suất vẫn thấp hơn so với các mô hình nguồn đóng như GPT-4 hay Claude.
  • [2024] Infinite Attention
    Công bố gần đây từ Google, được cho là nền tảng cho Gemini 1.5 Pro, khám phá các kỹ thuật mở rộng kích thước ngữ cảnh một cách vô hạn. Công nghệ này được mô tả như một giải pháp "plug-and-play", giúp cải thiện đáng kể hiệu suất few-shot learning mà không bị giới hạn bởi kích thước ngữ cảnh. Mặc dù bài báo đề cập hiệu suất lên tới 10 triệu token, nhưng chưa có phiên bản chính thức với thông số này được phát hành.

5. Lịch sử NLP và các LLM

Phần tiếp theo là hành trình qua lịch sử phát triển các mô hình ngôn ngữ, từ những mô hình thống kê ban đầu cho tới sự ra đời của các LLM. Đây sẽ là một câu chuyện về quá trình xây dựng các mô hình hơn là một nghiên cứu kỹ thuật chuyên sâu. Vì vậy, bạn không cần lo lắng nếu thấy một số chi tiết kỹ thuật phức tạp.

5.1 Quá trình tiến hóa của mô hình ngôn ngữ (Language Modeling)

Quá trình phát triển của các mô hình xử lý ngôn ngữ tự nhiên (NLP) là một câu chuyện về sự sáng tạo và liên tục cải tiến. Bắt đầu từ mô hình đơn giản như Bag of Words (BoW) năm 1954, với cách tiếp cận là đếm số lần xuất hiện của từng từ trong văn bản. Tiếp đến năm 1972, mô hình TF-IDF ra đời, cải tiến phương pháp này bằng cách điều chỉnh tần suất xuất hiện của các từ dựa trên độ hiếm hay phổ biến.

Bước đột phá quan trọng xảy ra vào năm 2013, khi mô hình Word2Vec xuất hiện. Mô hình này lần đầu tiên sử dụng các vector nhúng (word embeddings), nắm bắt các mối liên kết ngữ nghĩa tinh tế giữa các từ mà những mô hình trước đây không thể làm được.

Sau đó, các mô hình mạng neuron hồi quy (Recurrent Neural Networks – RNNs) được giới thiệu. RNN có khả năng học các mẫu (patterns) trong chuỗi thông tin, xử lý hiệu quả các văn bản với độ dài khác nhau.

Việc ra mắt kiến trúc Transformer vào năm 2017 đã đánh dấu một bước ngoặt lớn trong lĩnh vực này. Transformer có cơ chế chú ý (attention mechanism), cho phép mô hình chọn lọc tập trung vào những phần quan trọng nhất trong dữ liệu đầu vào khi tạo ra đầu ra. Đột phá này đã mở đường cho sự xuất hiện của BERT năm 2018. BERT dùng kiến trúc Transformer hai chiều (bidirectional transformer), giúp cải thiện đáng kể hiệu suất trong nhiều nhiệm vụ NLP truyền thống.

Những năm tiếp theo chứng kiến sự bùng nổ các mô hình mới như RoBERTa, XLM, ALBERTELECTRA, mỗi mô hình đều đưa ra những cải tiến và tối ưu hóa riêng, liên tục mở rộng giới hạn khả năng của các mô hình xử lý ngôn ngữ tự nhiên.

5.2 Lịch sử các mô hình ngôn ngữ (Model’s Timeline)

  • [1954] Bag of Words (BOW)
    Bag of Words là một mô hình đơn giản, chỉ đếm tần suất xuất hiện của từng từ trong văn bản. Tuy nhiên, mô hình này không thể ghi nhận được ngữ cảnh hay thứ tự các từ.
  • [1972] TF-IDF
    TF-IDF mở rộng mô hình Bag of Words bằng cách gán trọng số cao hơn cho những từ hiếm gặp và thấp hơn cho các từ phổ biến, từ đó nâng cao khả năng đánh giá mức độ liên quan giữa các tài liệu. Tuy nhiên, TF-IDF cũng không xét đến ngữ cảnh.
  • [2013] Word2Vec
    Word2Vec sử dụng các vector nhúng (word embeddings) với nhiều chiều để thể hiện mối quan hệ ngữ nghĩa giữa các từ, đánh dấu một bước tiến lớn trong khả năng hiểu ngữ nghĩa của văn bản.
  • [2014] Kiến trúc RNN Encoder-Decoder
    RNN là bước tiến lớn tiếp theo, xử lý được ngữ cảnh trong văn bản. RNN được mở rộng thêm các biến thể như LSTM (1997) để xử lý các phụ thuộc dài hạn và Bidirectional RNN (1997) để hiểu rõ hơn ngữ cảnh. Đặc biệt, kiến trúc Encoder-Decoder (2014) cải thiện đáng kể khả năng xử lý chuỗi văn bản dài và dịch thuật.
  • [2017] Transformer
    Transformer với cơ chế chú ý (attention mechanism) đã cách mạng hóa NLP, cải tiến mạnh mẽ khả năng tính toán và căn chỉnh thông tin giữa đầu vào và đầu ra.
  • [2018] BERT
    BERT là một mô hình Transformer hai chiều, sử dụng global attention và các mục tiêu huấn luyện kết hợp, đạt hiệu quả vượt trội trên nhiều tác vụ NLP.
  • [2018] GPT
    GPT là mô hình autoregressive đầu tiên sử dụng Transformer. Sau đó, GPT tiến hóa thành GPT-2 [2019] (lớn hơn và tối ưu hơn), rồi GPT-3 [2020] (175 tỷ tham số), mỗi phiên bản được huấn luyện trên các tập dữ liệu lớn hơn như WebText và Common Crawl.
  • [2019] CTRL
    CTRL tương tự GPT nhưng bổ sung các "mã kiểm soát" (control codes), cho phép kiểm soát điều kiện tạo ra nội dung, cải thiện đáng kể khả năng điều hướng nội dung và phong cách văn bản tạo ra.
  • [2019] Transformer-XL
    Transformer-XL sáng tạo bằng cách tái sử dụng trạng thái ẩn (hidden states) từ các đoạn văn bản trước, giúp mô hình ghi nhớ ngữ cảnh dài hơn và cải thiện hiệu suất với các chuỗi văn bản dài.
  • [2019] ALBERT
    ALBERT là phiên bản hiệu quả hơn của BERT. Nó thay đổi mục tiêu huấn luyện từ Next Sentence Prediction sang Sentence Order Prediction, kết hợp với kỹ thuật giảm tham số, giúp giảm dung lượng bộ nhớ và tăng tốc độ huấn luyện.
  • [2019] RoBERTa
    RoBERTa cải tiến BERT bằng cách sử dụng phương pháp huấn luyện Masked Language Modeling động (dynamic), loại bỏ Next Sentence Prediction, sử dụng bộ tokenizer BPE, và các hyperparameter tối ưu hơn, tăng hiệu suất đáng kể.
  • [2019] XLM
    XLM là một Transformer đa ngôn ngữ, được huấn luyện với nhiều mục tiêu như Causal Language Modeling, Masked Language Modeling và Translation Language Modeling, đặc biệt hữu ích cho các tác vụ NLP đa ngôn ngữ.
  • [2019] XLNet
    XLNet kết hợp Transformer-XL và kỹ thuật autoregressive tổng quát, giúp mô hình học được các phụ thuộc hai chiều, đạt hiệu suất vượt trội hơn các mô hình unidirectional thông thường.
  • [2019] PEGASUS
    PEGASUS có kiến trúc encoder hai chiều và decoder một chiều, huấn luyện với Masked Language Modeling và Gap Sentence Generation, tối ưu hóa cho các nhiệm vụ tóm tắt văn bản.
  • [2019] DistilBERT
    DistilBERT nhỏ hơn và nhanh hơn BERT, giữ được trên 95% hiệu suất của BERT gốc. DistilBERT dùng kỹ thuật "chưng cất" (distillation) để nén kiến thức từ BERT vào mô hình nhỏ hơn.
  • [2019] XLM-RoBERTa
    XLM-RoBERTa là phiên bản đa ngôn ngữ của RoBERTa, huấn luyện chủ yếu với mục tiêu Masked Language Modeling trên dữ liệu đa ngôn ngữ đa dạng, tăng cường đáng kể khả năng xử lý đa ngôn ngữ.
  • [2019] BART
    BART dùng encoder hai chiều và decoder một chiều, được huấn luyện bằng cách cố tình làm hỏng văn bản đầu vào và yêu cầu mô hình tái tạo văn bản gốc, phù hợp cho cả các tác vụ tạo sinh và hiểu văn bản.
  • [2019] ConvBERT
    ConvBERT sáng tạo bằng cách thay thế self-attention truyền thống bằng các khối tích chập (convolutional blocks), cải thiện khả năng xử lý đồng thời cả ngữ cảnh cục bộ và toàn cục.
  • [2020] Funnel Transformer
    Funnel Transformer nén dần chuỗi trạng thái ẩn (hidden states) xuống thành chuỗi ngắn hơn, giúp giảm chi phí tính toán nhưng vẫn duy trì hiệu suất cao.
  • [2020] Reformer
    Reformer sử dụng locality-sensitive hashing trong attention và axial position encoding, giúp giảm đáng kể độ phức tạp tính toán và cải thiện hiệu suất mô hình.
  • [2020] T5
    T5 coi tất cả tác vụ NLP như một bài toán "text-to-text" và huấn luyện mô hình bằng cách phối hợp các nhiệm vụ có giám sát và không giám sát, rất linh hoạt khi áp dụng.
  • [2020] Longformer
    Longformer tối ưu Transformer cho các tài liệu dài, sử dụng cơ chế attention dạng thưa (sparse attention) thay thế cho attention truyền thống, giúp cải thiện hiệu suất với các văn bản dài.
  • [2020] ProphetNet
    ProphetNet sử dụng mục tiêu huấn luyện Future N-gram Prediction, giúp cải thiện đáng kể hiệu suất trong các nhiệm vụ dịch thuật, tóm tắt và trả lời câu hỏi.
  • [2020] ELECTRA
    ELECTRA huấn luyện theo mục tiêu phát hiện token thay thế (Replaced Token Detection), cải thiện hiệu suất và độ hiệu quả so với BERT.
  • [2021] Switch Transformers
    Switch Transformers giới thiệu mô hình Mixture-of-Experts (MoE) sử dụng chuyên gia được kích hoạt thưa (sparsely-activated), giúp mô hình xử lý hiệu quả hơn nhiều tác vụ khác nhau, là bước tiến quan trọng trong việc mở rộng quy mô của Transformer.

Tổng thể, quá trình phát triển của các mô hình NLP là một hành trình liên tục đổi mới, tối ưu hóa và cải thiện khả năng xử lý ngôn ngữ tự nhiên, hướng đến các ứng dụng ngày càng đa dạng và phức tạp hơn.

Tổng kết chương

Quá trình phát triển trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), từ mô hình Bag of Words cơ bản, đã dẫn tới những mô hình tiên tiến và phức tạp dựa trên kiến trúc Transformer hiện nay. Các mô hình ngôn ngữ lớn (Large Language Models - LLMs) là các kiến trúc mạnh mẽ được huấn luyện trên lượng dữ liệu văn bản khổng lồ, có khả năng hiểu và tạo ra ngôn ngữ gần giống với cách con người sử dụng. Dựa trên thiết kế Transformer, chúng xuất sắc trong việc nắm bắt các mối quan hệ dài hạn trong văn bản và tạo sinh nội dung thông qua quá trình tự hồi quy (autoregressive).

Các năm 2020 và 2021 đánh dấu những bước ngoặt quan trọng trong tiến trình phát triển của LLM. Trước đó, mục tiêu chính của các mô hình ngôn ngữ chỉ là tạo ra văn bản mạch lạc và phù hợp ngữ cảnh. Tuy nhiên, sự phát triển vượt bậc của LLM trong khoảng thời gian này đã dẫn đến một sự thay đổi căn bản về phương pháp tiếp cận.

Hành trình từ các mô hình ngôn ngữ tiền huấn luyện tới các mô hình ngôn ngữ lớn (LLMs) ngày nay được đánh dấu bởi một số đặc trưng quan trọng như sự ảnh hưởng của quy luật mở rộng (scaling laws) và sự xuất hiện các khả năng mới như học theo ngữ cảnh (in-context learning), kỹ thuật lập luận từng bước (chain-of-thought reasoning), và khả năng tuân thủ hướng dẫn (instruction-following). Các khả năng mới phát sinh này là yếu tố trọng tâm mang lại thành công cho các LLM, đặc biệt thể hiện trong các tình huống như few-shot learning và các phương pháp prompt nâng cao (augmented prompting). Tuy nhiên, việc mở rộng quy mô cũng đi kèm với những vấn đề như thiên kiến (biases) và nội dung độc hại (toxicity), đòi hỏi cần cân nhắc kỹ khi ứng dụng mô hình.

Các khả năng mới phát sinh của LLM đã chuyển hướng nghiên cứu sang các mô hình ngôn ngữ đa mục đích (general-purpose models), mở rộng đáng kể phạm vi ứng dụng ra ngoài các nghiên cứu NLP truyền thống. Sự mở rộng kích thước cửa sổ ngữ cảnh (context window) cũng đóng vai trò quan trọng trong xu hướng này. Những cải tiến như FlashAttention-2, giúp tối ưu hóa tốc độ và bộ nhớ của tầng Attention, hay mô hình LongNet với kỹ thuật “dilated attention”, đã mở đường cho khả năng mở rộng cửa sổ ngữ cảnh lên tới 1 tỷ token.

Trong chương này, chúng ta đã cùng khám phá các khái niệm cơ bản về LLM, lịch sử hình thành và tiến hóa của chúng. Chúng ta cũng thực hành với những khái niệm như token hóa (tokenization), ngữ cảnh (context), và few-shot learning thông qua các ví dụ thực tế, đồng thời xác định những vấn đề cố hữu như hiện tượng "ảo giác" (hallucinations) và thiên kiến (biases) của các mô hình này, cùng với việc nhấn mạnh tầm quan trọng của việc giảm thiểu các vấn đề này trong ứng dụng thực tế.

Bài viết liên quan:

Bình luận