AI Engineering · Chip Huyen · Chương 2AI Engineering · Chip Huyen · Chương 2AI Engineering · Chip Huyen · Chapter 2
Chương 2 · Hiểu về mô hình nền tảngChương 2 · Bên trong cái máy trả lờiChapter 2 · Understanding Foundation Models

Bốn quyết định làm nên một mô hình nền tảngCái máy trả lời được làm ra thế nàoFour decisions that shape a foundation model

Huyen mở chương bằng một câu rất thực tế: bạn không cần biết cách huấn luyện một mô hình để dùng nó, nhưng một hiểu biết tổng quát sẽ giúp bạn quyết định dùng mô hình nào và thích ứng nó ra sao. Bà cũng nói thẳng rằng chương này sẽ không dạy bạn xây một đối thủ của ChatGPT — thay vào đó, nó chỉ tập trung vào những quyết định thiết kế có hậu quả rõ rệt lên ứng dụng phía sau.1

Bạn không cần biết cách làm ra chiếc xe thì mới lái được xe. Nhưng nếu biết xe chạy bằng xăng hay điện, bánh to hay bánh nhỏ, bạn sẽ chọn đúng xe cho con đường của mình. Chương này mở nắp ca-pô của cái máy trả lời, chỉ vừa đủ để bạn biết nó làm được gì và hay hỏng ở đâu. Nhớ nhé: không cần biết chế tạo, chỉ cần biết nhìn.

Huyen opens the chapter with a practical note: you don't need to know how to develop a model in order to use one, but a high-level understanding helps you decide which model to use and how to adapt it. She is equally blunt that the chapter will not teach you to build a competitor to ChatGPT — it focuses instead on the design decisions with consequential impact on downstream applications.1

∴
Luận đề của chương Điều quan trọng nhất The chapter's thesis

Dù việc huấn luyện ngày càng kém minh bạch, Huyen viết rằng khác biệt giữa các mô hình nền tảng nhìn chung vẫn truy ngược được về ba nhóm quyết định — dữ liệu huấn luyện, kiến trúc và quy mô, và cách chúng được hậu huấn luyện để hợp với sở thích con người. Bà thêm vào đó một yếu tố thứ tư thường bị bỏ quên: lấy mẫu — cách mô hình chọn đầu ra — thứ giải thích phần lớn những hành vi khó hiểu của AI, kể cả ảo giác và sự bất nhất.1

Một mô hình khác mô hình khác ở ba chỗ: nó đã đọc những gì, nó được xây to hay nhỏ, và nó được dạy lễ phép thế nào. Còn một chỗ thứ tư ít ai để ý: lúc trả lời, nó bốc thăm chữ tiếp theo chứ không chọn cứng. Nhớ nhé: chính chỗ bốc thăm ấy làm máy khi thì thông minh, khi thì bịa.

Even as training becomes less transparent, Huyen writes that differences between foundation models can generally be traced back to three sets of decisions — training data, model architecture and size, and how they are post-trained to align with human preferences. To these she adds a fourth, frequently overlooked factor: sampling — how a model picks its output — which explains many baffling AI behaviours, including hallucinations and inconsistency.1

Phần 01Part 01

Dữ liệu huấn luyệnMáy đã đọc những gìTraining data

Huyen mở đầu bằng một mệnh đề gọn: một mô hình AI chỉ giỏi bằng đúng dữ liệu mà nó được huấn luyện. Nếu không có tiếng Việt trong dữ liệu, mô hình sẽ không dịch được sang tiếng Việt. Nhưng thu thập đủ dữ liệu cho một mô hình lớn thì khó và đắt, nên các nhà phát triển thường phải dùng cái sẵn có thay vì cái họ cần.1

Máy học giống hệt một đứa trẻ chỉ được đọc đúng những cuốn sách trong nhà. Nếu trong nhà không có sách tiếng Việt, nó sẽ không biết tiếng Việt. Mà mua sách thì đắt, nên người ta thường nhặt tạm sách ngoài đường về cho nó đọc. Nhớ nhé: máy không thông minh hơn tủ sách của nó.

Huyen starts with a compact premise: an AI model is only as good as the data it was trained on. If there is no Vietnamese in the training data, the model cannot translate into Vietnamese. But collecting enough data for a large model is hard and expensive, so developers often rely on what is available rather than what they need.1

Cách làm “dùng cái ta có, không phải cái ta muốn” sinh ra những mô hình giỏi đúng các tác vụ có mặt trong dữ liệu — không nhất thiết là tác vụ bạn quan tâm.

Máy giỏi đúng những việc nó đã thấy nhiều. Việc bạn cần, nếu nó chưa thấy bao giờ, nó sẽ làm dở.

The “use what we have, not what we want” approach produces models that do well on the tasks present in the training data — not necessarily the tasks you care about.

Điều đáng chú ý là Huyen không kết luận “càng nhiều dữ liệu càng tốt”. Bà dẫn Gunasekar và cộng sự (2023): chỉ với 7 tỉ token dữ liệu lập trình chất lượng cao, nhóm này huấn luyện được một mô hình 1,3 tỉ tham số vượt nhiều mô hình lớn hơn trên vài benchmark lập trình quan trọng.12 Chất lượng, không chỉ khối lượng, là biến số.

