AI Engineering · Chương 8 · Kỹ thuật dữ liệuAI Engineering · Chương 8 · Kỹ thuật dữ liệuAI Engineering · Chapter 8 · Dataset Engineering
Chương 8 · Kỹ thuật dữ liệuChương 8 · Kỹ thuật dữ liệuChapter 8 · Dataset Engineering

Phần không tự động hóa đượcCho máy ăn gì, nó thành thế ấyThe part that won’t automate

Chương này mở đầu bằng một câu rất gọn: chất lượng của một mô hình phụ thuộc vào chất lượng dữ liệu huấn luyện nó — đội ML giỏi nhất thế giới với sức tính vô hạn cũng không giúp được gì nếu ta không có dữ liệu.1 Nhưng đây không chỉ là chương phụ trợ cho tinh chỉnh. Khi ngày càng ít công ty đủ sức tự huấn luyện mô hình từ đầu, dữ liệu trở thành thứ duy nhất còn lại để tạo khác biệt — và “kỹ thuật dữ liệu” tách ra thành một nghề với vai trò riêng: người gán nhãn, người dựng tập dữ liệu, kỹ sư chất lượng dữ liệu.

Chương này nói về thức ăn của máy. Máy học từ ví dụ, nên ví dụ tốt thì máy giỏi, ví dụ tệ thì máy dở — giống như nấu ăn: nguyên liệu hỏng thì đầu bếp giỏi mấy cũng chịu. Nhớ nhé: chọn dữ liệu là phần khó nhất và không có máy nào làm hộ được.

The chapter opens with a blunt line: the quality of a model depends on the quality of its training data — the best ML team in the world with infinite compute can’t help you finetune a good model if you have no data.1 But this is not merely finetuning’s supply chain. As fewer companies can afford to build models from scratch, data becomes the remaining way to differentiate — and data work has hardened into dedicated roles: data labelers, dataset creators, data quality engineers.

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

Mục tiêu của kỹ thuật dữ liệu là tạo ra một tập dữ liệu cho phép huấn luyện mô hình tốt nhất có thể, lý tưởng là trong ngân sách đã định. Dù mỗi giai đoạn huấn luyện cần dữ liệu khác nhau, việc tuyển chọn luôn quy về ba tiêu chí giống nhau: chất lượng, độ phủ, số lượng. Và ba bước — tuyển chọn, sinh ra, xử lý — không đi theo đường thẳng; ta sẽ phải quay đi quay lại giữa chúng.1

Muốn máy giỏi thì phải lo ba thứ về thức ăn của nó: ngon (không hỏng), đủ loại (không chỉ một món), và đủ nhiều. Nhớ nhé: ba thứ ấy quan trọng như nhau, thiếu cái nào cũng hỏng.

The goal of dataset engineering is to create a dataset that lets you train the best model you can, ideally within your allotted budget. Different training phases need datasets with different attributes, but curation always reduces to the same three criteria: quality, coverage, quantity. And the three stages — curation, generation, processing — are not a linear path; you will go back and forth between them.1

Tuyển chọn dữ liệuChọn thức ăn cho máyData curation

Chất lượng, độ phủ, số lượngNgon, đủ loại, đủ nhiềuQuality, coverage, quantity

Tuyển chọn dữ liệu không chỉ là thêm dữ liệu mới để mô hình học hành vi mới, mà còn là gỡ bỏ dữ liệu cũ để mô hình quên đi hành vi xấu. Huyen kể một ví dụ rất đời: người dùng phàn nàn chatbot hơi kiêu — hỏi một câu có đúng sự thật không thì nó trả lời “câu này đúng, nhưng văn phong có thể hay hơn” rồi tự viết lại. Truy ra, trong dữ liệu huấn luyện có nhiều ví dụ gợi ý không ai yêu cầu; cách chữa là xóa chúng đi và đặt hàng ví dụ mới.1

Chọn thức ăn cho máy có hai việc: thêm món mới để máy học điều hay, và bỏ món cũ để máy quên điều dở. Nhớ nhé: đôi khi cách dạy tốt nhất là lấy bớt ví dụ xấu đi, chứ không phải thêm ví dụ mới.

Curation isn’t only about creating data so a model learns new behaviours; it is also about removing data so it unlearns bad ones. Huyen gives a very everyday example: users complain a chatbot is a little arrogant — ask it to verify a statement and it answers “the statement is correct, but its style can be improved”, then rewrites it unprompted. Investigate, and you find training examples full of unsolicited suggestions; the fix is to remove them and commission new ones.1

Nếu coi huấn luyện mô hình như nấu ăn, dữ liệu là nguyên liệu: chất lượng là nguyên liệu không hỏng, độ phủ là trộn đúng tỉ lệ, số lượng là bao nhiêu nguyên liệu.

Dạy máy giống như nấu ăn. Dữ liệu là nguyên liệu: phải tươi, phải đủ loại, và phải đủ nhiều.

If model training is cooking, the data is the ingredients: quality is ingredients that aren’t spoiled, coverage is the right mix, quantity is how much of it you have.

Ẩn dụ bếp núc này là của chính tác giả, và nó có ích vì nó nhắc rằng ba tiêu chí không thay thế được nhau: thêm đường không cứu được trứng ung.1

