Mỗi lần bạn hỏi ChatGPT hay Claude một câu, mô hình không "nghĩ" ra cả đoạn trả lời cùng lúc. Nó chọn từng token một, từ trái sang phải, dựa trên phân phối xác suất có điều kiện. Câu hỏi then chốt là: chọn token tiếp theo bằng cách nào? Hai trường phái chính là beam search (tìm kiếm chùm tia) và sampling (lấy mẫu ngẫu nhiên), mỗi cách cho ra kết quả rất khác nhau.

Beam search: chọn con đường xác suất cao nhất

Hãy hình dung bạn đứng ở ngã ba và phải chọn đường đi ngắn nhất. Greedy search chọn bước tốt nhất tại mỗi ngã rẽ, nhưng có thể bỏ lỡ con đường tổng thể tối ưu hơn. Beam search khắc phục điều này bằng cách giữ song song k con đường (gọi là beam width). Ở mỗi bước, thuật toán mở rộng tất cả k ứng viên, tính xác suất tích lũy, rồi chỉ giữ lại k chuỗi có xác suất cao nhất. Kết quả cuối cùng là chuỗi token có tổng log-probability lớn nhất trong số các ứng viên.

Ưu điểm lớn nhất của beam search là tính nhất quán: cùng một đầu vào luôn cho cùng đầu ra (deterministic). Điều này rất hữu ích cho dịch máy hay tóm tắt văn bản, nơi bạn cần kết quả chính xác và ngữ pháp hoàn hảo. Tuy nhiên, nhược điểm nghiêm trọng là hiện tượng "neural text degeneration", thuật ngữ do nhóm nghiên cứu tại Đại học Washington đặt ra năm 2019: văn bản sinh ra có xu hướng lặp lại, nhàm chán, thiếu sự đa dạng mà con người thường thể hiện khi viết.

Sampling: thêm yếu tố ngẫu nhiên có kiểm soát

Thay vì luôn chọn token có xác suất cao nhất, sampling lấy ngẫu nhiên theo phân phối xác suất. Token có xác suất 30% sẽ được chọn khoảng 30% số lần, token 5% được chọn 5% số lần. Kết quả là văn bản đa dạng, sáng tạo hơn, nhưng đôi khi cũng vô nghĩa nếu không được kiểm soát. Ba kỹ thuật chính giúp kiểm soát sự ngẫu nhiên này gồm: điều chỉnh temperature, top-k sampling và nucleus sampling (top-p).

Temperature: núm điều chỉnh "sáng tạo"

Temperature là hệ số dùng để chia logits, tức các giá trị thô trước khi qua softmax. Khi temperature = 1.0, phân phối giữ nguyên. Giảm xuống 0.2 khiến phân phối "nhọn" hơn, token xác suất cao chiếm gần như toàn bộ, kết quả gần giống greedy search. Tăng lên 1.5 hoặc 2.0 thì phân phối "phẳng" ra, các token xác suất thấp có cơ hội được chọn nhiều hơn, văn bản trở nên bất ngờ và đôi khi phi logic. Dễ hình dung hơn, temperature thấp giống như một người viết hợp đồng pháp lý thật chặt chẽ, còn temperature cao giống như nghệ sĩ đang động não ý tưởng lúc 2 giờ sáng.

Top-k: giới hạn lựa chọn cứng

Top-k sampling đơn giản là chỉ cho phép lấy mẫu từ k token có xác suất cao nhất, loại bỏ hoàn toàn phần đuôi dài của phân phối. Ví dụ, với k = 50, mô hình chỉ xét 50 token hợp lý nhất rồi chọn ngẫu nhiên trong nhóm này. Vấn đề là con số k cố định: có lúc chỉ cần 3 token là đủ (sau từ "Hà" thì gần như chắc chắn là "Nội"), có lúc cần 500 token mới bao phủ đủ các khả năng hợp lý.

Top-p (nucleus sampling): giới hạn linh hoạt theo xác suất tích lũy

Nucleus sampling, do Holtzman và cộng sự đề xuất năm 2019, giải quyết nhược điểm của top-k bằng cách chọn nhóm token nhỏ nhất sao cho tổng xác suất vượt ngưỡng p (thường từ 0.9 đến 0.95). Nếu phân phối tập trung cao, nucleus có thể chỉ gồm 5 token. Nếu phân phối phẳng, nucleus có thể gồm hàng trăm token. Tính linh hoạt này khiến top-p trở thành lựa chọn mặc định trong hầu hết các ứng dụng AI sinh văn bản hiện đại, từ chatbot đến công cụ viết sáng tạo.

Repetition penalty: chống lặp

Một kỹ thuật bổ sung quan trọng là repetition penalty (hệ số phạt lặp). Cơ chế này giảm xác suất của các token đã xuất hiện trong chuỗi sinh ra, ngăn mô hình rơi vào vòng lặp kiểu "tôi nghĩ rằng tôi nghĩ rằng tôi nghĩ". Hệ số phạt thường từ 1.0 (không phạt) đến 1.5, và đặc biệt hữu ích khi kết hợp với sampling ở temperature cao.

Khi nào dùng cái nào?

Trong thực tế, beam search phù hợp với các tác vụ đòi hỏi độ chính xác cao như dịch thuật, tóm tắt hoặc trả lời câu hỏi theo dạng trích xuất. Sampling, khi kết hợp top-p và temperature, phù hợp với đối thoại, viết sáng tạo, động não ý tưởng và các tình huống cần sự tự nhiên, đa dạng. dạng. Hầu hết mô hình ngôn ngữ lớn hiện nay dùng sampling trong các ứng dụng hội thoại, thường kết hợp thêm top-p, temperature và các cơ chế chống lặp để cân bằng giữa độ mạch lạc và tính đa dạng. hiện nay, bao gồm GPT, Claude, và Gemini, mặc định sử dụng top-p sampling thay vì beam search, bởi chatbot cần nghe "giống người" hơn là "giống máy tính".

Nghiên cứu mới từ MIT về công cụ EnergAIzer cũng cho thấy một xu hướng song hành: khi hiểu rõ cách thức hoạt động bên trong của mô hình AI, chúng ta có thể tối ưu không chỉ chất lượng đầu ra mà cả mức tiêu thụ năng lượng, một vấn đề ngày càng cấp bách khi trung tâm dữ liệu dự kiến tiêu thụ tới 12% tổng điện năng Mỹ vào năm 2028.