Common CrawlKho web thô, mỗi tháng thu khoảng 2–3 tỉ trang trong 2022–2023The raw web crawl — roughly 2–3 billion pages a month through 2022–2023
C4Tập con “đã làm sạch” của Common Crawl do Google công bốGoogle's “cleaned” subset of Common Crawl
Low-resourceNgôn ngữ có quá ít dữ liệu để mô hình học tử tếA language with too little data for a model to learn well
Domain-specificMô hình huấn luyện riêng cho một lĩnh vực hẹpA model trained specifically for one narrow field
  1. 01
    COMMON CRAWL

    Common Crawl — kho dữ liệu ai cũng dùng vì nó có sẵnCommon Crawl — đống sách nhặt ngoài đườngCommon Crawl — the corpus everyone uses because it is there

    Một nguồn dữ liệu phổ biến là Common Crawl, do một tổ chức phi lợi nhuận thu thập web định kỳ; trong 2022 và 2023 tổ chức này thu khoảng 2–3 tỉ trang web mỗi tháng.1 Huyen không giấu chất lượng của nó: bà liệt kê thẳng những gì có trong đó — tin giật gân, tin sai lệch, tuyên truyền, thuyết âm mưu, phân biệt chủng tộc. Vậy mà, chỉ vì nó sẵn có, các biến thể của Common Crawl có mặt trong hầu hết những mô hình nền tảng chịu công bố nguồn dữ liệu, kể cả GPT-3 của OpenAI và Gemini của Google.1

    Tưởng tượng một thư viện gom tất cả giấy tờ nhặt được trên internet: có sách hay, mà cũng đầy tờ rơi bịa chuyện. Người ta vẫn đem cho máy đọc, chỉ vì nó miễn phí và có sẵn. Nhớ nhé: cái gì miễn phí thì thường phải tự lọc lấy.

    A common source is Common Crawl, gathered periodically by a nonprofit; in 2022 and 2023 it crawled roughly 2–3 billion web pages a month.1 Huyen does not soften its quality: she lists what is in there — clickbait, misinformation, propaganda, conspiracy theories, racism. Yet, simply because it is available, variations of Common Crawl appear in most foundation models that disclose their sources, including OpenAI's GPT-3 and Google's Gemini.1

    Bạn gặp nó ở đâuWhere you meet it

    Mỗi lần mô hình trả lời bạn một điều sai một cách rất tự tin về một chủ đề ngách, hãy nhớ rằng phần lớn “kiến thức” của nó đến từ một bản chụp internet chưa được ai biên tập.

    Khi máy nói sai mà nghe rất chắc chắn, đó là vì nó học từ một đống giấy chưa ai kiểm tra.

    Every time a model answers a niche question wrongly but confidently, remember that most of its “knowledge” comes from an unedited snapshot of the internet.

    Lọc bằng kinh nghiệmHeuristic filtering

    Một số nhóm lọc bằng luật đơn giản. Huyen dẫn ví dụ OpenAI chỉ dùng các liên kết Reddit có ít nhất ba lượt upvote để huấn luyện GPT-2 — điều này loại được những liên kết không ai quan tâm, nhưng như bà nhận xét khô khan, Reddit không hẳn là đỉnh cao của phép tắc và thị hiếu.1

    Cánh cửa đang khépThe closing door

    Longpre và cộng sự (2024) quan sát rằng chỉ trong khoảng 2023–2024, làn sóng hạn chế dữ liệu từ các nguồn web đã khiến hơn 28% những nguồn quan trọng nhất trong C4 bị cấm dùng hoàn toàn; tính cả thay đổi điều khoản và chặn thu thập, 45% C4 nay bị hạn chế.13

  2. 02
    LOW-RESOURCE LANGUAGES

    Thiên lệch ngôn ngữ — tiếng Anh chiếm gần một nửaMáy nói tiếng Anh giỏi hơn hẳnThe language skew — English is nearly half the web

    Phân tích Common Crawl của Lai và cộng sự (2023) cho thấy tiếng Anh chiếm gần một nửa dữ liệu — 45,88% — gấp tám lần ngôn ngữ đứng thứ hai là tiếng Nga (5,97%). Tiếng Việt đứng cuối nhóm “ít nhất 1%”, với 1,03%.21 Hệ quả đo được: trên MMLU — bộ 14.000 câu trắc nghiệm trải 57 môn — GPT-4 làm tốt ở tiếng Anh hơn hẳn các ngôn ngữ ít tài nguyên như tiếng Telugu.3

    Trong đống sách máy đọc, cứ hai quyển thì gần một quyển là tiếng Anh. Tiếng Việt chỉ được đúng một quyển trong một trăm. Thế nên máy trả lời tiếng Anh trôi chảy hơn tiếng Việt, và với những tiếng hiếm hơn nữa thì nó gần như chịu. Nhớ nhé: máy giỏi thứ tiếng mà nó được đọc nhiều nhất.

    An analysis of Common Crawl by Lai et al. (2023) shows English accounts for almost half the data — 45.88% — eight times more than the second-most common language, Russian (5.97%). Vietnamese sits at the bottom of the “at least 1%” group, at 1.03%.21 The measured consequence: on MMLU — 14,000 multiple-choice problems across 57 subjects — GPT-4 performs far better in English than in under-represented languages such as Telugu.3

    Bạn gặp nó ở đâuWhere you meet it

    Ứng dụng tiếng Việt của bạn vừa kém chính xác hơn, vừa chậm hơn, vừa đắt hơn bản tiếng Anh — và đó không phải lỗi prompt của bạn.

    App tiếng Việt vừa sai nhiều hơn, vừa tốn tiền hơn app tiếng Anh. Không phải lỗi của bạn.

    Your Vietnamese app will be less accurate, slower and more expensive than its English twin — and that is not a fault in your prompt.

    Thuế tokenThe token tax

    Huyen dẫn khảo sát của Yennie Jun trên tập MASSIVE (một triệu văn bản ngắn dịch qua 52 ngôn ngữ): để diễn đạt cùng một nội dung, độ dài token trung vị là 7 với tiếng Anh, 32 với tiếng Hindi và tới 72 với tiếng Miến — gấp mười lần tiếng Anh. Với API tính tiền theo token, tiếng Miến đắt gấp mười.1

    Dịch sang tiếng Anh rồi dịch ngược?Just translate to English?

    Huyen bác cách làm này. Thứ nhất, nó vẫn cần một mô hình đủ hiểu ngôn ngữ ít tài nguyên để dịch. Thứ hai, dịch làm mất thông tin — và bà lấy chính tiếng Việt làm ví dụ: hệ thống đại từ biểu thị quan hệ giữa hai người nói bị nén hết thành I và you, xóa sạch thông tin quan hệ.1

  3. 03
    DOMAIN-SPECIFIC MODELS

    Mô hình chuyên miền — khi internet không chứa dữ liệu bạn cầnCó những việc phải có thầy riêngDomain-specific models — when the internet has no such data

    Mô hình đa dụng trả lời tốt câu hỏi thường ngày ở nhiều lĩnh vực, nhưng Huyen cảnh báo chúng khó làm tốt các tác vụ chuyên miền mà chúng chưa từng gặp khi huấn luyện. Bà nêu hai ví dụ: phát hiện thuốc — liên quan dữ liệu protein, DNA, RNA với định dạng riêng và đắt đỏ — và tầm soát ung thư, vốn dùng ảnh X-quang và fMRI khó lấy vì quyền riêng tư. Những dữ liệu ấy gần như không có trên internet công khai.1

    Một người đọc nhiều báo có thể nói chuyện về đủ thứ, nhưng không mổ được cho bạn. Muốn mổ thì phải học riêng, bằng tài liệu riêng mà không ai đăng lên mạng. Nhớ nhé: việc càng hiếm, càng cần dữ liệu riêng.

    General-purpose models answer everyday questions across many fields, but Huyen warns they are unlikely to do well on domain-specific tasks they never saw in training. She gives two examples: drug discovery — protein, DNA and RNA data in specific formats, expensive to acquire — and cancer screening, which relies on X-ray and fMRI scans that are hard to obtain for privacy reasons. Such data is essentially absent from public internet data.1

    Bạn gặp nó ở đâuWhere you meet it

    Trước khi kết luận “mô hình này kém”, hãy hỏi: dữ liệu của lĩnh vực này có bao giờ xuất hiện trên internet công khai không? Nếu không, vấn đề nằm ở dữ liệu chứ không ở mô hình.

    Máy làm dở việc của bạn? Hỏi trước xem việc đó có ai viết lên mạng bao giờ chưa.

    Before concluding “this model is weak”, ask whether your field's data ever appeared on the public internet. If it did not, the problem is the data, not the model.

    Ba ví dụ bà nêuThe three she names

    Huyen dẫn AlphaFold của DeepMind — huấn luyện trên trình tự và cấu trúc ba chiều của khoảng 100.000 protein đã biết — cùng BioNeMo của NVIDIA cho dữ liệu phân tử sinh học, và Med-PaLM 2 của Google kết hợp một LLM với dữ liệu y khoa.1

    Không chỉ y sinhNot only biomedicine

    Trong một khung Tip, bà gợi ý các lĩnh vực khác cũng có thể hưởng lợi: một mô hình huấn luyện trên bản vẽ kiến trúc có thể giúp kiến trúc sư hơn Stable Diffusion, một mô hình huấn luyện trên sơ đồ nhà máy có thể tối ưu quy trình sản xuất hơn một mô hình chung như ChatGPT.1

Phần 02Part 02

Kiến trúc & quy môBộ não xếp thế nào, to cỡ nàoArchitecture & scale

Huyen viết rằng trước khi huấn luyện, người phát triển phải quyết mô hình sẽ trông như thế nào — theo kiến trúc nào, bao nhiêu tham số — và những quyết định ấy ảnh hưởng không chỉ tới năng lực mà tới cả khả năng dùng được ở phía dưới: một mô hình 7 tỉ tham số dễ triển khai hơn hẳn một mô hình 175 tỉ.1

Trước khi dạy, phải quyết xem bộ não này xếp theo kiểu gì và to cỡ nào. Bộ não to thì thông minh hơn nhưng nặng, khó mang theo. Nhớ nhé: to hơn không phải lúc nào cũng dùng được hơn.

Huyen writes that before training, developers must decide what the model should look like — which architecture, how many parameters — and those choices affect not only capability but downstream usability: a 7B-parameter model is vastly easier to deploy than a 175B one.1

Quy mô của một mô hình được đọc qua ba con số: số tham số (sức chứa để học), số token đã huấn luyện (lượng đã học), và số FLOP (giá phải trả).