Chất lượngQuality Liên quan · khớp yêu cầu tác vụ · nhất quán · đúng định dạng · đủ độc nhất · tuân thủVí dụ đúng và sạch.Relevant · aligned with task requirements · consistent · correctly formatted · sufficiently unique · compliant
Độ phủCoverage Phủ hết dải bài toán và cách diễn đạt mà người dùng thật sự mang tới — còn gọi là độ đa dạngĐủ loại tình huống.The range of problems, and phrasings, real users actually bring — also called diversity
Số lượngQuantity Tùy kỹ thuật tinh chỉnh, độ phức tạp của tác vụ, và mô hình nền đã gần đích tới đâuĐủ nhiều cho việc mình làm.Depends on the finetuning technique, task complexity, and how close the base model already is
  1. 01
    Data quality

    Chất lượng — sáu đặc tính của một ví dụ tốtNguyên liệu tươiQuality — six properties of a good example

    Định nghĩa của bà rất thực dụng: dữ liệu là chất lượng cao nếu nó giúp ta làm được việc của mình một cách hiệu quả và đáng tin. Cụ thể hơn, bà liệt kê sáu đặc tính — relevant (liên quan), aligned with task requirements (khớp với yêu cầu tác vụ), consistent (nhất quán), correctly formatted (đúng định dạng), sufficiently unique (đủ độc nhất) và compliant (tuân thủ).1 Chữ “khớp” được chọn thay cho “chính xác” là có chủ ý: tùy tác vụ, một câu trả lời đúng vẫn có thể không phải thứ người dùng cần.

    Một ví dụ tốt là ví dụ đúng việc mình đang dạy, làm đúng như yêu cầu, không mâu thuẫn với các ví dụ khác, viết đúng khuôn, không bị lặp lại, và không vi phạm luật. Nhớ nhé: đúng chưa chắc đã hợp — phải hợp với việc mình cần.

    Her definition is pragmatic: data is high-quality if it helps you do your job efficiently and reliably. More concretely she lists six properties — relevant, aligned with task requirements, consistent, correctly formatted, sufficiently unique, and compliant.1 The word “aligned” is deliberate rather than “accurate” or “correct”: depending on the task, an accurate response may not be what the user wants.

    Thấy ở đâuWhere you see it Trong bản hướng dẫn gán nhãn. Sáu đặc tính này không phải khẩu hiệu — chúng là những câu phải viết rõ ra trước khi ai đó bắt đầu gán nhãn, nếu không mỗi người sẽ hiểu “tốt” một kiểu. Trong tờ hướng dẫn cho người chấm bài: phải nói rõ thế nào là tốt, không thì mỗi người chấm một kiểu. In your annotation guideline. The six properties are not slogans — they are the sentences you must write down before anyone starts labelling, or every annotator will define “good” differently.

    Ít mà tinh

    Nhóm làm họ mô hình Yi thấy 10.000 chỉ dẫn được soạn kỹ vượt trội hàng trăm nghìn chỉ dẫn nhiễu.3 Nghiên cứu “LIMA: Less Is More for Alignment” đi xa hơn: một mô hình Llama 65 tỉ tham số tinh chỉnh trên đúng 1.000 cặp chỉ dẫn–phản hồi được tuyển kỹ cho ra câu trả lời ngang bằng hoặc được người chấm ưa hơn GPT-4 trong 43% trường hợp — dù đổi lại, LIMA không bền vững như mô hình cấp sản phẩm.2

    Sáu, bảy hay mười hai đặc tính?

    Con số sáu là khung của riêng cuốn sách, và tác giả nói thẳng điều đó trong chú thích: IBM định nghĩa chất lượng dữ liệu theo bảy chiều (đầy đủ, độc nhất, hợp lệ, kịp thời, chính xác, nhất quán, phù hợp mục đích), còn Wikipedia thêm năm chiều nữa. Bà chọn thu hẹp về sáu vì đang bàn riêng chất lượng dữ liệu cho tinh chỉnh, không phải chất lượng dữ liệu nói chung.1 Nếu bạn gặp con số khác ở nơi khác, nhiều khả năng đó là một khung khác chứ không phải một mâu thuẫn.

  2. 02
    Data coverage · diversity

    Độ phủ — dữ liệu phải giống người dùng thậtĐủ loại tình huốngCoverage — data must look like real users

    Dữ liệu huấn luyện phải phủ được dải bài toán ta mong mô hình giải. Người dùng thật vừa hỏi nhiều thứ khác nhau, vừa diễn đạt rất khác nhau — nên nếu có người viết chỉ dẫn dài kèm tài liệu và có người viết một dòng cụt lủn, tập tinh chỉnh phải có cả hai. Nếu câu hỏi của họ thường sai chính tả, tập dữ liệu cũng phải có ví dụ sai chính tả.1 Mỗi ứng dụng lại có trục đa dạng riêng: một công cụ dịch Pháp–Anh không cần đa dạng ngôn ngữ nhưng cần đa dạng chủ đề và văn phong; một chatbot bán hàng toàn cầu thì ngược lại.

    Nếu chỉ dạy máy bằng một kiểu câu hỏi, gặp kiểu khác là nó lúng túng. Người thật hỏi đủ kiểu, có người viết dài, có người viết ngắn, có người gõ sai chính tả. Nhớ nhé: dạy đủ kiểu thì máy mới quen được với đời thật.

    Training data should cover the range of problems you expect the model to solve. Real users ask about many things and phrase them very differently — so if some write long instructions with references and others write one terse line, your finetuning data needs both. If their queries typically contain typos, include examples with typos.1 Every application has its own diversity axes: a French-to-English tool needs no language diversity but benefits from topic and register diversity; a global shopping chatbot is the opposite.

    Thấy ở đâuWhere you see it Meta nói Llama 3 không khác các đời Llama trước bao nhiêu về kiến trúc; phần tăng hiệu năng “chủ yếu đến từ cải thiện chất lượng và độ đa dạng của dữ liệu, cùng với quy mô huấn luyện lớn hơn”.4 Llama 3 mạnh hơn đời trước không phải nhờ đổi máy, mà chủ yếu nhờ thức ăn tốt hơn và đa dạng hơn. Meta says Llama 3 doesn’t deviate much from earlier Llamas in architecture; its gains are “primarily driven by improvements in data quality and diversity as well as by increased training scale”.4

    Bảng trộn của Llama 3

    Mỗi giai đoạn huấn luyện có tỉ lệ trộn miền tối ưu khác nhau. Ở tiền huấn luyện: 50% kiến thức tổng quát tiếng Anh, 25% toán và suy luận, 17% lập trình, 8% đa ngữ. Ở tinh chỉnh có giám sát: 52,66% / 21,19% / 14,89% / 3,01%, cộng thêm 8,14% dạng đề thi và 0,11% ngữ cảnh dài. Ở tinh chỉnh theo sở thích, kiến thức tổng quát vọt lên 81,99% còn toán cộng mã chỉ còn 12,82% — hợp lý, vì mục tiêu lúc này là phản ánh đúng phân bố sở thích thật của người dùng.14

    Đa dạng cũng có trần

    Bài “Scaling Instruction-Finetuned Language Models” cho thấy hiệu năng tăng mạnh khi số tác vụ tinh chỉnh đi từ 9 lên 282, rồi bắt đầu chững lại — vẫn nhích lên nhưng ngày một ít cho tới 1.836 tác vụ.5 Và đa dạng không phải lúc nào cũng có lợi: cuốn sách dẫn “The Data Addition Dilemma” cho thấy trong một số trường hợp, thêm dữ liệu càng không đồng nhất lại càng làm hiệu năng tệ đi.1

  3. 03
    Data quantity

    Số lượng — bao nhiêu là đủBao nhiêu ví dụ thì đủQuantity — how much is enough

    Hỏi cần bao nhiêu dữ liệu cũng giống như hỏi cần bao nhiêu tiền: câu trả lời thay đổi rất rộng tùy hoàn cảnh.1 Ngoài chất lượng và độ đa dạng, ba yếu tố quyết định con số: kỹ thuật tinh chỉnh (tinh chỉnh toàn phần đòi hỏi nhiều dữ liệu hơn PEFT hàng bậc độ lớn), độ phức tạp của tác vụ, và mô hình nền đã gần đích tới đâu. Lời khuyên vận hành của bà rất cụ thể: bắt đầu bằng một tập nhỏ được soạn kỹ — chừng 50 ví dụ — để xem tinh chỉnh có cải thiện gì không; trong đại đa số trường hợp, 50–100 ví dụ đã đủ để thấy tiến bộ.

    Không có con số cố định. Việc dễ thì ít ví dụ cũng xong; việc khó thì cần nhiều. Mẹo hay: thử trước với khoảng 50 ví dụ làm thật cẩn thận, xem máy có khá lên không rồi hãy đầu tư thêm. Nhớ nhé: thử ít trước, đừng gom cả núi dữ liệu rồi mới biết là vô ích.

    Asking how much data you need is like asking how much money you need: the answer varies enormously.1 Beyond quality and diversity, three factors drive the number: the finetuning technique (full finetuning needs orders of magnitude more data than PEFT), task complexity, and how close the base model already is. Her operational advice is concrete: start with a small, well-crafted set — say 50 examples — to see whether finetuning helps at all; in the vast majority of cases you should see improvement with 50–100 examples.

    Thấy ở đâuWhere you see it Quy tắc ngón tay cái: ít dữ liệu thì dùng PEFT trên mô hình mạnh hơn; nhiều dữ liệu thì tinh chỉnh toàn phần trên mô hình nhỏ hơn.1 Ít ví dụ thì nhờ mô hình xịn dạy nhanh; nhiều ví dụ thì dạy lại hẳn một mô hình nhỏ. Rule of thumb: with little data, use PEFT on a more advanced model; with a lot of data, use full finetuning on a smaller one.1

    Lợi ích giảm dần

    Có thể ước lượng nhu cầu bằng cách tinh chỉnh trên các tập con — 25%, 50%, 100% — rồi vẽ đường cong hiệu năng theo kích thước tập. Dốc đứng nghĩa là nhân đôi dữ liệu sẽ đáng tiền; đường phẳng nghĩa là không. Thông thường đường cong này giảm dần: 1.000 ví dụ đầu có thể nâng độ chính xác mười điểm phần trăm, 1.000 ví dụ sau chỉ còn năm.1 Để so sánh quy mô: Llama 2 và Llama 3 được huấn luyện trên 2 nghìn tỉ và 16 nghìn tỉ token — nếu mỗi ví dụ dài 2.000 token thì tương đương 1 tỉ và 15 tỉ ví dụ.

    Hóa xương (ossification)

    Có một nghịch lý: khi dữ liệu rất nhiều, tinh chỉnh từ mô hình đã tiền huấn luyện đôi khi lại kém hơn huấn luyện từ đầu. Hiện tượng này gọi là ossification — tiền huấn luyện “hóa xương” trọng số khiến chúng khó thích ứng với dữ liệu tinh chỉnh; mô hình nhỏ dễ bị hơn mô hình lớn.1 Cũng cần nhớ: số lượng cuối cùng còn do ví tiền quyết định — ngân sách 10.000 đô với giá gán nhãn 2 đô một ví dụ nghĩa là tối đa 5.000 ví dụ, và tiền tiêu cho dữ liệu là tiền không còn cho sức tính.

