Giải thích về Tokenization: Từ Tokens đến Outputs
Bởi Wendy Frey
Trước khi một mô hình ngôn ngữ lớn có thể tạo ra bất cứ điều gì hữu ích, nó phải thực hiện một điều gì đó đơn giản hơn trước: tách văn bản của bạn thành từng phần.
Quá trình này được gọi là tokenization, và đó là một trong những phần quan trọng nhất, và thường bị bỏ qua, trong cách mà các hệ thống AI hiện đại hoạt động.
Hầu hết mọi người nghĩ rằng các mô hình đọc từ. Chúng không phải như vậy.
Chúng đọc tokens: các khối văn bản nhỏ có thể đại diện cho từ đầy đủ, phần của từ, dấu câu, khoảng trắng, hoặc thậm chí các ký hiệu riêng lẻ. Những token này sau đó được chuyển đổi thành các ID số mà mô hình có thể xử lý nội bộ.
Hiểu về tokenization giúp giải thích nhiều điều:
- tại sao các prompt phải trả phí
- tại sao các cửa sổ ngữ cảnh có giới hạn
- tại sao một số ngôn ngữ đắt hơn những ngôn ngữ khác
- tại sao các mô hình đôi khi hành xử theo những cách kỳ lạ
Tokenization nằm ở đầu tiên trong quy trình AI, và nó âm thầm định hình mọi thứ xảy ra tiếp theo.
Token là gì?
token là đơn vị văn bản nhỏ nhất mà mô hình làm việc với.
Nó không phải lúc nào cũng giống với một từ.
Ví dụ:
| Văn bản | Phân tách token có thể |
|---|---|
| hello | hello |
| tokenization | token + ization |
| unbelievable | un + believ + able |
| 2026! | 202 + 6 +! |
Điều này quan trọng vì các mô hình đếm tokens, không phải từ.
Một câu nhìn ngắn có thể sử dụng nhiều tokens hơn mong đợi, đặc biệt với những từ không phổ biến, mã, emoji, hoặc ngôn ngữ không phải tiếng Anh.
Cách tokenization hoạt động
Ở cấp độ cao, tokenization theo một quy trình đơn giản.
Bước 1: Tách văn bản
Bộ phân tách (tokenizer) chia văn bản thô thành các khối dựa trên quy tắc từ vựng của nó.
Các LLM hiện đại thường dựa vào subword tokenization, không phải tokenization theo từ đầy đủ.
Điều này mang lại cho chúng khả năng linh hoạt để xử lý:
- từ hiếm
- lỗi chính tả
- tên
- đầu vào đa ngôn ngữ
- mã
Bước 2: Chuyển đổi tokens thành ID
Mỗi token ánh xạ tới một số bên trong từ vựng của mô hình.
Ví dụ:
| Token | Token ID |
|---|---|
| The | 791 |
| model | 4382 |
| works | 2921 |
Mô hình không bao giờ “thấy” văn bản trực tiếp. Nó chỉ thấy những đại diện số này.
Đó là cầu nối giữa ngôn ngữ con người và tính toán thần kinh.
Bước 3: Chuyển đổi ID thành nhúng (embeddings)
Sau khi các ID token được tạo ra, chúng sẽ được chuyển thành các vector embeddings.
Đây là lúc ý nghĩa bắt đầu xuất hiện.
Tại thời điểm này:
- các token tương tự có thể chiếm các vị trí gần nhau trong không gian vector
- các mối quan hệ giữa các khái niệm trở nên có thể đo lường được
- ngữ cảnh bắt đầu trở nên quan trọng
Tokenization đưa dữ liệu vào hệ thống. Embeddings làm cho nó có thể diễn giải được.
Tại sao subword tokenization trở thành tiêu chuẩn
Các hệ thống NLP cũ thường tách văn bản theo từ.
Điều đó đã hoạt động, cho đến khi họ gặp những từ mà họ chưa bao giờ thấy trước đó.
Các LLM hiện đại thường sử dụng các phương pháp như Byte Pair Encoding (BPE) hoặc các chiến lược subword tương tự.
BPE hoạt động bằng cách lặp đi lặp lại việc hợp nhất các mẫu ký tự phổ biến thành các đơn vị có thể tái sử dụng. Điều này cải thiện khả năng nén và hiệu quả từ vựng.
Tại sao các mô hình subword lại tốt hơn
| Phương pháp | Vấn đề chính |
|---|---|
| Cấp độ từ | Quá nhiều từ không xác định |
| Cấp độ ký tự | Quá chậm, quá dài |
| Cấp độ subword | Cân bằng tốt nhất giữa tính linh hoạt và hiệu quả |
Đó là lý do tại sao hầu hết các mô hình hiện đại sử dụng một phiên bản của subword tokenization.
Tại sao tokenization ảnh hưởng đến chi phí
Đây là nơi tokenization trở nên thực tế.
Hầu hết các API AI tính phí dựa trên:
- tokens đầu vào
- tokens đầu ra
Điều đó có nghĩa là tokenization ảnh hưởng trực tiếp đến giá cả.
Ví dụ:
| Loại đầu vào | Mật độ token gần đúng |
|---|---|
| Tiếng Anh đơn giản | Thấp |
| Mã | Trung bình, cao |
| Văn bản pháp luật | Cao |
| Tiếng Trung/Nhật | Thường cao hơn |
| Văn bản có nhiều emoji | Ngạc nhiên cao |
Hai prompt có cùng số ký tự có thể có số lượng token rất khác nhau.
Đây là một trong những yếu tố chi phí ẩn phổ biến nhất trong các hệ thống AI sản xuất.
Tại sao tokenization ảnh hưởng đến hành vi của mô hình
Tokenization cũng giải thích nhiều hành vi “kỳ lạ” của mô hình.
Ví dụ:
- tại sao các mô hình gặp khó khăn với việc đếm ký tự
- tại sao các từ hiếm lại hành xử không thể đoán trước
- tại sao các thay đổi định dạng có thể ảnh hưởng đến đầu ra
- tại sao thứ tự prompt lại quan trọng
Một mô hình không nghĩ theo các chữ cái hoặc ngữ pháp như con người. Nó dự đoán các chuỗi token.
Sự khác biệt đó tạo ra nhiều thói quen kỳ lạ mà người dùng nhận thấy.
Các thảo luận trong cộng đồng thường chỉ ra cấu trúc token như một lý do mà các mô hình không thành công trong lý luận cấp độ ký tự.
Tokens trở thành outputs
Khi đầu vào được tokenized:
- Tokens đi vào transformer
- Mô hình dự đoán token tiếp theo
- Token đó được ghép thêm
- Quá trình lặp lại
Điều này tiếp tục cho đến khi:
- một token dừng lại xuất hiện
- giới hạn token được đạt đến
- hệ thống ngắt quãng việc tạo ra
Điều này có nghĩa là sự tạo ra của AI về cơ bản là một vòng lặp dự đoán từng token một, không phải lý luận cấp độ câu.
Kết luận cuối cùng
Tokenization có vẻ như là một chi tiết kỹ thuật nhỏ, nhưng nó định hình hầu hết mọi thứ trong các hệ thống LLM hiện đại.
Nó ảnh hưởng đến:
- chi phí
- tốc độ
- giới hạn ngữ cảnh
- hiệu suất đa ngôn ngữ
- hành vi của mô hình
- chất lượng đầu ra
Nếu bạn đang xây dựng với AI, việc hiểu về tokenization sẽ giúp bạn có được trực giác tốt hơn về lý do mà các hệ thống hành xử như chúng hiện tại.
Trước khi có nhúng, transformers, hoặc đầu ra, có các tokens.
Và mọi thứ bắt đầu từ đó.
Việc thiết kế prompt cẩn thận, lựa chọn từ vựng, và ngân sách token giúp đảm bảo việc sử dụng token và số lượng token của bạn phù hợp với mục tiêu chi phí và chất lượng của bạn. Phần thưởng là ít hoàn thành bất ngờ hơn, chi phí API thấp hơn, và các mô hình mà hiểu rõ hơn cách mà người dùng của bạn viết.