Muốn biết một mô hình “to” cỡ nào, nhìn ba con số: đầu nó chứa được bao nhiêu, nó đã đọc bao nhiêu, và học nó tốn bao nhiêu.

A model's scale is read through three numbers: parameter count (capacity to learn), training tokens (how much it learned), and FLOPs (what it cost).

Huyen cô đọng chính ba con số này trong một khung Tip cuối mục “Model Size”, và gọi chúng lần lượt là proxy cho sức học, cho lượng đã học và cho chi phí huấn luyện.1 Bà cũng cảnh báo số tham số có thể gây hiểu nhầm nếu mô hình thưa (sparse).

AttentionCơ chế cho phép mô hình cân trọng số từng token đầu vào khi sinh mỗi token đầu raThe mechanism that weighs each input token when generating each output token
LayerSố khối transformer xếp chồng trong mô hìnhThe number of stacked transformer blocks
FLOPsSố phép tính dấu phẩy động cần cho một tác vụ — khác với FLOP/s là tốc độ máyFloating point operations for a task — distinct from FLOP/s, a machine's speed
Sparse / MoEMô hình chỉ kích hoạt một phần tham số cho mỗi tokenA model that activates only part of its parameters per token
  1. 04
    ATTENTION MECHANISM

    Cơ chế chú ý — đọc lại bất kỳ trang nào của cuốn sáchMáy biết ngoái lại nhìnAttention — reading back to any page of the book

    Huyen giải thích transformer bằng cách kể vấn đề nó sinh ra để giải. Kiến trúc seq2seq trước đó sinh đầu ra chỉ từ trạng thái ẩn cuối cùng của đầu vào — bà ví như trả lời câu hỏi về một cuốn sách khi chỉ có bản tóm tắt. Cơ chế chú ý cho phép mô hình cân trọng số các token đầu vào khi sinh mỗi token đầu ra — như được phép giở lại bất kỳ trang nào.14

    Hãy tưởng tượng bạn phải kể lại một cuốn truyện. Cách cũ: chỉ được đọc bản tóm tắt bốn dòng rồi kể. Cách mới: được giữ nguyên cuốn truyện trong tay, muốn nhắc chi tiết nào thì giở đúng trang đó. Nhớ nhé: máy trả lời hay hơn vì nó được phép giở lại.

    Huyen explains the transformer by telling the story of the problem it solved. The earlier seq2seq architecture generated outputs from only the final hidden state of the input — like answering questions about a book from its summary. Attention lets the model weigh the importance of different input tokens when generating each output token — like being allowed to reference any page.14

    Bạn gặp nó ở đâuWhere you meet it

    Đây là lý do gốc khiến cửa sổ ngữ cảnh đắt: mỗi token trước đó đều cần một vector khóa và một vector giá trị được tính và lưu lại.

    Đưa cho máy càng nhiều chữ để đọc thì càng tốn — vì nó phải giữ lại mọi trang.

    This is the root reason context is expensive: every previous token needs a key and a value vector to be computed and stored.

    Khóa, giá trị, truy vấnKey, value, query

    Huyen giữ nguyên phép ví von cuốn sách: vector truy vấn (Q) là người đang tìm thông tin; mỗi vector khóa (K) là số trang; mỗi vector giá trị (V) là nội dung trang ấy. Điểm chú ý là tích vô hướng giữa Q và K — điểm cao nghĩa là mô hình dùng nhiều nội dung trang đó hơn.1

    Đa đầuMulti-headed

    Chú ý gần như luôn là đa đầu, cho phép mô hình chú ý tới nhiều nhóm token trước đó cùng lúc. Ví dụ bà đưa: Llama 2-7B có chiều ẩn 4.096 và 32 đầu chú ý, nên mỗi vector K, V, Q được tách thành 32 vector chiều 128 — vì 4096 chia 32 bằng 128.1

  2. 05
    PREFILL AND DECODE

    Nạp trước và giải mã — nút thắt còn lạiĐọc thì nhanh, viết thì chậmPrefill and decode — the bottleneck that remains

    Transformer bỏ hẳn RNN, nhờ đó token đầu vào được xử lý song song. Nhưng Huyen chỉ rõ: nút thắt tuần tự ở đầu ra vẫn còn. Suy luận vì thế gồm hai bước — nạp trước (xử lý song song toàn bộ đầu vào, tạo ra các vector khóa và giá trị) và giải mã (sinh từng token một). Chính sự lệch pha giữa hai bước này là động cơ cho phần lớn kỹ thuật tối ưu ở Chương 9.1

    Máy đọc đề bài rất nhanh vì đọc cả trang một lúc. Nhưng khi viết trả lời thì nó phải viết từng chữ, chữ này xong mới nghĩ ra chữ kia. Nhớ nhé: chờ lâu là vì phần viết, không phải phần đọc.

    The transformer dispenses with RNNs, so input tokens can be processed in parallel. But Huyen is explicit that the sequential output bottleneck remains. Inference therefore has two steps — prefill (all input tokens in parallel, producing the key and value vectors) and decode (one output token at a time). That asymmetry motivates most of the optimisation techniques in Chapter 9.1

    Bạn gặp nó ở đâuWhere you meet it

    Đó là lý do độ trễ tỉ lệ với số token sinh ra nhiều hơn là với số token bạn gửi vào — và là lý do một prompt dài nhưng câu trả lời ngắn vẫn nhanh.

    Trả lời dài thì lâu. Đề bài dài thì không lâu bằng.

    It is why latency tracks the number of tokens generated more than the number you send in — and why a long prompt with a short answer still feels fast.

    Trong một khối transformerInside a transformer block

    Mỗi khối gồm mô-đun chú ý (bốn ma trận trọng số: truy vấn, khóa, giá trị, phép chiếu đầu ra) và mô-đun MLP (các lớp tuyến tính xen kẽ hàm kích hoạt phi tuyến như ReLU hay GELU). Số khối trong mô hình chính là “số lớp” mà ta hay nghe.1

    Không chỉ có transformerNot only transformers

    Huyen điểm qua các kiến trúc thay thế đang lên. Mamba (Gu và Dao, 2023) mở rộng mô hình không gian trạng thái lên ba tỉ tham số; nhóm tác giả cho thấy Mamba-3B vượt các transformer cùng cỡ và ngang với transformer gấp đôi cỡ, với chi phí suy luận tăng tuyến tính theo độ dài chuỗi thay vì bậc hai.14

  3. 06
    CHINCHILLA SCALING LAW

    Luật tỉ lệ — hai mươi token cho mỗi tham sốĐầu to thì phải đọc nhiềuThe scaling law — twenty tokens per parameter

    Nếu ngân sách tính toán là hữu hạn, câu hỏi đúng không phải “mô hình to bao nhiêu” mà “với ngần này FLOP, cỡ mô hình và cỡ dữ liệu nào cho kết quả tốt nhất”. Luật Chinchilla trả lời điều đó. Nhóm DeepMind huấn luyện 400 mô hình ngôn ngữ từ 70 triệu tới hơn 16 tỉ tham số trên 5 đến 500 tỉ token, và thấy rằng để huấn luyện tối ưu theo tính toán, số token huấn luyện cần xấp xỉ 20 lần cỡ mô hình: cứ nhân đôi số tham số thì phải nhân đôi số token.5

    Một cái đầu to mà chỉ được đọc đúng một câu thì vẫn dốt hơn cái đầu nhỏ được đọc cả tủ sách. Người ta tìm ra một tỉ lệ vàng: cứ một chỗ nhớ thì cần khoảng hai mươi chữ để học. Nhớ nhé: đầu to phải đi kèm sách nhiều.

    If compute is finite, the right question is not “how big” but “given this many FLOPs, what model size and dataset size perform best”. The Chinchilla law answers it. DeepMind trained 400 language models from 70 million to over 16 billion parameters on 5 to 500 billion tokens, and found that for compute-optimal training the number of training tokens should be roughly 20 times the model size: every doubling of parameters calls for a doubling of tokens.5

    Bạn gặp nó ở đâuWhere you meet it

    Đây là lý do một mô hình thế hệ mới, cùng cỡ, lại mạnh hơn thế hệ cũ — Huyen dẫn ví dụ Llama 3-8B (2024) vượt cả Llama 2-70B (2023) trên MMLU.

    Mô hình mới nhỏ hơn mà giỏi hơn mô hình cũ to hơn — vì nó được đọc nhiều hơn.

    It is why a newer model of the same size beats an older one — Huyen notes Llama 3-8B (2024) outperforming even Llama 2-70B (2023) on MMLU.

    Chất lượng không phải tất cảQuality is not everything

    Huyen nhắc rằng luật tỉ lệ tối ưu chất lượng theo ngân sách, còn sản xuất cần nhiều hơn thế. Llama, theo bà, có hiệu năng dưới mức tối ưu nhưng dễ dùng hơn: nhóm tác giả có thể chọn mô hình lớn hơn nhưng đã chọn nhỏ hơn, để dễ làm việc và rẻ hơn khi suy luận — điều giúp mô hình được dùng rộng rãi.1 Sardana và cộng sự (2023) đã sửa luật Chinchilla để tính cả nhu cầu suy luận.15

    Cái giá của dặm cuốiThe cost of the last mile

    Chi phí đạt một mức hiệu năng đang giảm, nhưng chi phí cải thiện hiệu năng vẫn cao. Huyen dẫn bài của Meta về việc vượt luật lũy thừa: một mô hình có tỉ lệ lỗi 2% có thể cần nhiều hơn một bậc độ lớn dữ liệu, tính toán hoặc năng lượng so với mô hình lỗi 3%.1

  4. 07
    MIXTURE-OF-EXPERTS

    Mô hình thưa — số tham số có thể đánh lừa bạnĐông người nhưng chỉ vài người làmSparse models — the parameter count can mislead you

    Huyen cảnh báo số tham số sẽ gây hiểu nhầm nếu mô hình thưa: một mô hình 7 tỉ tham số thưa 90% chỉ có 700 triệu tham số khác không. Dạng thưa đang phổ biến là mixture-of-experts: tham số chia thành các nhóm “chuyên gia”, mỗi token chỉ kích hoạt một phần. Ví dụ bà đưa là Mixtral 8x7B — tưởng là 8 × 7 = 56 tỉ tham số, nhưng do chia sẻ tham số nên chỉ có 46,7 tỉ; và vì mỗi token chỉ kích hoạt hai chuyên gia, chỉ 12,9 tỉ tham số hoạt động. Chi phí và tốc độ của nó ngang một mô hình 12,9 tỉ.61

    Một công ty có tám phòng ban, nhưng mỗi việc chỉ gọi hai phòng vào làm. Nhìn bảng lương thì công ty rất đông; nhìn vào một việc cụ thể thì chỉ vài người bận. Nhớ nhé: con số to chưa chắc là con số đang chạy.

    Huyen warns that the parameter count misleads when a model is sparse: a 7B-parameter model that is 90% sparse has only 700 million non-zero parameters. The popular sparse form is mixture-of-experts: parameters are split into expert groups and only a subset activates per token. Her example is Mixtral 8x7B — nominally 8 × 7 = 56 billion parameters, but parameter sharing brings it to 46.7 billion; and since only two experts activate per token, just 12.9 billion parameters are active. Its cost and speed match a 12.9-billion-parameter model.61

    Bạn gặp nó ở đâuWhere you meet it

    Khi so sánh hai mô hình trên bảng xếp hạng, hỏi thêm: con số ấy là tham số tổng hay tham số hoạt động? Hai cột đó kể hai câu chuyện khác nhau về giá.

    So hai mô hình, nhớ hỏi: con số kia là tổng số hay số đang làm việc?

    When comparing two models on a leaderboard, ask which number you are reading: total or active parameters. They tell different stories about cost.

    Đổi FLOP ra tiềnFLOPs into money

    Huyen làm phép tính đầy đủ: GPT-3-175B được huấn luyện bằng 3,14 × 10²³ FLOP; với 256 chiếc H100 ở mức tận dụng 70% và giá 2 đô-la mỗi giờ mỗi chiếc, huấn luyện lại nó sẽ tốn hơn bốn triệu đô-la. Bà cũng nhắc mức tận dụng 50% là “tạm ổn”, trên 70% là tốt.1

    Hai nút thắt của việc phóng toTwo scaling bottlenecks

    Bà nêu hai giới hạn đã thấy rõ: dữ liệu và điện. Tốc độ tăng của kích thước tập huấn luyện nhanh hơn tốc độ dữ liệu mới được sinh ra;8 còn trung tâm dữ liệu hiện tiêu thụ ước chừng 1–2% điện năng toàn cầu, con số được dự báo đạt 4–20% vào năm 2030 — nghĩa là chúng chỉ còn chỗ để lớn thêm khoảng 50 lần.1