Thu thập, gán nhãn, tổng hợpKiếm ví dụ ở đâuAcquisition, annotation, synthesis

Dữ liệu đến từ đâuLấy ví dụ ở đâu raWhere the data comes from

Quá trình dựng một tập dữ liệu hiếm khi đi một mạch. Huyen phác một ví dụ rất thật: tìm được một tập công khai 10.000 ví dụ, lọc bỏ chỉ dẫn kém còn 9.000, tách riêng 3.000 ví dụ có phản hồi kém, tự viết lại 3.000 phản hồi ấy, rồi phát hiện thiếu chủ đề X nên soạn 100 mẫu khung và dùng AI sinh 2.000 chỉ dẫn mới — cuối cùng ra 11.000 ví dụ. Và bà nói ngay rằng đây đã là bản đơn giản hóa: phần lớn các bước bị giấu đi để tiết kiệm giấy và cứu người đọc khỏi buồn chán.1

Gom ví dụ giống như đi chợ nhiều lần chứ không phải một lần. Lấy một ít ở chỗ này, bỏ bớt món hỏng, tự làm thêm món còn thiếu, rồi lại quay lại chợ. Nhớ nhé: không ai gom đủ dữ liệu trong một lần đi.

Building a dataset is rarely a single pass. Huyen sketches a realistic one: find a public set of 10,000 examples, drop the low-quality instructions to leave 9,000, set aside 3,000 with poor responses, hand-write those 3,000 responses, then notice topic X is missing and write 100 templates so an AI can synthesise 2,000 more instructions — ending at 11,000. And she says outright that this is already a simplification, with most steps hidden to conserve paper and spare the reader.1

Mục tiêu của thu thập dữ liệu là tạo ra một tập đủ lớn, đủ chất lượng và đủ đa dạng — mà vẫn tôn trọng quyền riêng tư của người dùng và tuân thủ quy định.

Gom ví dụ sao cho đủ nhiều, đủ tốt, đủ loại — và không xâm phạm chuyện riêng tư của ai.

The goal of data acquisition is a sufficiently large dataset with the quality and diversity you need, while respecting user privacy and complying with regulations.

Bốn kênh chính: dữ liệu từ chính ứng dụng của mình, dữ liệu công khai, gán nhãn thủ công, và tổng hợp. Một tập thật thường là hỗn hợp của cả bốn.1

