Tokenizer là bộ phận chia văn bản thành các đơn vị nhỏ gọi là token (có thể là một từ, một phần của từ, dấu câu hoặc vài byte) và gán cho mỗi token một mã số để mô hình AI xử lý. Tiếng Việt thường tốn nhiều token hơn tiếng Anh vì bộ từ vựng của tokenizer được xây chủ yếu từ dữ liệu tiếng Anh, còn chữ có dấu như “ượ”, “ễ” bị mã hóa nhiều byte và hay bị cắt vụn. Hệ quả là chi phí API cao hơn, cửa sổ ngữ cảnh đầy nhanh hơn. Mức chênh khác nhau giữa các mô hình, nên hãy đo bằng công cụ đếm token chính thức.
Tokenizer là gì và nằm ở đâu trong một mô hình AI
Tokenizer là chương trình đứng trước mô hình ngôn ngữ, làm nhiệm vụ “dịch” chữ thành dãy số. Mô hình AI không đọc chữ như con người; nó chỉ nhận vào các số nguyên, mỗi số ứng với một mục trong bộ từ vựng cố định (vocabulary), thường có từ vài chục nghìn đến vài trăm nghìn mục.
Quy trình gồm ba bước:
- Chuẩn hóa: thống nhất cách mã hóa ký tự, khoảng trắng.
- Cắt mảnh: tách văn bản thành token theo quy tắc đã học.
- Ánh xạ: đổi mỗi token thành mã số. Khi mô hình trả lời, quá trình chạy ngược để ra chữ.
Mỗi họ mô hình có tokenizer riêng. Cùng một câu, GPT, Claude, Gemini hay Qwen có thể đếm ra số token khác nhau. Đây là lý do bạn không nên lấy công cụ đếm của nhà cung cấp này để ước tính chi phí cho nhà cung cấp khác. Bài token trong AI là gì giải thích token ở góc độ tính phí; bài này đi sâu vào bộ cắt chữ phía sau.
Tokenizer cắt chữ theo nguyên tắc nào
Các tokenizer hiện đại phần lớn dùng thuật toán học từ dữ liệu, phổ biến nhất là BPE (Byte Pair Encoding), ngoài ra có WordPiece và Unigram (thường triển khai qua thư viện SentencePiece).
Cách BPE hoạt động, rút gọn
- Bắt đầu với bảng ký tự hoặc byte đơn lẻ.
- Đếm xem cặp mảnh nào đứng cạnh nhau thường xuyên nhất trong dữ liệu huấn luyện.
- Ghép cặp đó thành một token mới và thêm vào từ vựng.
- Lặp lại cho tới khi đạt kích thước từ vựng mong muốn.
Kết quả: chuỗi xuất hiện nhiều, như “the”, “ing”, “http”, trở thành một token duy nhất. Chuỗi hiếm bị cắt thành nhiều mảnh nhỏ, thậm chí từng byte. Nhờ dùng byte làm nền, tokenizer không bao giờ gặp ký tự “lạ” không mã hóa được, nhưng cái giá là văn bản hiếm tốn nhiều token.
Hiểu nguyên tắc “phổ biến thì gọn, hiếm thì vụn” là chìa khóa để hiểu vì sao tiếng Việt, tên riêng, mã sản phẩm hay chuỗi số dài thường tốn token.
Vì sao tiếng Việt tốn nhiều token hơn tiếng Anh
Có bốn nguyên nhân chồng lên nhau:
- Tỷ lệ dữ liệu: tiếng Anh chiếm phần lớn dữ liệu xây từ vựng, nên nhiều từ tiếng Anh trọn vẹn là một token. Tiếng Việt ít dữ liệu hơn, ít âm tiết được ghép sẵn.
- Ký tự có dấu nhiều byte: trong UTF-8, chữ cái Latin cơ bản chiếm 1 byte, còn “ư”, “ơ”, “ễ”, “ặ” chiếm 2–3 byte. Nếu tokenizer chưa học cụm đó, nó phải ghép từ byte rời.
- Âm tiết tách rời: tiếng Việt viết mỗi âm tiết cách nhau một khoảng trắng, “máy tính xách tay” là bốn âm tiết, trong khi “laptop” có thể chỉ một token.
- Chuẩn hóa Unicode: cùng chữ “ế” có thể gõ dạng dựng sẵn hoặc tổ hợp (chữ e + dấu). Dạng tổ hợp thường tốn token hơn và đôi khi làm tìm kiếm sai.
Mức chênh lệch không cố định. Các tokenizer thế hệ mới có từ vựng lớn hơn và đa ngôn ngữ hơn đã thu hẹp khoảng cách đáng kể, một số mô hình phát triển tại châu Á xử lý tiếng Việt khá gọn. Cách duy nhất để biết chính xác là đếm thử trên văn bản thật của bạn.
Ví dụ minh họa: cùng một nội dung, hai ngôn ngữ
Bảng dưới minh họa cách một tokenizer thiên về tiếng Anh có thể cắt chữ. Đây là ví dụ mang tính khái niệm; cách cắt thật phụ thuộc từng mô hình và phiên bản.
Bài học thực tế: khi lập dự toán chi phí cho chatbot chăm sóc khách hàng tiếng Việt, đừng lấy con số ước tính viết cho tiếng Anh. Hãy lấy 50–100 hội thoại thật, đếm token bằng công cụ của nhà cung cấp, rồi nhân lên theo số hội thoại dự kiến.
| Văn bản | Cách cắt có thể xảy ra | Nhận xét |
|---|---|---|
| computer | computer | Từ tiếng Anh phổ biến, thường là 1 token |
| máy tính | m | áy | t | ính | Âm tiết có dấu có thể bị tách nhiều mảnh |
| Nguyễn | Ng | uy | ễ | n | Tên riêng có dấu dễ bị cắt vụn |
| SKU-2024-HCM-0581 | SK | U | – | 202 | 4 | … | Mã sản phẩm, số dài tốn nhiều token |
| khách hàng | khách | hàng | Cụm phổ biến có thể được ghép gọn ở tokenizer đa ngôn ngữ |
Tokenizer ảnh hưởng gì đến chi phí, tốc độ và chất lượng
Số token không chỉ là chuyện hóa đơn. Nó tác động đến bốn mặt của một ứng dụng AI:
- Chi phí API: phần lớn nhà cung cấp tính phí theo token đầu vào và đầu ra. Nhiều token hơn cho cùng nội dung nghĩa là chi phí mỗi hội thoại cao hơn.
- Cửa sổ ngữ cảnh: giới hạn ngữ cảnh tính bằng token. Một hợp đồng tiếng Việt 30 trang có thể chiếm phần ngữ cảnh lớn hơn bản tiếng Anh tương đương, để lại ít chỗ cho câu hỏi và tài liệu khác.
- Tốc độ: mô hình sinh từng token một. Câu trả lời tiếng Việt cùng độ dài nội dung có thể cần nhiều bước sinh hơn, nên lâu hơn.
- Chất lượng: khi một từ bị cắt vụn, mô hình phải “ghép nghĩa” từ mảnh nhỏ. Mô hình mạnh xử lý tốt, nhưng mô hình nhỏ chạy cục bộ dễ sai chính tả, mất dấu hoặc trộn từ.
Với hệ thống RAG đọc tài liệu nội bộ, tokenizer còn ảnh hưởng tới cách chia đoạn (chunking): kích thước đoạn nên tính theo token của mô hình embedding, không phải theo số ký tự.
Cách đếm token tiếng Việt chính xác
Đừng ước lượng bằng quy tắc “1 token bằng 4 ký tự” vốn dành cho tiếng Anh. Làm theo các bước sau:
- Chuẩn bị mẫu văn bản thật: email khách hàng, mô tả sản phẩm, đoạn hợp đồng.
- Chuẩn hóa Unicode về dạng dựng sẵn (NFC) để tránh token thừa.
- Dùng công cụ đếm token của đúng nhà cung cấp: trang tokenizer của OpenAI, hàm đếm token trong API của Anthropic hoặc Google, hoặc thư viện tokenizer trên Hugging Face cho mô hình mở.
- Ghi lại tỷ lệ token trên số từ cho từng loại văn bản.
- Nhân tỷ lệ đó với khối lượng dự kiến mỗi tháng để ra dự toán.
Người không chuyên có thể nhờ đội IT viết một đoạn script Python nhỏ dùng thư viện tiktoken hoặc transformers để đếm hàng loạt file. Kết quả nên ghi vào bảng tính để so sánh nhiều mô hình trước khi chọn.
Mẹo giảm số token khi dùng AI bằng tiếng Việt
Bạn không đổi được tokenizer, nhưng có thể giảm token lãng phí:
- Viết prompt hệ thống gọn: bỏ câu xã giao, lặp ý. Prompt hệ thống được gửi kèm mọi lượt hỏi nên mỗi chữ thừa nhân lên hàng nghìn lần.
- Chuẩn hóa NFC cho dữ liệu đưa vào, đặc biệt văn bản copy từ PDF hoặc phần mềm cũ.
- Bỏ định dạng thừa: HTML, khoảng trắng, bảng kẻ ký tự trong email đều tốn token.
- Tóm tắt lịch sử hội thoại thay vì gửi toàn bộ.
- Dùng prompt caching nếu nhà cung cấp hỗ trợ, cho phần ngữ cảnh lặp lại.
- Giới hạn độ dài trả lời: yêu cầu “trả lời tối đa 5 gạch đầu dòng”.
Khi nào không nên cố tiết kiệm
Đừng dịch prompt sang tiếng Anh chỉ để tiết kiệm token nếu điều đó làm câu trả lời tiếng Việt kém tự nhiên, sai thuật ngữ ngành. Với nghiệp vụ kế toán, pháp lý, độ chính xác quan trọng hơn vài phần trăm chi phí.
Lỗi thường gặp liên quan đến tokenizer
Một số lỗi doanh nghiệp hay gặp khi triển khai AI tiếng Việt mà nguyên nhân gốc là tokenizer:
- Câu trả lời bị cắt ngang: đặt giới hạn số token đầu ra quá thấp, quên rằng tiếng Việt cần nhiều token hơn.
- Dự toán chi phí sai lệch lớn: ước tính theo số từ tiếng Anh.
- Mô hình nhỏ chạy cục bộ viết sai dấu: tokenizer và dữ liệu huấn luyện ít tiếng Việt; nên thử mô hình đa ngôn ngữ tốt hơn hoặc mô hình lớn hơn.
- Tìm kiếm trong RAG trượt: tài liệu và câu hỏi dùng hai dạng Unicode khác nhau.
- Vượt cửa sổ ngữ cảnh khi đưa cả file Excel xuất ra dạng văn bản vào prompt.
Mỗi lỗi trên đều phát hiện được sớm nếu bạn chạy thử với dữ liệu thật và đọc số token trong phản hồi API.
Trước khi chốt mô hình cho chatbot tiếng Việt, hãy lấy 100 tin nhắn thật của khách, đếm token trên hai ba mô hình ứng viên; con số đó cho dự toán sát hơn mọi bảng ước lượng chung.
Muốn đưa AI vào công việc của doanh nghiệp? PCTech tư vấn, đánh giá mức sẵn sàng AI và triển khai chatbot, AI agent, tự động hóa cho doanh nghiệp.
10 câu hỏi, 2 phút, nhận mức độ và việc nên làm tiếp theo. Dùng thử ngay
Câu hỏi thường gặp
1 token tiếng Việt bằng bao nhiêu chữ?
Không có tỷ lệ cố định. Tùy tokenizer, một âm tiết tiếng Việt có thể là một token hoặc bị cắt thành vài token. Hãy đếm trên văn bản thật bằng công cụ của nhà cung cấp.
Viết tiếng Việt không dấu có tiết kiệm token không?
Thường là ít token hơn, nhưng mô hình dễ hiểu sai nghĩa và câu trả lời kém tự nhiên. Không nên dùng cho nội dung gửi khách hay tài liệu chính thức.
Tokenizer có giống nhau giữa ChatGPT, Claude và Gemini không?
Không. Mỗi họ mô hình dùng tokenizer và từ vựng riêng, nên cùng một văn bản sẽ có số token khác nhau.
Có thể thay tokenizer cho mô hình không?
Với mô hình đã huấn luyện thì gần như không, vì mô hình học gắn với từ vựng cụ thể. Muốn tokenizer tốt hơn cho tiếng Việt, bạn chọn mô hình khác.
Vì sao chatbot tiếng Việt của tôi trả lời bị cụt giữa câu?
Thường do giới hạn max tokens cho đầu ra quá thấp. Tăng giới hạn hoặc yêu cầu trả lời ngắn gọn hơn.
Tokenizer có ảnh hưởng tới AI tạo ảnh không?
Có, prompt cho mô hình tạo ảnh cũng đi qua bộ mã hóa văn bản có tokenizer riêng, thường giới hạn độ dài. Prompt quá dài có thể bị cắt bớt phần cuối.
Bài viết liên quan
- Token trong AI là gì? Vì sao AI tính phí theo token
- Context window (cửa sổ ngữ cảnh) là gì? Ảnh hưởng gì khi dùng AI
- Tiếng Việt và AI: các lỗi thường gặp và cách khắc phục
- Ước tính chi phí API AI: cách tính token và kiểm soát ngân sách
- Prompt caching là gì? Cách giảm chi phí và độ trễ API AI
- Chunking là gì? Cách chia tài liệu cho RAG trả lời chính xác
- LLM là gì? Giải thích cho người không chuyên