Phần 03Part 03

Hậu huấn luyệnDạy máy nói chuyện tử tếPost-training

Một mô hình vừa tiền huấn luyện xong thường có hai vấn đề, theo Huyen: nó được tối ưu để viết tiếp chứ không phải để trò chuyện; và nếu học từ internet một cách bừa bãi, đầu ra của nó có thể phân biệt chủng tộc, phân biệt giới, thô lỗ, hoặc đơn giản là sai. Hậu huấn luyện sinh ra để xử lý cả hai.1

Một đứa trẻ đọc hết cả internet sẽ biết rất nhiều, nhưng chưa chắc biết trả lời khi được hỏi, và có thể nhại lại những lời rất xấu nó đọc được. Phải dạy lại. Nhớ nhé: biết nhiều và nói tử tế là hai việc khác nhau.

A freshly pre-trained model has two problems, Huyen writes: it is optimised for completion, not conversation; and if it learned from indiscriminately scraped internet data, its outputs can be racist, sexist, rude, or simply wrong. Post-training exists to address both.1

Nếu tiền huấn luyện tối ưu chất lượng ở mức token, thì hậu huấn luyện tối ưu chất lượng của cả câu trả lời — thứ mà người dùng thật sự quan tâm.

Học thuộc từng chữ là một chuyện. Trả lời cho ra một câu tử tế lại là chuyện khác.

Pre-training optimises token-level quality; post-training optimises the quality of the whole response — which is what users actually care about.

Huyen mượn một phép so sánh đang lưu hành: tiền huấn luyện giống như đọc để thu nạp kiến thức, còn hậu huấn luyện là học cách dùng kiến thức ấy. Và vì hậu huấn luyện tiêu tốn rất ít tài nguyên so với tiền huấn luyện — InstructGPT chỉ dùng 2% tính toán cho hậu huấn luyện và 98% cho tiền huấn luyện — bà đề nghị nghĩ về nó như việc mở khóa những năng lực mô hình đã có sẵn nhưng người dùng khó với tới bằng prompt.17