Dữ liệu ứng dụngApplication data Nguồn quan trọng nhất: nó khớp đúng phân bố mà ta quan tâmChính người dùng của bạn tạo ra.The most important source: it matches the distribution you care about
Dữ liệu công khaiPublic data Hugging Face, Kaggle, Dataset Search, data.gov — dùng được, nhưng đừng tin tuyệt đối và luôn kiểm giấy phépCó sẵn trên mạng, nhưng phải xem kỹ.Hugging Face, Kaggle, Dataset Search, data.gov — usable, but never fully trusted, and always check the licence
Gán nhãnAnnotation Khó không chỉ vì công gán nhãn, mà vì viết được bản hướng dẫn rõ ràngTự chấm lấy, và phải có luật chấm.Hard not only because of the labelling but because of writing a clear guideline
Tổng hợpSynthesis Sinh dữ liệu bằng quy tắc, mô phỏng, hoặc bằng chính AINhờ máy tự nghĩ ra ví dụ.Generate data by rules, by simulation, or with AI itself
  1. 04
    Data flywheel

    Bánh đà dữ liệu — nguồn tốt nhất là người dùng của bạnNgười dùng chính là nguồnThe data flywheel — your best source is your users

    Nguồn quan trọng nhất, theo bà, thường là dữ liệu từ chính ứng dụng của mình. Nếu dựng được một bánh đà dữ liệu — lấy dữ liệu người dùng sinh ra để liên tục cải thiện sản phẩm — đó là lợi thế lớn. Lý do kỹ thuật rất đơn giản: dữ liệu ứng dụng hoàn toàn liên quan và khớp với tác vụ, tức là nó khớp đúng phân bố ta quan tâm, điều cực khó đạt được với bất kỳ nguồn nào khác.1 Dữ liệu ấy có ba dạng: nội dung người dùng tạo ra, dữ liệu hệ thống sinh ra từ việc họ dùng, và phản hồi của họ.

    Ví dụ tốt nhất không nằm trên mạng mà nằm ngay trong ứng dụng của bạn: chính những câu người dùng hỏi mỗi ngày. Nhớ nhé: giữ lại những gì người dùng làm, đó là kho báu không ai sao chép được.

    The most important source, she says, is typically data from your own application. If you can build a data flywheel — using data your users generate to continually improve the product — that is a significant advantage. The technical reason is simple: application data is perfectly relevant and aligned with your task, which means it matches the distribution you care about, something almost impossible to achieve from any other source.1 It comes in three forms: user content, system-generated usage data, and user feedback.

    Thấy ở đâuWhere you see it Việc thiết kế hệ thống phản hồi người dùng được để dành hẳn cho Chương 10 — đó là chỗ bánh đà này khép vòng.1 Cách hỏi ý kiến người dùng được nói kỹ ở Chương 10. Designing the user-feedback system is saved for Chapter 10 — that is where this flywheel closes its loop.1

    Dữ liệu đã thành một nghề

    Một chỉ dấu rất cụ thể nằm trong chú thích của chương: trong danh sách đóng góp của GPT-3, chỉ hai người được ghi công cho việc thu thập, lọc, khử trùng lặp và phân tích trùng lắp dữ liệu. Ba năm sau, với GPT-4, tám mươi người được ghi công ở các khâu dữ liệu khác nhau — chưa kể những người gán nhãn thuê qua nhà cung cấp.1

    Kiểm giấy phép trước khi dùng

    Bà nhắc một điều dễ bỏ qua: nên tận dụng dữ liệu công khai nhưng đừng bao giờ tin nó hoàn toàn, và luôn cố hiểu dữ liệu đến từ đâu. Ngay cả khi một tập có giấy phép cho phép dùng thương mại, vẫn có khả năng một phần của nó bắt nguồn từ nguồn không cho phép.1

  2. 05
    Annotation guidelines

    Bản hướng dẫn gán nhãn — phần khó nhấtLuật chấm bàiAnnotation guidelines — the hardest part

    Gán nhãn khó không chỉ vì công gán nhãn, mà vì phải viết được bản hướng dẫn rõ ràng: thế nào là một phản hồi tốt, và cái gì làm nó tốt? Một phản hồi có thể vừa đúng vừa vô dụng không? Khác nhau giữa 3 điểm và 4 điểm là gì? Một số đội, trong đó có LinkedIn, cho biết bản hướng dẫn gán nhãn nằm trong những phần khó nhất của cả đường ống kỹ thuật AI của họ.1 Bà nói thẳng rằng thật đáng lo khi nhiều người bỏ dở việc gán nhãn cẩn thận giữa chừng, hy vọng mô hình sẽ tự đoán ra câu trả lời đúng.

    Chấm bài khó, nhưng viết ra luật chấm còn khó hơn: thế nào là bài hay, vì sao bài này 3 điểm mà bài kia 4 điểm. Nhớ nhé: chưa viết được luật chấm thì đừng bắt đầu chấm.

    Annotation is hard not just because of the labelling but because of the guideline: what does a good response look like, and what makes it good? Can a response be correct but unhelpful? What separates a 3 from a 4? Some teams, including LinkedIn, have reported that annotation guidelines were among the most challenging parts of their AI engineering pipeline.1 She notes how alarming it is that people abandon careful annotation halfway, hoping their models will figure out the right responses on their own.

    Thấy ở đâuWhere you see it Tin vui: hướng dẫn gán nhãn giống hệt hướng dẫn cho dữ liệu đánh giá ở Chương 4. Đây là thêm một lý do để đầu tư vào tiêu chí đánh giá — nếu may mắn, chính các ví dụ đánh giá có thể làm hạt giống để tổng hợp dữ liệu mới.1 Luật chấm bài dùng cho việc dạy cũng chính là luật chấm bài dùng để kiểm tra — làm một lần, dùng hai nơi. The good news: these guidelines are the same as the ones for evaluation data in Chapter 4. Another argument for investing in evaluation criteria — if you’re lucky, your eval examples can seed synthetic data.1

    Nhất quán là một đại lượng đo được

    Nếu hai người gán nhãn cùng một ví dụ mà kết quả lệch nhau nhiều thì mô hình sẽ bị rối. Khi mỗi ví dụ có nhiều hơn một nhãn, hãy tính độ bất đồng giữa các người gán nhãn, xem lại những ví dụ mâu thuẫn và giải quyết chúng. Cũng nên vẽ phân bố điểm theo từng người: có người quen cho điểm cao, có người quen viết ngắn.1

    Mệt cũng là một nguồn lỗi

    Có những chỉ dấu chất lượng rất phản trực giác. Cuốn sách dẫn Kern và cộng sự (2024): các nhãn được gán trong nửa sau của một phiên gán nhãn có chất lượng thấp hơn, nhiều khả năng do người gán nhãn chán hoặc mệt.1 Điều này có nghĩa siêu dữ liệu về thời điểm gán nhãn cũng là tín hiệu để lọc.

  3. 06
    Data synthesis

    Tổng hợp — để máy tự sinh ví dụNhờ máy nghĩ ra ví dụSynthesis — letting the model make its own examples

    Có năm lý do người ta tổng hợp dữ liệu: tăng số lượng, tăng độ phủ, đôi khi tăng cả chất lượng, tránh vấn đề riêng tư, và chưng cất mô hình.1 Cách làm cũng rất đa dạng — từ khuôn mẫu và bộ sinh giả lập, tới mô phỏng, tới dùng chính mô hình nền tảng. Với dữ liệu chỉ dẫn, quy trình thường là: bắt đầu từ một danh sách chủ đề hoặc khuôn mẫu, sinh một số chỉ dẫn cho mỗi mục, rồi sinh một hay nhiều phản hồi cho mỗi chỉ dẫn. UltraChat chẳng hạn: nhóm tác giả nhờ ChatGPT sinh 30 chủ đề đời sống, mỗi chủ đề 30–50 chủ đề con, rồi sinh chỉ dẫn và phản hồi cho từng chủ đề con.7

    Nếu thiếu ví dụ, ta có thể nhờ chính máy nghĩ ra thêm: cho nó một danh sách chủ đề rồi bảo nó đặt câu hỏi và tự trả lời. Nhớ nhé: máy nghĩ ra ví dụ rất nhanh, nhưng ví dụ ấy chưa chắc đã đúng.

    There are five reasons to synthesise data: to increase quantity, to increase coverage, sometimes to increase quality, to mitigate privacy concerns, and to distil models.1 The methods range from templates and fake-data generators, through simulation, to using foundation models themselves. For instruction data the recipe is usually: start from a list of topics or templates, generate some instructions per item, then one or more responses per instruction. UltraChat, for instance: the authors had ChatGPT generate 30 everyday topics, 30–50 subtopics each, then instructions and responses for every subtopic.7

    Thấy ở đâuWhere you see it Alpaca: các nhà nghiên cứu Stanford bắt đầu từ 175 cặp chỉ dẫn–phản hồi hạt giống của tập Self-Instruct8 rồi dùng text-davinci-003 sinh ra 52.000 cặp mới.6 MetaMath: viết lại 15.000 ví dụ của MATH và GSM-8K theo nhiều cách để tạo ra gần 400.000 ví dụ.16 Từ 175 ví dụ mẫu, người ta nhờ máy nhân lên thành 52.000 ví dụ để dạy một mô hình mới. Alpaca: Stanford researchers began with 175 seed (instruction, response) pairs from the Self-Instruct seed dataset8 and used text-davinci-003 to generate 52,000 more.6 MetaMath: rewriting the 15,000 examples in MATH and GSM-8K produced almost 400,000.16

    Người ta chỉ tổng hợp thứ mình xác minh được

    Giống như đánh giá dẫn dắt phát triển ở Chương 4, người ta có xu hướng sinh ra loại dữ liệu mà mình kiểm được. Đó là lý do phần lớn dữ liệu tổng hợp dùng cho Llama 3 là dữ liệu lập trình: nó kiểm được bằng cách chạy. Quy trình của nhóm Llama 3 gồm sáu bước — sinh đề bài, sinh lời giải, sinh bài kiểm thử đơn vị bằng AI, bắt AI sửa lỗi dựa trên phản hồi của trình phân tích cú pháp và kiểm thử, dịch mã sang ngôn ngữ khác rồi lọc bỏ phần không qua kiểm thử, và cuối cùng sinh giải thích rồi xác minh bằng dịch ngược. Kết quả: hơn 2,7 triệu ví dụ liên quan tới lập trình cho tinh chỉnh có giám sát của Llama 3.1, với khoảng 20% lời giải ban đầu sai nhưng tự sửa được.4

    Chưng cất mô hình

    Chưng cất là huấn luyện một mô hình nhỏ (trò) bắt chước một mô hình lớn (thầy) bằng chính dữ liệu do thầy sinh ra. DistilBERT giảm 40% kích thước BERT mà giữ 97% năng lực hiểu ngôn ngữ và nhanh hơn 60%.12 Alpaca chỉ bằng 4% kích thước mô hình thầy 175 tỉ tham số.6 Nhưng không phải cứ huấn luyện bằng dữ liệu tổng hợp là chưng cất: Nemotron-4-340B-Instruct được tinh chỉnh bằng dữ liệu do một mô hình nhỏ hơn sinh ra và vượt luôn thầy trên nhiều tác vụ.13 Lưu ý pháp lý: nhiều giấy phép cấm dùng đầu ra của mô hình để huấn luyện mô hình khác.1

  4. 07
    Model collapse · limits of AI-generated data

    Giới hạn — và hiện tượng sụp đổ mô hìnhKhi máy học từ chính nóThe limits — and model collapse

    Dữ liệu tổng hợp sẽ ngày càng quan trọng, nhưng theo bà, nó có lẽ sẽ không bao giờ thay thế hoàn toàn dữ liệu do người tạo ra. Có bốn lý do chính: khó kiểm soát chất lượng; bắt chước hời hợt; nguy cơ model collapse (sụp đổ mô hình); và việc sinh bằng AI làm mờ xuất xứ dữ liệu.1 Riêng lý do thứ hai được ghi lại trong “The False Promise of Imitating Proprietary LLMs”: mô hình bắt chước giỏi sao chép văn phong của mô hình thầy nhưng chật vật với độ chính xác sự thật và khả năng tổng quát hóa ra ngoài dữ liệu huấn luyện.11

    Nếu máy chỉ học từ bài do máy viết ra, qua nhiều vòng nó sẽ quên dần những chuyện hiếm và chỉ còn nhớ chuyện thường gặp — giống như chép lại bản chép, mỗi lần lại mờ đi một chút. Nhớ nhé: phải luôn trộn thêm ví dụ thật của con người vào.

    Synthetic data will keep growing in importance, but she argues it may never fully replace human-generated data. Four main reasons: quality control is hard; imitation can be superficial; there is the risk of model collapse; and AI generation obscures data lineage.1 The second is documented in “The False Promise of Imitating Proprietary LLMs”: imitation models are good at mimicking the teacher’s style but struggle with factual accuracy and generalisation beyond the training data.11

    Thấy ở đâuWhere you see it Bắt chước có thể ép mô hình trò nói dối: nếu thầy giải được toán khó, huấn luyện trò trên các lời giải ấy thực chất dạy trò tạo ra thứ trông giống lời giải, kể cả khi trò không giải nổi.11 Bắt chước lời giải mà không hiểu thì chỉ học được cách nói cho giống người biết làm. Imitation can force the student to hallucinate: if the teacher can solve hard maths, training on its solutions teaches the student to produce things that look like solutions, even when it cannot solve them.11

    Cơ chế của sụp đổ

    Bài “The Curse of Recursion” đặt tên cho hiện tượng này và chứng minh nó xảy ra ở nhiều họ mô hình, từ bộ tự mã hóa biến phân tới LLM.9 Một cách giải thích: mô hình thiên về sinh ra các sự kiện nhiều khả năng và ít khi sinh ra sự kiện hiếm; qua nhiều vòng lặp, cái thường gặp bị thổi phồng còn cái hiếm biến mất. Điều đáng nói là bức tranh không bi quan tuyệt đối: “Is Model Collapse Inevitable?” lập luận rằng sụp đổ là tất yếu nếu toàn bộ tập huấn luyện là dữ liệu tổng hợp, nhưng có thể tránh được bằng cách trộn dữ liệu tổng hợp với dữ liệu thật — dù chưa nghiên cứu nào đưa ra được tỉ lệ khuyến nghị dứt khoát.10

    Xuất xứ mờ

    Đây là giới hạn tinh tế nhất. Nếu ta dùng mô hình X để sinh dữ liệu huấn luyện mô hình của mình, mà X từng được huấn luyện trên dữ liệu vi phạm bản quyền, mô hình của ta cũng có thể vi phạm. Tệ hơn, nếu sau đó ta đánh giá mô hình mình trên chuẩn B mà X cũng đã học B, kết quả trên B đã bị nhiễm bẩn. Không có xuất xứ rõ ràng thì rất khó đánh giá tính khả thi thương mại hay tin vào con số hiệu năng.1

