LLM thực sự là gì?
Một LLM là một hàm số: văn bản đi vào, một phân phối xác suất trên token kế tiếp đi ra. Sinh văn bản chính là hàm số đó chạy trong một vòng lặp — lấy mẫu một token, nối nó vào, đưa toàn bộ trở lại, lặp lại — cho đến khi gặp token dừng hoặc chạm giới hạn độ dài. Mọi sản phẩm xây trên LLM, từ ứng dụng chat đến agent lập trình, đều là lớp phối hợp bọc bên ngoài vòng lặp ấy.
Bản thân tệp mô hình gồm hai thứ: hàng tỷ trọng số dấu phẩy động (các tham số) và một đồ thị tính toán cố định kết hợp chúng lại (xem bên trong transformer). Không có cơ sở dữ liệu nào trong đó, không có bộ máy quy tắc, không có bộ nhớ nháp. Tại thời điểm suy luận, trọng số bị đóng băng; mọi thứ mô hình "nhớ" trong một cuộc hội thoại chỉ là văn bản nằm trong cửa sổ prompt của bạn.
Vòng lặp cốt lõi
Mã giả cho toàn bộ engine sinh văn bản. Không nhà cung cấp nào xuất xưởng thứ gì sâu hơn thế này:
tokens = tokenize(prompt)
while not done and len(tokens) < max_context:
probs = model(tokens) # một lượt forward pass
next = sample(probs, temperature)
tokens.append(next)
stream_to_user(next)
if next == stop_token:
done = True
Hai núm chỉnh trong vòng lặp ấy chi phối hành vi hằng ngày, và không cái nào nằm trong trọng số: temperature (mức "mạo hiểm" của việc lấy mẫu) và ngữ cảnh tối đa (hội thoại vừa được bao nhiêu). Cả hai đều là cài đặt thời gian chạy mà engine của bạn áp dụng (xem tham số engine).
Trọng số về mặt vật lý là gì
Một mô hình "7B" là 7,000,000,000 tham số dấu phẩy động. Kích thước lưu trữ chỉ phụ thuộc độ chính xác, không phụ thuộc sự thông minh:
| Độ chính xác | Số byte mỗi tham số | Kích thước mô hình 7B |
|---|---|---|
| FP16 (bản gốc) | 2 | ~14 GB |
| Lượng hóa 8-bit | ~1 | ~7 GB |
| Lượng hóa 4-bit | ~0.55 | ~4 GB |
Cùng trọng số, lưu trữ thô hơn — bạn đánh đổi một chút chất lượng lấy rất nhiều bộ nhớ (xem lượng hóa). Bản thân con số này được cố định lúc huấn luyện; việc dùng mô hình không bao giờ thay đổi nó.
Thang đo theo quy mô
Số tham số là thước đo thô sơ nhưng trung thực về thứ gì xuất hiện vào thời điểm nào:
| Hạng | Tham số | Thời kỳ | Những gì nó làm được |
|---|---|---|---|
| GPT-2 | 125M–1.5B | 2019 | Đoạn văn mạch lạc, sự kiện mong manh |
| GPT-3 | 175B | 2020 | Prompting few-shot bắt đầu hiệu quả |
| Nhỏ-nhưng-tốt (Phi-3, Qwen 3B) | 3–4B | 2024 | Trợ lý nhẹ thực sự dùng được |
| 7B mở (Mistral, Llama 2) | 7B | 2023 | Chat và code chắc tay trên một GPU tiêu dùng |
| Hạng 70B mở | 70B | 2023+ | Suy luận gần đỉnh; cần 2×24 GB |
| Dense mở hạng đỉnh (Llama 3.1) | 405B | 2024 | Trọng số mở hạng đỉnh, cần đa GPU |
| MoE hạng đỉnh | tổng 100B–600B+, kích hoạt 10–40B | 2024+ | Đầu ra tốt nhất trong hạng với chi phí phục vụ hợp lý |
Mỗi bậc lớn gấp khoảng 10 lần bậc trước, và mỗi bậc mở khóa hành vi mà bậc nhỏ hơn đơn giản không thể tạo ra — chứ không phải "giống nhau nhưng tốt hơn chút". Quy mô thêm kỹ năng; cách đóng gói khiến chúng dùng được.
Không có bộ nhớ giữa các phiên
Mô hình không có trạng thái. Trạng thái nằm trong cuộc hội thoại: cửa sổ token đang chạy mà bạn và nó đã tạo ra. Đóng tab là mất hết; mở cuộc chat mới thì nó không hề biết bạn tồn tại. Mọi tính năng "bộ nhớ" đều là một lớp bọc chèn lại văn bản cũ vào prompt mới.
Hệ quả thực tế: những gì bạn giữ trong cửa sổ là toàn bộ những gì nó biết ngay lúc này. Hội thoại dài lặng lẽ cắt bỏ phần đầu của chính mình khi cửa sổ đầy — mô hình không "nhận ra" phần văn bản bị mất (xem token).
Trôi chảy không đồng nghĩa đúng đắn
Mục tiêu huấn luyện là sự tiếp nối hợp lý, không phải sự thật. Những góc cạnh sắc bén:
- Mô hình tạo ra những điều sai nhưng tự tin và diễn đạt chuẩn. Ảo giác là một thuộc tính của việc dự đoán token kế tiếp, không phải lỗi mà ai đó quên vá.
- Sự trôi chảy là tín hiệu sự thật rất kém: một câu trả lời sai đọc y hệt một câu đúng.
- Khả năng hiệu chỉnh lung lay. Hỏi "bạn tự tin đến đâu?" và bạn thường nhận một con số bịa ra.
- Sự kiện phổ biến đáng tin — chúng xuất hiện hàng triệu lần trong huấn luyện. Sự kiện đuôi dài suy biến êm ả thành hư cấu tự tin.
- Các mô hình có xu hướng dễ bảo: phản bác một câu trả lời đúng và nó có thể nhượng bộ. Tính đúng đắn và sự tự tin là hai trục khác nhau.
- Bắt đầu ra có thể kiểm chứng (JSON với các trường cần điền, trắc nghiệm) hiệu quả hơn là yêu cầu mô hình tự vấn.
Kiến thức bị đóng băng lúc huấn luyện
Mọi thứ mô hình biết đã được nướng vào khi nó được huấn luyện; có một ngày cắt điểm (cutoff), và chả bao nhiêu trò chuyện cũng không cập nhật được trọng số. Sự kiện mới đòi hỏi đưa văn bản vào ngữ cảnh (truy xuất) hoặc huấn luyện mới (xem huấn luyện). Mô hình cũng không thể trích dẫn nguồn gốc của một sự kiện — nó không có chỉ mục vào kho văn bản của mình, chỉ có tiếng vọng của kho văn bản trong trọng số.
Khả năng đến không đều
Quy mô không thêm kỹ năng một cách đều đặn:
- Dưới ~3B: tự hoàn thành, trích xuất, phân loại tốt; suy luận nhiều bước phần lớn thất bại.
- 7–9B: làm theo hướng dẫn đáng tin, code khá; số học và chuỗi dài vẫn lung lay.
- 30B+: lập kế hoạch, tinh tế, code khó hơn — đến muộn và khá đột ngột.
- MoE làm phức tạp bậc thang: hãy đánh giá theo tham số kích hoạt, không phải tổng.
Vì vậy "càng to càng tốt" đúng về trung bình và gây hiểu lầm trong chi tiết: một số tác vụ sớm đạt ngưỡng bão hòa, số khác chỉ bật muộn. Hãy benchmark trên tác vụ của bạn, không phải trên cảm giác (xem chọn mô hình).
Sản phẩm chính là vòng lặp được bọc lại
Khi bạn dùng bất kỳ sản phẩm LLM nào, đại khái điều này xảy ra:
- Văn bản của bạn được token hóa.
- System prompt, định nghĩa công cụ, tài liệu truy xuất và lịch sử chat được nối thành một prompt.
- Mô hình chạy vòng lặp trên và streaming token ra.
- Mã bọc phân tích đầu ra, gọi công cụ, đưa kết quả trở lại, và prompt tiếp.
- Giao diện dựng markdown và gọi đó là một cuộc hội thoại.
Các bước 1, 2, 4 và 5 không phải mô hình. Một khi bạn thấm nhuần rằng mô hình là một hàm văn-bản-vào / văn-bản-ra không trạng thái với một cửa sổ cố định, phần còn lại của cẩm nang này chỉ là sổ sách: cửa sổ lớn bao nhiêu (token), vòng lặp chạy nhanh cỡ nào (prefill vs decode), nó chạy ở đâu (tổng quan phần cứng), và cách điều khiển nó (prompting).
Liên quan: token · bên trong transformer · tham số · huấn luyện