SFTTinh chỉnh có giám sát trên dữ liệu minh họa dạng (prompt, câu trả lời)Supervised finetuning on demonstration data — (prompt, response) pairs
Comparison dataDữ liệu so sánh dạng (prompt, câu thắng, câu thua)Data of the form (prompt, winning response, losing response)
Reward modelMô hình chấm điểm câu trả lời của mô hình nền tảngA model that scores the foundation model's outputs
RLHF / DPOHai cách tinh chỉnh theo sở thích con người — Llama 2 dùng RLHF, Llama 3 chuyển sang DPOTwo routes to preference finetuning — Llama 2 used RLHF, Llama 3 moved to DPO
  1. 08
    SUPERVISED FINETUNING

    SFT — dạy bằng cách làm mẫuDạy bằng cách làm mẫuSFT — teaching by demonstration

    Huyen lấy một ví dụ rất gọn: đưa vào “How to make pizza”, một mô hình chưa hậu huấn luyện sẽ viết tiếp câu ấy — có thể thêm ngữ cảnh (“cho gia đình sáu người?”), có thể thêm câu hỏi nối, hoặc mới có thể là hướng dẫn làm pizza. Chỉ lựa chọn thứ ba là câu trả lời đúng. Để khuyến khích điều đó, ta cho mô hình xem các cặp (prompt, câu trả lời) gọi là dữ liệu minh họa — một quá trình đôi khi được gọi là behavior cloning.1

    Nếu bạn nói “Cách làm bánh pizza” với một cái máy chưa được dạy, nó sẽ nói tiếp thành một câu dài hơn chứ không chỉ cho bạn cách làm. Muốn nó trả lời, phải cho nó xem hàng nghìn ví dụ: hỏi thế này thì đáp thế kia. Nhớ nhé: máy bắt chước cái nó được cho xem.

    Huyen's example is compact: given “How to make pizza”, a model that has not been post-trained will continue the sentence — adding context (“for a family of six?”), adding follow-up questions, or giving instructions. Only the third is the right answer. To encourage it, you show the model (prompt, response) pairs called demonstration data — a process sometimes called behavior cloning.1

    Bạn gặp nó ở đâuWhere you meet it

    Khác biệt giữa một mô hình “base” và một mô hình “instruct” cùng tên trên Hugging Face chính là bước này. Gọi nhầm bản base qua API và bạn sẽ nhận về những đoạn viết tiếp kỳ lạ.

    Trên các kho mô hình, bản “base” là bản chưa được dạy trả lời. Bản “instruct” mới là bản biết nói chuyện.

    The difference between a “base” and an “instruct” model of the same name on Hugging Face is exactly this step. Call the base one by mistake and you get odd continuations back.

    Giá của một cặp dữ liệuThe price of one pair

    Sinh một cặp (prompt, câu trả lời) có thể mất tới 30 phút, nhất là với tác vụ ngữ cảnh dài như tóm tắt. Huyen tính: nếu mỗi cặp tốn 10 đô-la, thì 13.000 cặp mà OpenAI dùng cho InstructGPT tốn 130.000 đô-la — chưa kể chi phí thiết kế dữ liệu, tuyển người gán nhãn và kiểm soát chất lượng. Trong số người gán nhãn cho InstructGPT, khoảng 90% có ít nhất bằng đại học và hơn một phần ba có bằng thạc sĩ.17

    Khi không đủ tiềnWhen you cannot afford it

    Không phải ai cũng theo nổi lối gán nhãn chất lượng cao. LAION huy động 13.500 tình nguyện viên khắp thế giới để tạo 10.000 cuộc hội thoại gồm 161.443 tin nhắn bằng 35 ngôn ngữ, kèm 461.292 đánh giá chất lượng. Vì là tình nguyện, thiên lệch khó kiểm soát: theo khảo sát tự khai, 90% người gán nhãn tự nhận là nam.1

  2. 09
    REWARD MODEL

    Mô hình thưởng — so sánh dễ hơn chấm điểmChọn cái nào hay hơn, đừng cho điểmThe reward model — comparing beats scoring

    Huyen chỉ ra một khó khăn rất người: nếu yêu cầu người gán nhãn chấm điểm trực tiếp từng câu trả lời, điểm sẽ lệch nhau — cùng một mẫu, trên thang mười, người này cho 5, người kia cho 7; thậm chí cùng một người, hỏi hai lần, cũng có thể cho hai điểm khác nhau. Việc dễ hơn là so sánh hai câu trả lời và chọn câu tốt hơn. Kết quả là dữ liệu so sánh dạng (prompt, câu thắng, câu thua), và mô hình thưởng được huấn luyện để cực đại hóa chênh lệch điểm giữa hai câu.1

    Hỏi “bài này mấy điểm” thì mười người cho mười đáp án khác nhau. Nhưng hỏi “hai bài này bài nào hay hơn” thì ai cũng trả lời được, và trả lời giống nhau hơn. Người ta dạy máy chấm điểm bằng đúng mẹo đó. Nhớ nhé: so sánh dễ hơn chấm điểm.

    Huyen points to a very human difficulty: ask labelers to score each response directly and the scores diverge — for the same sample on a 10-point scale one gives 5 and another 7; even the same labeler, asked twice, may differ. The easier task is comparing two responses and picking the better one. The result is comparison data of the form (prompt, winning response, losing response), and the reward model is trained to maximise the score gap between them.1

    Bạn gặp nó ở đâuWhere you meet it

    Nút “câu trả lời nào tốt hơn?” trong mọi giao diện chatbot là một cỗ máy thu dữ liệu so sánh — và cũng là mẫu thiết kế bạn nên sao chép khi muốn thu phản hồi cho hệ thống của mình.

    Nút “bạn thích câu nào hơn” trong app chat chính là cách người ta thu dữ liệu dạy máy.

    The “which response is better?” button in every chatbot interface is a comparison-data collector — and a design pattern worth copying when you want feedback on your own system.

    Chi phí và độ đồng thuậnCost and agreement

    LMSYS thấy rằng so sánh thủ công hai câu trả lời mất trung bình ba đến năm phút vì phải kiểm chứng từng câu. Trong một buổi trò chuyện với cộng đồng Discord của Huyen, Thomas Scialom — đồng tác giả Llama 2 — cho biết mỗi lần so sánh tốn họ 3,5 đô-la, rẻ hơn nhiều so với 25 đô-la cho một câu trả lời viết mới. Với InstructGPT, độ đồng thuận giữa những người gán nhãn vào khoảng 73%.17

    Kẻ yếu chấm kẻ mạnhA weak judge for a strong model

    Một quan niệm phổ biến là mô hình thưởng phải mạnh ít nhất bằng mô hình nó chấm. Huyen phản bác trước, và hẹn Chương 3: một mô hình yếu vẫn có thể chấm một mô hình mạnh, vì đánh giá được cho là dễ hơn sinh ra.1

  3. 10
    PREFERENCE FINETUNING

    Tinh chỉnh theo sở thích — một mục tiêu có thể bất khảChiều lòng ai mới là đúng?Preference finetuning — a possibly impossible goal

    Huyen viết rất thẳng về giới hạn của bước này: mục tiêu khiến mô hình hành xử theo sở thích con người là một mục tiêu tham vọng, nếu không muốn nói là bất khả. Nó giả định rằng tồn tại một sở thích con người phổ quát, và rằng ta có thể nhúng nó vào một mô hình. Người ở các nền văn hóa, chính trị, tôn giáo khác nhau vốn bất đồng với nhau suốt. Nếu kiểm duyệt quá tay, mô hình thành nhạt nhẽo và mất người dùng; nếu buông, nó sẽ làm mếch lòng ai đó.1

    Dạy máy “làm hài lòng mọi người” là việc khó nhất, vì người lớn còn cãi nhau chuyện gì là đúng. Dạy chặt quá thì máy nói chuyện chán; dạy lỏng quá thì máy nói bậy. Nhớ nhé: không có một câu trả lời làm vừa lòng tất cả.

    Huyen is candid about the limits here: getting AI models to behave according to human preference is an ambitious, if not impossible, goal. It assumes a universal human preference exists and that it can be embedded into a model. People from different cultural, political and religious backgrounds disagree constantly. Censor too much and the model becomes boring, driving users away; censor too little and you will upset someone.1

    Bạn gặp nó ở đâuWhere you meet it

    Mỗi lần mô hình từ chối một yêu cầu hoàn toàn hợp lệ của bạn, đó là bước này đang hoạt động — và là lý do các nhà cung cấp khác nhau có “tính cách” khác nhau rõ rệt.

    Máy từ chối làm một việc rất bình thường? Đó là vì người ta đã dạy nó cẩn thận quá tay.

    Every time a model refuses a perfectly reasonable request, this step is at work — and it is why different providers have visibly different “personalities”.

    RLHF hay DPORLHF or DPO

    RLHF là thuật toán tinh chỉnh theo sở thích thành công sớm nhất và vẫn phổ biến: huấn luyện mô hình thưởng, rồi tối ưu mô hình nền tảng để cực đại điểm thưởng, thường bằng PPO. Nhưng Meta đã chuyển từ RLHF ở Llama 2 sang DPO ở Llama 3 để giảm độ phức tạp. Huyen chọn trình bày RLHF vì nó cho nhiều không gian tinh chỉnh hơn, dù phức tạp hơn DPO.1

    Có thể bỏ hẳn bước RLYou can skip the RL

    Một số công ty thấy chỉ cần mô hình thưởng là đủ. Huyen dẫn Stitch Fix và Grab: họ cho mô hình sinh nhiều đầu ra rồi chọn những cái được mô hình thưởng chấm cao — chiến lược thường gọi là best of N, vốn khai thác chính cách mô hình lấy mẫu.1