Ba hiểu lầm hay gặpThree common misconceptions

Ba câu dưới đây nghe rất hợp lý, và đều sai theo một cách tốn kém.

The three statements below sound perfectly reasonable, and each is wrong in an expensive way.

“Càng nhiều dữ liệu càng tốt”“More data is always better”

Một lượng nhỏ dữ liệu chất lượng cao có thể vượt một lượng lớn dữ liệu nhiễu: 10.000 chỉ dẫn soạn kỹ thắng hàng trăm nghìn chỉ dẫn ẩu.3 Lợi ích của mỗi ví dụ thêm vào cũng giảm dần, và trong vài trường hợp thêm dữ liệu quá dị biệt còn làm hiệu năng tệ đi.1

A small amount of high-quality data can beat a large amount of noisy data: 10,000 carefully crafted instructions outperformed hundreds of thousands of noisy ones.3 Each extra example also yields less than the last, and in some cases adding more heterogeneous data actively hurts.1

“Dữ liệu tổng hợp là dữ liệu miễn ph픓Synthetic data is free data”

Nó rẻ để sinh ra nhưng không rẻ để tin. Phải xác minh; phải đề phòng bắt chước hời hợt11; phải trộn dữ liệu thật để tránh sụp đổ qua nhiều vòng10; và phải chấp nhận rằng xuất xứ của nó đã mờ đi.1

