Hiểu sâu về LLM: Hướng dẫn trực quan từ dữ liệu thô đến trợ lý ảo thông minh
Bài viết này cung cấp cái nhìn toàn diện về cách xây dựng các mô hình ngôn ngữ lớn (LLM) như ChatGPT, từ việc thu thập dữ liệu thô trên internet đến quá trình huấn luyện tinh phức tạp. Dựa trên bài giảng của chuyên gia AI Andrej Karpathy, hướng dẫn trực quan này giải thích các khái niệm cốt lõi như tokenization, mạng nơ-ron và cơ chế hoạt động của việc sinh văn bản tự động.
Một hướng dẫn trực quan hoàn chỉnh về cách các mô hình ngôn ngữ lớn (LLM) như ChatGPT được xây dựng — từ những đoạn văn bản thô trên mạng internet cho đến khi trở thành một trợ lý đàm thoại sắc sảo. Nội dung này dựa trên bài giảng chuyên sâu của kỹ sư AI Andrej Karpathy.
Thu thập và xử lý dữ liệu khổng lồ
Bước đầu tiên trong việc tạo ra một LLM là thu thập một lượng khổng lồ văn bản. Các tổ chức như Common Crawl đã thực hiện việc thu thập dữ liệu (crawl) trên web từ năm 2007, lập chỉ mục khoảng 2,7 tỷ trang web vào năm 2024. Dữ liệu thô này sau đó được lọc để tạo thành một tập dữ liệu chất lượng cao như FineWeb.
Mục tiêu là có được số lượng lớn các tài liệu đa dạng và chất lượng. Sau quá trình lọc kỹ lưỡng, bạn sẽ kết thúc với khoảng 44 terabyte dữ liệu — tương đương dung lượng của một ổ cứng cứng — đại diện cho khoảng 15 nghìn tỷ token.
Tokenization: Biến văn bản thành con số
Mạng nơ-ron không thể xử lý văn bản thô — chúng cần các con số. Giải pháp là tokenization: quá trình phá vỡ văn bản thành các "token" (các đoạn nhỏ của từ) và gán cho mỗi token một ID định danh.
GPT-4 sử dụng một từ vựng gồm 100.277 token, được xây dựng thông qua thuật toán Byte Pair Encoding (BPE). BPE bắt đầu với các byte riêng lẻ (256 ký hiệu), sau đó lặp đi lặp lại việc hợp nhất các cặp kề nhau xuất hiện thường xuyên nhất — giúp nén độ dài chuỗi đồng thời mở rộng từ vựng.
Huấn luyện mạng nơ-ron Transformer
Mạng nơ-ron Transformer được khởi tạo với các tham số ngẫu nhiên — hàng tỷ "núm vặn" có thể điều chỉnh. Quá trình huấn luyện sẽ điều chỉnh các tham số này để mạng trở nên tốt hơn trong việc dự đoán token tiếp theo trong bất kỳ chuỗi nào.
Ở mỗi bước huấn luyện: lấy mẫu một cửa sổ token -> đưa vào mạng -> so sánh dự đoán với token tiếp theo thực tế -> điều chỉnh nhẹ tất cả các tham số theo đúng hướng. Quá trình này lặp lại hàng tỷ lần.
Hàm mất mát (Loss) — một con số duy nhất đo lường sai số dự đoán — sẽ giảm đều đặn khi mô hình học được các mẫu thống kê của ngôn ngữ con người.
Sinh văn bản và mô hình cơ sở
Sau khi được huấn luyện xong (pre-training), mạng sẽ sinh văn bản theo cơ chế tự hồi quy (autoregressive): đưa một chuỗi token -> nhận được phân phối xác suất trên tất cả 100K token tiếp theo có thể -> chọn mẫu một token -> nối vào -> lặp lại.
Quá trình này mang tính ngẫu nhiên (stochastic) — cùng một câu lệnh sẽ tạo ra các kết quả khác nhau mỗi lần vì chúng ta đang tung một đồng xu có trọng số. Các token có xác suất cao hơn có khả năng được chọn lớn hơn nhưng không được đảm bảo.
Temperature (nhiệt độ) kiểm soát độ ngẫu nhiên này. Nhiệt độ thấp (0.1) -> mô hình luôn chọn token hàng đầu. Nhiệt độ cao (2.0) -> hỗn loạn đồng đều. Mức 0.7–1.0 là điểm ngọt ngào để tạo ra văn bản mạch lạc nhưng sáng tạo.
Sau giai đoạn pre-training, bạn có một mô hình cơ sở (base model) — một công cụ tự động hoàn thành văn bản tinh vi. Nó chưa phải là một trợ lý. Nó không trả lời câu hỏi. Nó chỉ tiếp nối chuỗi token dựa trên những gì nó đã thấy trên internet.
Nếu bạn đưa nó một câu từ Wikipedia, nó sẽ hoàn thành câu đó từ trí nhớ. Nếu hỏi "2+2 bằng bao nhiêu?", nó có thể trả lời bằng một trang sách giáo khoa toán học, một đáp án của bài kiểm tra, hoặc đi lan man — bất cứ điều gì phổ biến nhất trong dữ liệu huấn luyện của nó.
Từ mô hình cơ sở đến trợ lý ảo
Kiến thức của mô hình cơ sở nằm trong 405 tỷ tham số của nó — một dạng nén dữ liệu internet có mất mát, giống như một tệp zip xấp xỉ thay vì lưu trữ thông tin hoàn hảo.
Mô hình cơ sở là một trình giả lập token. Để biến nó thành một trợ lý hữu ích, chúng ta cần post-training — một giai đoạn rẻ hơn nhiều nhưng quan trọng không kém. Đây là nơi mô hình học cách đối thoại.
Những người gán nhãn con người tạo ra một tập dữ liệu các cuộc đối thoại lý tưởng, tuân theo các hướng dẫn chi tiết: hãy hữu ích, hãy trung thực, hãy vô hại. Mô hình sau đó được huấn luyện trên các cuộc đối thoại này — không phải từ đầu, mà bằng cách tiếp tục điều chỉnh các trọng số pre-trained trên dữ liệu mới này.
Các tập dữ liệu SFT hiện đại (như UltraChat) có hàng triệu cuộc đối thoại — chủ yếu là tổng hợp (do LLM tạo ra), với sự xem xét của con người. Mô hình học bằng cách bắt chước: nó nhập vai của trợ lý lý tưởng được phản ánh trong dữ liệu.
Sau đó, RLHF (Học tăng cường từ phản hồi con người) tinh chỉnh hành vi của trợ lý thêm một bước nữa:
Những người đánh giá con người xếp hạng nhiều phản hồi của mô hình. Một mô hình phần thưởng học cách dự đoán sở thích của con người. Mô hình ngôn ngữ sau đó được huấn luyện thông qua học tăng cường để tạo ra các phản hồi mà mô hình phần thưởng đánh giá cao.
RAG: Mở rộng kiến thức và giảm ảo giác
Hiểu lý do LLM hành xử theo cách chúng đòi hỏi phải suy nghĩ về tâm lý học của chúng — các thuộc tính nổi lên khi được huấn luyện để bắt chước văn bản con người theo thống kê.
LLM có điểm cắt kiến thức và một cửa ngữ cảnh (context window) hữu hạn. RAG (Retrieval-Augmented Generation) giải quyết vấn đề này bằng cách nhúng tài liệu của bạn vào một kho vector, truy xuất các đoạn có liên quan về mặt ngữ nghĩa nhất tại thời điểm truy vấn, và tiêm chúng vào ngữ cảnh — chuyển dịch phân phối dự đoán của mô hình hướng tới các sự kiện có cơ sở, cập nhật thay vì dựa vào dữ liệu huấn luyện đã ghi nhớ.
Mỗi tài liệu được chuyển đổi thành một vector dày đặc (~1.536 số) bởi một mô hình nhúng. Các văn bản tương tự về mặt ngữ nghĩa sẽ nằm gần nhau trong không gian đa chiều này — không cần khớp từ khóa.
Câu hỏi của người dùng cũng được nhúng theo cách tương tự. Độ tương đồng cosine tìm thấy các vector tài liệu gần nhất — các đoạn liên quan nhất về mặt ngữ nghĩa với truy vấn — thường là 2-5 đoạn hàng đầu.
Các đoạn được truy xuất sẽ được thêm vào trước câu lệnh (prompt) trước khi LLM nhìn thấy câu hỏi. Mô hình sẽ sinh ra từ các sự kiện đã được tiêm thay vì dựa vào dữ liệu huấn luyện đã ghi nhớ — giúp giảm đáng kể việc ảo giác trên các nhiệm vụ đòi hỏi nhiều kiến thức.
Đó là hành trình hoàn chỉnh từ việc thu thập dữ liệu web thô đến ChatGPT mà bạn tương tác — trải qua hai giai đoạn chính, nhiều tháng tính toán và hàng tỷ tham số. Bài học quan trọng nhất: mọi từ được tạo ra đều là một mẫu xác suất — một lần tung đồng xu có trọng số, ở quy mô 100K cách, hàng tỷ lần.