Phần 04Part 04

Lấy mẫuMáy bốc thăm chữ tiếp theoSampling

Đây là phần Huyen nói bà hào hứng viết nhất trong chương. Ảnh hưởng của huấn luyện thì ai cũng hiểu, nhưng ảnh hưởng của lấy mẫu thường bị bỏ qua — trong khi nó vừa giải thích nhiều hành vi khó hiểu của AI, vừa là chỗ có thể tăng đáng kể hiệu năng với công sức tương đối nhỏ.1

Đây là phần tác giả thích nhất. Nó kể chuyện máy chọn chữ tiếp theo như thế nào — và chính cái cách chọn ấy giải thích vì sao máy lúc thì hay, lúc thì bịa. Nhớ nhé: hiểu chỗ này là hiểu được nửa số chuyện lạ của AI.

This is the section Huyen says she was most excited to write. Everyone understands the impact of training; the impact of sampling is often overlooked — yet it explains many baffling AI behaviours and is where a modest effort can significantly boost performance.1

Với mỗi đầu vào, mô hình sinh một vector logit — mỗi logit ứng với một token trong từ vựng. Softmax biến chúng thành xác suất, rồi mô hình bốc token tiếp theo theo phân phối ấy.

Mỗi lần viết một chữ, máy tính ra xác suất cho tất cả chữ có thể, rồi bốc thăm theo xác suất đó — chứ không phải luôn chọn chữ nhiều điểm nhất.

For each input the model produces a logit vector — one logit per token in the vocabulary. Softmax turns these into probabilities, and the model then samples the next token from that distribution.

Luôn chọn token có xác suất cao nhất gọi là greedy sampling. Huyen giải thích vì sao cách ấy hỏng với mô hình ngôn ngữ: nó tạo ra những câu trả lời nhạt, kiểu một mô hình luôn đáp bằng những từ thông dụng nhất. Với bài toán phân loại thì greedy lại hợp lý.1