It is cheap to produce but not cheap to trust. You must verify it; guard against superficial imitation11; mix in real data to avoid collapse across iterations10; and accept that its lineage is now obscured.1

“Chương này chỉ dành cho người tinh chỉnh”“This chapter is only for people who finetune”

Tác giả đặt chương ngay sau tinh chỉnh, nhưng phạm vi rộng hơn thế: hướng dẫn gán nhãn ở đây trùng với hướng dẫn đánh giá ở Chương 4, và bánh đà dữ liệu ứng dụng khép vòng ở Chương 10. Ai xây hệ thống AI cũng phải làm dữ liệu, kể cả khi không bao giờ chạy một lệnh huấn luyện nào.1

The chapter sits right after finetuning, but its scope is wider: the annotation guidelines here are the same ones as the evaluation guidelines in Chapter 4, and the application data flywheel closes its loop in Chapter 10. Anyone building an AI system does data work, even if they never launch a training run.1

Xử lý dữ liệuRửa và xếp lạiData processing

Soi, khử trùng lặp, làm sạch, định dạngRửa sạch rồi xếp cho gọnInspect, dedupe, clean, format

Khi đã có dữ liệu thô, phần việc còn lại nghe rất tầm thường nhưng quyết định phần lớn kết quả. Huyen đưa mấy lời khuyên vận hành rất thực tế: làm các bước theo thứ tự nào tiết kiệm thời gian và sức tính nhất (nếu làm sạch tốn hơn khử trùng lặp thì khử trùng lặp trước, và ngược lại); luôn chạy thử trên một mẫu nhỏ trước khi áp kịch bản lên toàn bộ dữ liệu; và tránh sửa dữ liệu tại chỗ — hãy giữ một bản gốc, vì đội khác có thể cần xử lý khác, và vì lỗi trong kịch bản của bạn có thể làm hỏng dữ liệu.1

Có nguyên liệu rồi thì phải rửa, bỏ phần hỏng, bỏ phần trùng, rồi xếp đúng khay. Mẹo: thử rửa vài món trước đã, và luôn giữ lại một phần nguyên bản phòng khi làm hỏng. Nhớ nhé: đừng bao giờ sửa thẳng vào bản gốc.

Once you have raw data, the remaining work sounds mundane and decides most of the outcome. Huyen’s operational advice is practical: do the steps in whichever order saves time and compute (if cleaning costs more than deduplicating, dedupe first — and vice versa); always trial-run your scripts before applying them to everything; and avoid changing data in place — keep a copy of the original, because another team may need to process it differently and because bugs in your scripts can corrupt it.1

Nhìn dữ liệu bằng mắt mình, trong mười lăm phút, thường cho ra một hiểu biết tiết kiệm được hàng giờ đau đầu.

Ngồi xem thử dữ liệu mười lăm phút thường phát hiện ra thứ mà không công cụ nào chỉ cho bạn.

Staring at your data for fifteen minutes usually gives you an insight that saves hours of headaches.

Đây là kinh nghiệm bà rút ra từ mọi dự án đã làm; bà dẫn thêm một câu của Greg Brockman, đồng sáng lập OpenAI: “Soi dữ liệu bằng tay có lẽ là hoạt động có tỉ lệ giá trị trên danh tiếng cao nhất trong học máy.”1

SoiInspect Thống kê, phân bố token, độ dài, chủ đề, ngôn ngữ, bất đồng giữa người gán nhãnXem thử dữ liệu có gì.Statistics, token and length distributions, topics, languages, inter-annotator disagreement
Khử trùng lặpDeduplicate So từng cặp, băm (MinHash, bộ lọc Bloom), hoặc giảm chiều rồi soBỏ các ví dụ giống hệt nhau.Pairwise comparison, hashing (MinHash, Bloom filter), or dimensionality reduction first
Làm sạch & lọcClean & filter Bỏ token định dạng thừa, bỏ dữ liệu không tuân thủ, bỏ dữ liệu kémBỏ rác và bỏ phần không được dùng.Strip extraneous formatting tokens, remove non-compliant data, drop low-quality examples
Định dạngFormat Đưa về đúng khuôn hội thoại và bộ tách token mà mô hình mong đợiXếp đúng khay mà máy quen.Into the exact chat template and tokenizer the model expects
  1. 08
    Inspect data

    Soi dữ liệu — việc không có công cụ nào thay đượcNgồi xem dữ liệuInspect — the step no tool replaces

    Việc đầu tiên với một tập thô là soi để cảm nhận chất lượng của nó: dữ liệu đến từ đâu, đã được xử lý thế nào, đã dùng vào việc gì khác. Rồi vẽ phân bố: token nào hay gặp, độ dài đầu vào và phản hồi ra sao, có token đặc biệt nào không, chủ đề và ngôn ngữ trong dữ liệu liên quan tới tác vụ tới đâu. Vẽ các phân bố ấy theo nguồn, theo thời gian, theo người gán nhãn — rồi hỏi: có mẫu câu hỏi nào luôn nhận phản hồi ngắn hơn không? Có ngoại lai nào không, và vì sao?1

    Trước khi nấu, hãy mở từng túi nguyên liệu ra xem. Đọc thử vài ví dụ, tự chấm lại vài câu xem mình có chấm giống người kia không. Nhớ nhé: công cụ vẽ biểu đồ không thay được đôi mắt mình.

    The first thing to do with a raw dataset is inspect it to get a feel for its quality: where it came from, how it was processed, what else it has been used for. Then plot distributions: which tokens are common, input and response lengths, any special tokens, how relevant the topics and languages are to your task. Plot them by source, by time, by annotator — then ask: which question patterns always get shorter answers? Are there outliers, and why?1

    Thấy ở đâuWhere you see it Một cách soi rất hay: chọn vài câu hỏi trong tập đã gán nhãn và tự gán nhãn lại, xem nhãn của mình có khớp nhãn có sẵn không. Đó là cách nhanh nhất để biết nhãn đáng tin tới đâu.1 Tự chấm thử vài bài rồi so với điểm có sẵn — sẽ biết ngay người chấm trước có đáng tin không. A good trick: pick a few annotated queries and annotate them yourself, then see whether your labels match. It is the fastest way to learn how trustworthy the annotations are.1

    Sáng tạo trong thống kê

    Thống kê để soi dữ liệu không nhất thiết phải tầm thường. Cuốn sách dẫn một nhóm nghiên cứu Microsoft (2023) dùng phân bố bộ ba (động từ, tân ngữ trực tiếp, danh từ) cùng độ dài phản hồi để so sánh đầu ra của GPT-3 và GPT-4 trên cùng một bộ chỉ dẫn; GPT-4 cho dải kết hợp động từ–danh từ rộng và đa dạng hơn, đồng thời phản hồi dài hơn. Kiểu phân tích này hữu ích để đánh giá cả dữ liệu lẫn mô hình.1

    Câu hỏi khi soi

    Nếu điểm số lẽ ra phải phân phối chuẩn, điểm của từng người gán nhãn có chuẩn không? Có ví dụ nào cùng câu hỏi mà khác phản hồi? Có ví dụ nào cùng phản hồi mà khác câu hỏi? Những câu hỏi tưởng vụn vặt ấy chính là thứ phát hiện ra trùng lặp, mâu thuẫn và lỗi quy trình trước khi chúng thành lỗi mô hình.1

  2. 09
    Deduplicate data

    Khử trùng lặp — cái giá của bản saoBỏ bản saoDeduplicate — what copies cost

    Dữ liệu trùng lặp làm lệch phân bố và đưa thiên kiến vào mô hình — một tập mà mọi đồ màu đỏ tình cờ đều bị nhân bản sẽ dạy mô hình kết luận sai rằng đồ màu đỏ thì đắt. Nó còn gây nhiễm bẩn tập kiểm tra: khi chia dữ liệu trùng thành tập huấn luyện và tập kiểm tra, một ví dụ có thể nằm ở bên này còn bản sao của nó nằm ở bên kia.1 Trùng lặp cũng có nhiều dạng khó thấy: trùng cả tài liệu, trùng trong một tài liệu (cùng một đoạn xuất hiện hai lần), và trùng chéo tài liệu (một câu trích dẫn nổi tiếng xuất hiện khắp nơi).

    Nếu trong rổ có ba quả táo giống hệt nhau, máy sẽ tưởng táo quan trọng gấp ba. Tệ hơn: một quả nằm ở phần dạy, quả kia nằm ở phần thi — thế là máy thi lại đúng bài đã học. Nhớ nhé: bỏ bản sao đi trước khi dạy.

    Duplicated data skews the distribution and injects bias — a set where every red item happens to be duplicated teaches the model that red things are expensive. It also causes test-set contamination: split duplicated data into train and test and one copy lands on each side.1 Duplication comes in forms that are hard to spot: whole-document, intra-document (the same paragraph twice in one file), and cross-document (a popular quote appearing everywhere).

    Thấy ở đâuWhere you see it Một nghiên cứu của Anthropic cho thấy chỉ cần lặp lại 0,1% dữ liệu 100 lần là đủ để hiệu năng của một mô hình 800 triệu tham số tụt xuống ngang mô hình 400 triệu tham số, dù 90% token còn lại vẫn độc nhất.14 Chỉ cần chép lại một phần rất nhỏ của bài học nhiều lần là máy đã học kém hẳn đi. An Anthropic study showed that repeating 0.1% of the data 100 times degrades an 800M-parameter model to the performance of a 400M-parameter one, even though the other 90% of tokens remain unique.14

    Ba cách khử

    So từng cặp: tính điểm tương đồng của mỗi ví dụ với mọi ví dụ khác bằng khớp chính xác, khớp n-gram, khớp mờ hay tương đồng ngữ nghĩa — chính xác nhưng đắt với tập lớn. Băm: đưa các ví dụ vào các rổ khác nhau rồi chỉ so trong cùng rổ; MinHash và bộ lọc Bloom thuộc nhóm này. Giảm chiều: rút gọn số chiều trước rồi mới so từng cặp, tái dùng được nhiều kỹ thuật của tìm kiếm vector ở Chương 6.1

    “Trùng” là một định nghĩa, không phải một sự thật

    Trước khi khử, phải tự trả lời: trùng ở mức tài liệu, đoạn, câu hay token? Hai đoạn phải giống hệt mới tính là trùng, hay chồng lấn 80% đã đủ? Hai danh sách cùng phần tử nhưng khác thứ tự có phải là trùng không?1 Ngưỡng bạn chọn ở đây quyết định phần lớn kết quả của bước này.

  3. 10
    Clean, filter & format

    Làm sạch và định dạng — chi tiết nhỏ, hậu quả lớnRửa sạch, xếp đúng khayClean and format — small details, large consequences

    Phần lớn dữ liệu công khai được cào từ Internet, nên thẻ HTML thừa rất phổ biến — trừ khi bạn muốn dạy mô hình về thẻ HTML, hãy bỏ chúng đi. Kế đến là tuân thủ: gỡ mọi thứ vi phạm chính sách, từ thông tin định danh cá nhân tới dữ liệu có bản quyền hay độc hại, và xóa hẳn những trường không được phép dùng. Cuối cùng là định dạng: mỗi mô hình có bộ tách token riêng và mong đợi một khuôn hội thoại riêng — đưa sai khuôn có thể sinh ra những lỗi rất kỳ quặc.1

    Nguyên liệu mua về còn dính rác: mã trang web, khoảng trắng thừa, thông tin riêng tư của người khác. Rửa sạch rồi xếp đúng khay mà máy quen nhìn. Nhớ nhé: xếp sai khay thì máy học sai, dù nguyên liệu vẫn ngon.

    Most public data is scraped from the internet, so stray HTML tags are common — unless you want to train your model on HTML tags, remove them. Then compliance: strip anything that violates your policies, from PII to copyrighted or toxic content, and delete fields you are not allowed to use. Finally formatting: every model has its own tokenizer and expects a specific chat template — the wrong one causes strange bugs.1

    Thấy ở đâuWhere you see it Databricks phát hiện rằng chỉ riêng việc bỏ các token Markdown và HTML thừa đã nâng độ chính xác của mô hình lên 20% và giảm độ dài đầu vào 60%.1 Chỉ cần bỏ mã trang web thừa, một đội đã làm máy giỏi hơn hẳn mà lại tốn ít chữ hơn. Databricks found that simply removing extraneous Markdown and HTML tokens improved their model’s accuracy by 20% while cutting input token length by 60%.1

    Khuôn prompt sau tinh chỉnh

    Chỉ dẫn dùng khi tinh chỉnh thường khác chỉ dẫn dùng khi làm kỹ thuật prompt: khi đã có đủ ví dụ, mô hình học được hành vi mong muốn từ chính các ví dụ, nên không cần mô tả tác vụ hay ví dụ mẫu nữa. Một prompt ba ví dụ có thể được chuyển thẳng thành ba ví dụ huấn luyện, và sau khi tinh chỉnh, prompt rút gọn còn đúng {INPUT} -->. Nhưng lúc dùng thì prompt phải khớp y hệt khuôn đã huấn luyện: thiếu mũi tên, thêm tiền tố “Item: ”, hay thừa một dấu cách ở cuối đều có thể gây lỗi.1

    Lọc khi dư dữ liệu

    Nếu có nhiều dữ liệu hơn mức cần hoặc mức kham nổi, có thể lọc tiếp bằng học chủ động để chọn các ví dụ giúp mô hình học được nhiều nhất, hoặc bằng lấy mẫu theo tầm quan trọng. Hiệu quả của chúng phụ thuộc vào việc bạn có cách đánh giá tầm quan trọng của từng ví dụ hay không. Nhóm nghiên cứu của Meta, trong bài về tỉa dữ liệu, kết luận rằng tìm ra các độ đo tỉa dữ liệu tốt có thể giảm đáng kể chi phí tài nguyên của học sâu hiện đại.1