TemperatureHằng số chia logit trước softmax; cao thì sáng tạo hơn, thấp thì nhất quán hơnA constant dividing the logits before softmax — higher is more creative, lower more consistent
Top-kChỉ softmax trên k logit lớn nhất; k thường từ 50 đến 500Softmax over only the k largest logits — k typically 50 to 500
Top-pLấy tập token nhỏ nhất có tổng xác suất vượt p; thường 0,9–0,95The smallest set of tokens whose cumulative probability exceeds p — usually 0.9–0.95
LogprobXác suất ở thang log, dùng để tránh tràn dưới khi từ vựng rất lớnProbability on a log scale, used to avoid underflow with a huge vocabulary
  1. 11
    TEMPERATURE

    Nhiệt độ — núm xoay giữa nhạt và hỗnNúm xoay giữa chán và lạTemperature — the dial between bland and chaotic

    Huyen minh họa bằng một mô hình đồ chơi chỉ có hai đầu ra A và B với logit [1, 2]. Không đặt nhiệt độ — tương đương nhiệt độ bằng 1 — xác suất softmax là [0,27; 0,73], mô hình chọn B 73% số lần. Với nhiệt độ 0,5, xác suất thành [0,12; 0,88], mô hình chọn B tới 88%. Nhiệt độ càng cao, mô hình càng ít chọn giá trị hiển nhiên: sáng tạo hơn nhưng có thể kém mạch lạc.1

    Nghĩ về một chiếc hộp bốc thăm. Nhiệt độ thấp nghĩa là lá thăm phổ biến được nhân lên rất nhiều bản, gần như lúc nào cũng trúng nó. Nhiệt độ cao thì các lá hiếm cũng có cơ hội. Nhớ nhé: muốn máy nói lạ thì vặn cao, muốn máy nói chắc thì vặn thấp.

    Huyen uses a toy model with only two outputs, A and B, with logits [1, 2]. Without setting a temperature — equivalent to temperature 1 — the softmax probabilities are [0.27, 0.73], so the model picks B 73% of the time. At temperature 0.5 they become [0.12, 0.88], and B wins 88% of the time. The higher the temperature, the less likely the model picks the obvious value: more creative, potentially less coherent.1

    Bạn gặp nó ở đâuWhere you meet it

    Nhà cung cấp thường giới hạn nhiệt độ trong khoảng 0 đến 2. Huyen ghi nhận 0,7 hay được khuyến nghị cho tác vụ sáng tạo vì nó cân bằng giữa bất ngờ và dự đoán được — nhưng bà bảo hãy tự thử.

    Nhiều nơi khuyên để 0,7 cho việc sáng tạo. Nhưng cứ thử vài mức rồi chọn.

    Providers usually cap temperature between 0 and 2. Huyen notes 0.7 is often recommended for creative uses because it balances surprise and predictability — but she tells you to experiment.

    Nhiệt độ không thể bằng 0Temperature can never be zero

    Về mặt kỹ thuật, logit không thể chia cho 0. Huyen giải thích rằng trong thực tế, khi ta đặt nhiệt độ bằng 0, hệ thống đơn giản chọn token có logit lớn nhất mà không hề điều chỉnh logit hay tính softmax.1

    Tại sao là thang logWhy the log scale

    Từ vựng có thể lên tới 100.000 token, khiến nhiều xác suất nhỏ tới mức máy không biểu diễn nổi và bị làm tròn về 0 — vấn đề tràn dưới. Thang log giảm nhẹ điều này, và đó là lý do các nhà cung cấp trả về logprobs. Huyen lưu ý nhiều nhà cung cấp không lộ logprob, có thể vì logprob lộ ra giúp người khác sao chép mô hình dễ hơn.1

  2. 12
    TOP-K AND TOP-P

    Top-k và top-p — thu hẹp vùng bốc thămChỉ bốc trong một nhóm nhỏTop-k and top-p — narrowing the pool

    Top-k giảm khối lượng tính toán: thay vì softmax trên toàn bộ từ vựng, ta chỉ lấy k logit lớn nhất rồi softmax trên đó; k thường từ 50 đến 500, nhỏ hơn hẳn cỡ từ vựng. Top-p — còn gọi là nucleus sampling — linh hoạt hơn: cộng dồn xác suất theo thứ tự giảm dần và dừng khi tổng đạt p, thường 0,9 đến 0,95. Huyen nói thẳng rằng về lý thuyết top-p có vẻ không lợi lắm, nhưng trong thực tế nó chạy tốt, nên ngày càng phổ biến.1

    Trước khi bốc thăm, người ta bỏ bớt những lá gần như chắc chắn không trúng. Cách một: chỉ giữ lại 50 lá tốt nhất. Cách hai: giữ vừa đủ số lá để cộng lại được 90% cơ hội. Nhớ nhé: bỏ bớt lá xấu thì câu trả lời đỡ kỳ quặc.

    Top-k cuts computation: instead of a softmax over the whole vocabulary, take the k largest logits and softmax over those — k typically 50 to 500, far smaller than the vocabulary. Top-p — also called nucleus sampling — is more adaptive: sum probabilities in descending order and stop when the total reaches p, usually 0.9 to 0.95. Huyen says plainly that in theory top-p does not seem to offer much, but in practice it works well, which is why its popularity rose.1

    Bạn gặp nó ở đâuWhere you meet it

    Huyen giải thích ưu điểm của top-p bằng hai prompt: “Bạn có thích nhạc không? Chỉ trả lời có hoặc không” chỉ cần xét hai giá trị, trong khi “Ý nghĩa cuộc sống là gì?” cần xét nhiều hơn hẳn. Top-k cố định không phân biệt được hai ca này.

    Câu hỏi “có hay không” chỉ cần hai lựa chọn. Câu hỏi lớn cần nhiều lựa chọn. Top-p tự biết điều đó.

    Huyen motivates top-p with two prompts: “Do you like music? Answer with only yes or no” needs two candidates, while “What's the meaning of life?” needs far more. A fixed top-k cannot tell those apart.

    Điều kiện dừngStopping condition

    Dừng sau một số token cố định thì dễ bị cắt giữa câu; dùng token kết thúc chuỗi hoặc stop words thì gọn hơn. Nhưng Huyen cảnh báo mặt trái: nếu bạn yêu cầu mô hình sinh JSON, dừng sớm có thể làm thiếu dấu ngoặc đóng, khiến JSON không phân tích được.1

    Một họ hàng gầnA close relative

    Bà nhắc thêm min-p: thay vì đếm số token hay cộng dồn xác suất, ta đặt một ngưỡng xác suất tối thiểu mà một token phải đạt mới được xét tới trong lúc lấy mẫu.1

  3. 13
    TEST TIME COMPUTE

    Tính toán lúc suy luận — sinh nhiều rồi chọnLàm nhiều bản nháp rồi chọn bản hayTest time compute — generate many, keep one

    Cách đơn giản nhất để nâng chất lượng, theo Huyen, là sinh nhiều câu trả lời thay vì một, để tăng cơ hội có câu tốt. Có thể sinh độc lập rồi chọn — chính là best of N — hoặc chiến lược hơn, dùng beam search để giữ một số ứng viên hứa hẹn nhất ở mỗi bước. Một mẹo đơn giản để tăng hiệu quả là tăng độ đa dạng của đầu ra, chẳng hạn bằng cách thay đổi các biến lấy mẫu.1

    Thay vì viết một bản rồi nộp luôn, hãy viết năm bản nháp rồi chọn bản hay nhất. Máy cũng vậy. Nhớ nhé: nhiều bản nháp thì dễ có bản hay, nhưng tốn giấy hơn.

    The simplest way to raise quality, Huyen writes, is to generate multiple responses instead of one, increasing the chance of a good one. You can generate independently and then pick — that is best of N — or be more strategic and use beam search to keep a fixed number of the most promising candidates at each step. A simple way to make this more effective is to increase output diversity, for instance by varying the sampling variables.1

    Bạn gặp nó ở đâuWhere you meet it

    Huyen không giấu cái giá: trung bình sinh hai đầu ra tốn gấp đôi sinh một. Đây là đòn bẩy chất lượng mà bạn trả bằng tiền, nên hãy dùng nó có chủ đích chứ không mặc định.

    Làm hai bản nháp thì tốn gấp đôi. Chỉ làm nhiều nháp khi việc đó thật sự quan trọng.

    Huyen does not hide the cost: on average, generating two outputs costs about twice as much as one. This is a quality lever you pay for in cash, so use it deliberately rather than by default.

    Chọn bản nàoPicking the winner

    Một cách là chọn đầu ra có xác suất cao nhất — tích xác suất mọi token, hay trên thang log là tổng logprob. Vì tổng logprob thiên vị chuỗi ngắn, Huyen khuyên dùng logprob trung bình bằng cách chia cho độ dài; bà ghi nhận đây là cách API của OpenAI dùng tại thời điểm viết sách. Cách khác là dùng mô hình thưởng để chấm.1

    Một cái tên gây tranh cãiA contested name

    Huyen dùng thuật ngữ test time compute cho nhất quán với tài liệu hiện có, dù bà ghi nhận vài người đọc bản thảo đã phản đối rằng thuật ngữ này gây nhầm lẫn — trong nghiên cứu AI, “test time” thường chỉ giai đoạn suy luận khi thử nghiệm, còn kỹ thuật này áp dụng được cả cho mô hình đang chạy thật.1

  4. 14
    STRUCTURED OUTPUTS

    Đầu ra có cấu trúc — bốn lớp can thiệpBắt máy trả lời đúng khuônStructured outputs — four layers of intervention

    Sản xuất thường cần đầu ra theo định dạng. Huyen chia hai tình huống: tác vụ tự thân cần cấu trúc (như text-to-SQL, một dạng phân tích ngữ nghĩa, nơi đầu ra phải là câu SQL hợp lệ), và tác vụ có đầu ra bị ứng dụng khác tiêu thụ. Bà liệt kê bốn lớp can thiệp: prompt, hậu xử lý, lấy mẫu có ràng buộc, và tinh chỉnh — ba cái đầu bà gọi thẳng là “băng dán”, chỉ hợp khi mô hình vốn đã gần đúng.1

    Bạn cần máy trả lời đúng khuôn, ví dụ một bảng hay một dòng mã. Có bốn cách: bảo nó, sửa lại sau khi nó viết, chặn không cho nó viết sai ngay từ đầu, hoặc dạy hẳn cho nó. Nhớ nhé: ba cách đầu là dán băng, cách cuối mới là chữa bệnh.

    Production usually needs a format. Huyen splits this into two cases: tasks that inherently require structure (such as text-to-SQL, a form of semantic parsing where outputs must be valid SQL) and tasks whose outputs are consumed by downstream applications. She lists four layers of intervention: prompting, post-processing, constrained sampling and finetuning — calling the first three “bandages”, useful only when the model is already close.1

    Bạn gặp nó ở đâuWhere you meet it

    Huyen lưu ý chế độ JSON của API thường chỉ bảo đảm đầu ra là JSON hợp lệ, chứ không bảo đảm nội dung bên trong — và JSON hợp lệ vẫn có thể bị cắt cụt nếu chạm giới hạn token.

    Máy hứa trả về đúng khuôn, nhưng không hứa nội dung bên trong đúng. Vẫn phải kiểm.

    Huyen notes an API's JSON mode typically guarantees only that outputs are valid JSON — not the contents — and a valid JSON can still be truncated if generation stops too soon.

    Hậu xử lý rẻ mà hiệu quảPost-processing is cheap

    Huyen kể rằng thời đi dạy bà nhận ra học trò hay mắc những lỗi rất giống nhau, và mô hình cũng vậy — nên tìm ra lỗi lặp lại là viết được script sửa. Bà dẫn LinkedIn: một bộ phân tích YAML phòng thủ đã nâng tỉ lệ đầu ra YAML đúng từ 90% lên 99,99%.1

    Lấy mẫu có ràng buộcConstrained sampling

    Kỹ thuật này lọc vector logit để chỉ giữ token thỏa ràng buộc rồi mới bốc. Nhưng nó cần một văn phạm mô tả cái gì được phép ở mỗi bước — ví dụ văn phạm JSON quy định sau một dấu ngoặc nhọn mở không được có một dấu ngoặc nhọn mở khác trừ khi nó nằm trong chuỗi. Xây văn phạm là việc không nhỏ, nên kỹ thuật này kém tổng quát và còn làm tăng độ trễ.1

Ba hiểu lầm thường gặp khi đọc chương nàyThree misreadings of this chapter

Ba ngộ nhận dưới đây đều có vẻ hợp lý, và đều bị chính văn bản của chương bác lại.

Each of the three below sounds reasonable, and each is contradicted by the chapter itself.

“Nhiệt độ 0 là tất định”“Temperature 0 means deterministic”

Cố định nhiệt độ, top-p, top-k và cả seed vẫn không bảo đảm nhất quán 100%. Huyen chỉ ra phần cứng cũng ảnh hưởng: các máy khác nhau thực thi cùng một lệnh theo cách khác nhau và xử lý các dải số khác nhau. Nếu bạn dùng API, quyền kiểm soát phần cứng nằm ở nhà cung cấp.1

Fixing temperature, top-p, top-k and even the seed still does not guarantee 100% consistency. Huyen notes hardware matters too: different machines execute the same instruction differently and handle different numeric ranges. On an API, that control belongs to the provider.1