Tự kiểmTự hỏi mìnhDiagnostic

Năm câu hỏi cho tập dữ liệu của bạnNăm câu tự hỏiFive questions for your dataset

Không câu nào đòi bạn phải chạy một lệnh huấn luyện. Chúng chỉ đòi bạn nhìn thẳng vào dữ liệu mình đang có — điều mà theo tác giả, mười lăm phút là đủ để bắt đầu.

Không cần máy móc gì, chỉ cần ngồi xem lại dữ liệu của mình và tự trả lời.

None of these requires you to launch a training run. They only ask you to look squarely at the data you already have — which, per the author, takes about fifteen minutes to start.

Bạn muốn mô hình học hành vi nào, và dữ liệu của bạn có thể hiện đúng hành vi ấy không? Dữ liệu huấn luyện phải trưng ra chính những hành vi ta muốn mô hình học được. Với suy luận từng bước, dữ liệu phải chứa phản hồi từng bước — và loại dữ liệu này hiếm hơn hẳn dữ liệu chỉ dẫn thường, vì giải thích cách giải một bài toán tốn công hơn nhiều so với chỉ đưa đáp số.1
Có hành vi nào cần mô hình quên đi không? Tuyển chọn không chỉ là thêm vào mà còn là gỡ ra: tìm các ví dụ đang dạy mô hình thói xấu và bỏ chúng đi. Ví dụ của chính tác giả: chatbot cứ tự ý viết lại câu của người dùng, truy ra là do trong dữ liệu có nhiều nhãn kèm gợi ý không ai yêu cầu.1
Bản hướng dẫn gán nhãn của bạn đã trả lời được câu “3 điểm khác 4 điểm ở chỗ nào” chưa? Nếu chưa, mọi con số chất lượng phía sau đều là ảo. Và nếu đã có bộ tiêu chí đánh giá từ Chương 4, đừng viết lại từ đầu — đó là cùng một tài liệu.1
Bạn đã thử với 50 ví dụ chưa, trước khi đặt hàng 50.000? Trong đại đa số trường hợp, 50–100 ví dụ đã đủ để thấy tinh chỉnh có ích hay không. Nếu tập nhỏ không cải thiện gì, tập lớn hiếm khi cứu được — nhưng hãy loại trừ các nguyên nhân khác trước: siêu tham số, chất lượng dữ liệu, prompt soạn ẩu.1
Nếu dùng dữ liệu tổng hợp, bạn xác minh nó bằng cách nào? Người ta chỉ nên tổng hợp thứ mình kiểm được: bằng tính đúng đắn chức năng, bằng giám khảo AI, hoặc bằng heuristic. Và dù xác minh tốt tới đâu, hãy giữ dữ liệu thật trong hỗn hợp: sụp đổ mô hình là tất yếu nếu toàn bộ tập huấn luyện là dữ liệu tổng hợp.10
Bạn muốn máy học làm gì, và ví dụ của bạn có làm đúng điều ấy không? Muốn máy giải từng bước thì ví dụ cũng phải giải từng bước.
Có thói xấu nào của máy cần bỏ không? Nếu có, hãy tìm những ví dụ đang dạy nó thói ấy và lấy ra.
Bạn đã viết ra luật chấm bài chưa? Phải nói rõ thế nào là tốt, không thì mỗi người chấm một kiểu.
Bạn đã thử với 50 ví dụ trước chưa? Thử ít trước, thấy có ích rồi hãy làm nhiều.
Nếu để máy tự nghĩ ra ví dụ, ai kiểm lại? Luôn trộn thêm ví dụ thật của con người vào.
Which behaviours do you want the model to learn, and does your data exhibit them? Training data should exhibit the behaviours you want the model to learn — step-by-step answers require step-by-step data.1
Is there a behaviour the model needs to unlearn? Curation is removal as well as addition: find the examples teaching the bad habit and take them out.1
Does your annotation guideline answer “what separates a 3 from a 4”? If not, every quality number downstream is fiction — and if you already wrote evaluation criteria in Chapter 4, that is the same document.1
Have you tried 50 examples before commissioning 50,000? In the vast majority of cases, 50–100 examples are enough to tell whether finetuning helps at all.1
If you use synthetic data, how do you verify it? Synthesise only what you can check — and keep real data in the mix: collapse is inevitable if the entire training set is synthetic.10
Đọng lạiĐọng lạiThe distillation
Ta có thể tự động hóa việc sinh ra dữ liệu, nhưng không tự động hóa được việc nghĩ xem mình cần dữ liệu gì — và càng không tự động hóa được sự để ý tới chi tiết.1
Máy có thể tự nghĩ ra ví dụ, nhưng không tự nghĩ được mình cần ví dụ gì. Nhớ nhé: phần ấy vẫn là việc của con người.
You can automate generating data, but you can’t automate thinking through what data you want — and you certainly can’t automate paying attention to details.1