“Ảo giác chỉ là lỗi dữ liệu”“Hallucination is just a data bug”

Huyen trình bày hai giả thuyết bổ sung cho nhau. Một: mô hình không phân biệt được dữ liệu được cho với dữ liệu nó tự sinh, nên tự tin vào chính câu nó vừa viết — Ortega và cộng sự ở DeepMind gọi đó là tự huyễn hoặc.10 Hai: lệch pha giữa tri thức của mô hình và tri thức của người gán nhãn — nếu câu mẫu dùng kiến thức người gán nhãn có mà mô hình không có, ta đang dạy mô hình bịa.1

Huyen presents two complementary hypotheses. First: the model cannot tell data it was given from data it generated, so it trusts its own last sentence — Ortega et al. at DeepMind call this self-delusion.10 Second: a mismatch between the model's internal knowledge and the labeler's — if a demonstration uses knowledge the labeler has and the model lacks, we are teaching the model to hallucinate.1

“Mô hình lớn hơn luôn tốt hơn”“Bigger models are always better”

Năm 2022 Anthropic phát hiện điều phản trực giác: huấn luyện căn chỉnh nhiều hơn lại cho ra mô hình ít hợp sở thích con người hơn ở một số chiều.16 Giải thưởng Inverse Scaling năm 2023 nhận 99 bài dự thi và trao 11 giải ba; ban tổ chức không trao giải nhất hay giải nhì, vì dù các tác vụ gửi tới cho thấy thất bại trên tập kiểm thử nhỏ, không bài nào chứng minh được thất bại ngoài đời thực.19

In 2022 Anthropic found something counterintuitive: more alignment training produced models that align less with human preference along some axes.16 The 2023 Inverse Scaling Prize drew 99 submissions and awarded 11 third prizes; no first or second prize was given, because although the submitted tasks showed failures on small test sets, none demonstrated failures in the real world.19

Một lưu ý về nguồn: trong phần nút thắt dữ liệu, thân bài của chương dẫn dự báo cạn dữ liệu là “Villalobos et al., 2022” trong khi chú thích Hình 2-9 ghi “Villalobos et al., 2024”. Bản trên arXiv được đăng lần đầu năm 2022 và sửa đổi năm 2024, nên cả hai mốc đều truy ngược về cùng một công trình; ở đây tôi dẫn theo bản arXiv.8

Một ví dụ cụ thể của ảo giác lan truyền: Zhang và cộng sự (2023) gọi hiện tượng này là ảo giác cuộn tuyết — sau một giả định sai ban đầu, mô hình tiếp tục bịa để biện minh cho giả định ấy, và điều đáng chú ý là giả định sai ban đầu có thể khiến mô hình trả lời sai cả những câu mà bình thường nó trả lời đúng.11

Và một nghịch lý Huyen giữ nguyên chứ không làm mượt: trong buổi nói chuyện ở UC Berkeley tháng 4 năm 2023, John Schulman cho biết OpenAI thấy RLHF giúp giảm ảo giác — trong khi chính bài báo InstructGPT lại cho thấy RLHF làm ảo giác nặng hơn so với mô hình chỉ dùng SFT. Dù vậy, người gán nhãn vẫn thích bản RLHF hơn xét tổng thể.71

Tự kiểmSelf-check

Bảy câu trước khi chọn mô hìnhBảy câu tự hỏiSeven questions before you pick a model

Chương này không dạy bạn huấn luyện mô hình. Nó trang bị cho bạn những câu hỏi đúng để đọc một thẻ mô hình, một bảng xếp hạng, hoặc một hóa đơn API.

Đọc xong chương này, bạn chưa làm được mô hình. Nhưng bạn biết phải hỏi gì trước khi chọn một cái.

This chapter does not teach you to train a model. It gives you the right questions for reading a model card, a leaderboard, or an API bill.

Ngôn ngữ và lĩnh vực của tôi có trong dữ liệu huấn luyện không? Nếu bài toán nằm ở một ngôn ngữ ít tài nguyên hay một miền dữ liệu không tồn tại công khai, kỳ vọng phải được hạ xuống trước khi prompt được viết ra. Và hãy đo luôn chi phí token: cùng một nội dung, một ngôn ngữ có thể tốn gấp nhiều lần ngôn ngữ khác.
Con số tham số tôi đang đọc là tổng hay là đang hoạt động? Với mô hình thưa và mixture-of-experts, hai con số này lệch nhau rất xa, và chỉ con số hoạt động mới nói về giá và tốc độ.
Mô hình này đã được huấn luyện trên bao nhiêu token? Số tham số nói về sức chứa; số token nói về lượng đã học thật sự. Luật Chinchilla cho một mốc nhẩm nhanh: khoảng hai mươi token cho mỗi tham số.
Bản tôi đang gọi là base hay đã hậu huấn luyện? Một mô hình chưa qua SFT sẽ viết tiếp prompt của bạn chứ không trả lời nó.
Tôi đã cố định các biến lấy mẫu chưa, và tôi hiểu giới hạn của việc cố định ấy chứ? Cố định nhiệt độ và seed là thói quen tốt, nhưng không phải là bảo đảm. Huyen ví chuyện này như một giáo viên chỉ chấm điểm nhất quán khi ngồi đúng một phòng.
Tác vụ này cần sáng tạo hay cần nhất quán? Đó là câu hỏi quyết định núm nhiệt độ, chứ không phải thói quen hay giá trị mặc định của thư viện.
Nếu đầu ra sai định dạng, tôi đang dán băng hay chữa bệnh? Prompt, hậu xử lý và sinh lại là băng dán; lấy mẫu có ràng buộc và tinh chỉnh mới là điều trị. Huyen dự đoán rằng khi mô hình ngày càng theo chỉ dẫn tốt hơn, chính các kỹ thuật này sẽ bớt quan trọng.
Máy này đã đọc tiếng của mình chưa? Nếu chưa đọc nhiều thì đừng mong nó giỏi.
Con số to kia là tổng số hay số đang làm việc? Hai con số rất khác nhau về tiền.
Máy đã được dạy trả lời chưa, hay mới chỉ đọc xong? Máy chưa được dạy sẽ viết tiếp câu của bạn thay vì trả lời.
Việc này cần lạ hay cần chắc? Cần lạ thì vặn nhiệt độ cao. Cần chắc thì vặn thấp.
Mình đã kiểm câu trả lời chưa? Máy nói chắc chắn không có nghĩa là máy nói đúng.
Are my language and domain in the training data? For a low-resource language or a domain absent from the public web, lower your expectations before you write the prompt — and price the token tax while you are at it.
Is the parameter count I am reading total or active? For sparse and mixture-of-experts models the two diverge sharply, and only the active count speaks to cost and speed.
How many tokens was this model trained on? Parameters measure capacity; tokens measure what was actually learned. Chinchilla gives a quick yardstick: roughly twenty tokens per parameter.
Am I calling the base or the post-trained version? A model without SFT will continue your prompt rather than answer it.
Have I fixed my sampling variables — and do I know the limits of doing so? Fixing temperature and seed is good practice, not a guarantee; hardware still varies.
Does this task need creativity or consistency? That question, not habit or a library default, should set the temperature dial.
If the output is malformed, am I applying a bandage or a treatment? Prompting, post-processing and regeneration are bandages; constrained sampling and finetuning are treatment.
Đọng lạiWhat remains
Bạn không cần biết cách xây một mô hình để dùng nó. Nhưng biết nó đã đọc gì, được xếp thế nào, được dạy lại ra sao, và bốc thăm mỗi chữ như thế nào — chính là biết trước nó sẽ hỏng ở đâu. Không cần biết chế tạo cái máy. Chỉ cần biết nó đã đọc gì và nó bốc thăm ra sao — là đoán được lúc nào nó sẽ sai. You need not know how to build a model to use one. But knowing what it read, how it is arranged, how it was taught again, and how it samples each word — that is knowing in advance where it will break.