Token là gì trong AI? Vì sao tiếng Việt tốn token hơn


Token là gì trong AI? Vì sao tiếng Việt tốn token hơn

Token là đơn vị nhỏ nhất mà mô hình AI dùng để đọc và viết — không phải chữ cái, cũng không hẳn là từ, mà là những mẩu văn bản được cắt sẵn theo một bảng từ điển riêng của model. Mọi thứ liên quan đến AI ngôn ngữ, từ giá tiền API, giới hạn độ dài hội thoại đến tốc độ trả lời, đều được tính bằng token chứ không phải bằng chữ.

Token thực ra là gì

Khi bạn gõ một câu vào ChatGPT hay Gemini, model không nhìn thấy câu đó như bạn thấy. Trước khi câu đi vào model, một bộ phận gọi là tokenizer cắt nó thành các mẩu nhỏ, mỗi mẩu tra trong bảng từ điển để đổi thành một con số. Model chỉ làm việc với dãy số đó. Khi trả lời, nó sinh ra từng con số một, mỗi số lại đổi ngược thành mẩu chữ, ghép lại thành câu bạn đọc được.

Mỗi mẩu đó chính là một token. Điểm dễ gây hiểu nhầm: token không trùng với từ. Với tiếng Anh, một từ thông dụng như "the" hay "computer" thường là một token. Nhưng một từ hiếm hoặc dài có thể bị cắt thành hai ba mẩu, ví dụ "unbelievable" có thể thành "un" + "believ" + "able". Dấu cách, dấu chấm, xuống dòng cũng đều tốn token. Số điện thoại mười chữ số có thể tốn nhiều token hơn cả một câu ngắn.

Bảng từ điển này do bên làm model quyết định lúc huấn luyện, mỗi model một bảng riêng. Vì thế cùng một đoạn văn đưa vào hai model sẽ ra số token khác nhau.

Nếu bạn chưa rõ model ngôn ngữ vận hành ra sao, bài LLM là gì giải thích phần đó; bài này chỉ tập trung vào đơn vị đo.

Vì sao tiếng Việt tốn token hơn tiếng Anh

Đây là chuyện người dùng Việt Nam nên biết nhất, vì nó ảnh hưởng trực tiếp đến túi tiền và trải nghiệm.

Bảng từ điển của hầu hết model được xây trên dữ liệu mà tiếng Anh chiếm phần lớn. Thuật toán tạo bảng ưu tiên gộp các chuỗi ký tự xuất hiện nhiều thành một token duy nhất. Tiếng Anh xuất hiện nhiều, nên từ tiếng Anh thông dụng được gộp gọn. Tiếng Việt xuất hiện ít hơn nhiều, nên không được ưu ái như vậy.

Cộng thêm hai đặc điểm riêng của tiếng Việt:

  • Dấu thanh và chữ có mũ. Các chữ như "ế", "ộ", "ữ" được lưu bằng nhiều byte hơn chữ Latin thường. Nếu tokenizer không có sẵn mục cho chữ đó, nó phải cắt xuống mức byte, tức một chữ cái có thể tốn hai ba token.
  • Từ ghép viết rời. "Máy tính xách tay" là bốn tiếng cách nhau bằng dấu cách, trong khi "laptop" là một từ. Mỗi tiếng ít nhất một token, chưa kể dấu cách.

Kết quả thực tế: cùng một nội dung, bản tiếng Việt thường tốn gấp rưỡi đến gấp đôi, có khi hơn số token so với bản tiếng Anh, tuỳ model. Hệ quả: bạn trả tiền API nhiều hơn cho cùng lượng thông tin, hội thoại tiếng Việt "đầy" bộ nhớ nhanh hơn, và model sinh câu tiếng Việt chậm hơn một chút.

Token quyết định giá tiền và giới hạn ngữ cảnh

Về giá. Các dịch vụ API tính tiền theo số token, và tách riêng hai chiều: token bạn gửi vào (input) và token model sinh ra (output). Output gần như luôn đắt hơn input, thường gấp vài lần. Nên một prompt dài mà câu trả lời ngắn thường rẻ hơn prompt ngắn mà yêu cầu viết bài dài. Con số cụ thể thay đổi liên tục giữa các model và nhà cung cấp, nên hãy xem bảng giá hiện hành thay vì tin bất kỳ con số nào trong bài viết cũ.

Về giới hạn ngữ cảnh. Mỗi model có một cửa sổ ngữ cảnh (context window): tổng số token nó có thể "nhìn" cùng lúc, gồm cả prompt hệ thống, toàn bộ lịch sử hội thoại, tài liệu bạn dán vào, và câu trả lời sắp sinh. Vượt quá là model bắt đầu quên phần đầu, hoặc dịch vụ từ chối xử lý. Vì thế chat quá dài, AI đột nhiên "quên" điều bạn dặn từ đầu.

Bảng dưới liệt kê những gì âm thầm ngốn token mà người dùng ít để ý:

Thành phần Có tính token không Ghi chú
Câu hỏi bạn gõ Có (input) Phần dễ thấy nhất
Câu trả lời của AI Có (output) Đắt nhất, tính theo giá output
Lịch sử hội thoại Có (input), gửi lại mỗi lượt Càng chat lâu, mỗi lượt càng tốn
Prompt hệ thống, hướng dẫn ẩn Có (input) Người dùng app thường không thấy
Tài liệu, ảnh, file dán vào Ảnh cũng quy đổi ra token
Chuỗi suy nghĩ của model suy luận Có (output) Lý do model suy luận đắt hơn

Dòng "lịch sử hội thoại" đáng chú ý nhất: mỗi lần bạn gửi thêm một câu, toàn bộ cuộc trò chuyện từ đầu được gửi lại cùng, nên lượt sau luôn đắt hơn lượt trước.

Cách ước lượng token

Không cần công cụ, bạn vẫn ước chừng đủ dùng:

  • Tiếng Anh: khoảng 3 đến 4 ký tự một token, hay khoảng 3 token cho 4 từ. Một trang A4 chữ thường rơi vào vài trăm token.
  • Tiếng Việt: an toàn thì tính mỗi tiếng (âm tiết) từ một đến hai token, cộng thêm cho dấu câu. Một đoạn 100 tiếng dễ thành 150 đến 200 token.
  • Code, JSON, bảng số liệu: tốn hơn văn xuôi rất nhiều vì đầy ký tự đặc biệt, thụt đầu dòng và dấu ngoặc.

Muốn số chính xác, hầu hết nhà cung cấp API có công cụ đếm token trực tuyến hoặc hàm đếm trong thư viện lập trình.

Mẹo viết prompt tiết kiệm token

Prompt gọn không chỉ rẻ hơn mà thường cho kết quả tốt hơn: model ít bị nhiễu, ít quên yêu cầu chính.

  1. Bỏ lời rào đón. "Xin chào, tôi có một câu hỏi nhỏ, không biết bạn có thể giúp tôi không" tốn token mà không thêm thông tin. Vào thẳng việc.
  2. Mở hội thoại mới khi đổi chủ đề. Kéo dài một cuộc chat cho mọi việc khiến lịch sử phình to, vừa tốn vừa làm model lẫn lộn giữa các yêu cầu cũ.
  3. Dán đúng phần cần thiết. Muốn AI sửa một đoạn trong tài liệu 20 trang thì dán đoạn đó, không dán cả 20 trang.
  4. Yêu cầu độ dài đầu ra. "Trả lời trong 3 gạch đầu dòng" rẻ hơn hẳn để model tự do viết một bài luận. Output đắt hơn input, nên kiểm soát output là nơi tiết kiệm nhiều nhất.
  5. Với việc lặp lại qua API, viết hướng dẫn một lần thật gọn và cân nhắc tính năng cache prompt nếu nhà cung cấp hỗ trợ.

Cách cấu trúc một prompt cho hiệu quả nói chung có ở bài Prompt là gì.

Dùng ở Việt Nam thế nào

Người dùng bản chat miễn phí gần như không cần bận tâm đến token, trừ một điểm: giới hạn độ dài hội thoại. Nếu bạn hay dán tài liệu dài tiếng Việt vào để hỏi, hãy nhớ bản tiếng Việt chiếm chỗ nhiều hơn bản tiếng Anh cùng nội dung, nên tài liệu "vừa" khi thử bằng tiếng Anh có thể "tràn" khi làm bằng tiếng Việt. Chia nhỏ tài liệu là cách xử lý đơn giản nhất.

Lập trình viên và doanh nghiệp gọi API là nhóm cần tính toán nghiêm túc. Hai việc nên làm trước khi ra sản phẩm: đo thử số token thực tế của các mẫu văn bản tiếng Việt bạn sẽ xử lý, đừng ước lượng bằng tiếng Anh; và so sánh tokenizer giữa vài model, vì chênh lệch tiếng Việt giữa các model có thể lớn hơn chênh lệch giá niêm yết. Một model rẻ hơn trên bảng giá nhưng cắt tiếng Việt kém có khi tốn tiền hơn model đắt.

Người viết nội dung có thể tận dụng theo hướng ngược: với tài liệu rất dài, yêu cầu AI tóm tắt bằng tiếng Anh trước rồi mới dịch sang tiếng Việt đôi khi ít tốn chỗ hơn. Cách chọn công cụ hợp tiếng Việt có ở bài bài ChatGPT tiếng Việt trên trang này.

Câu hỏi thường gặp

Một token bằng bao nhiêu chữ?

Không có con số cố định. Với tiếng Anh, quy tắc thô là khoảng 4 ký tự hoặc ba phần tư một từ. Với tiếng Việt, mỗi tiếng thường tốn một đến hai token, thậm chí hơn nếu model cắt tiếng Việt kém. Muốn chính xác thì dùng công cụ đếm của chính model đó.

Vì sao tôi bị tính tiền cả phần AI trả lời?

Vì model phải sinh từng token một, và đó là phần tốn tài nguyên tính toán nhất. Các nhà cung cấp tách giá input và output, với output đắt hơn. Muốn giảm chi phí, hãy giới hạn độ dài câu trả lời thay vì chỉ rút ngắn câu hỏi.

Cửa sổ ngữ cảnh lớn có nghĩa là AI nhớ mãi không?

Không. Cửa sổ ngữ cảnh là lượng chữ model nhìn được trong một lần xử lý, không phải bộ nhớ dài hạn. Hết cuộc hội thoại là hết, và ngay trong cuộc hội thoại, nếu vượt cửa sổ thì phần đầu bị cắt bỏ. Muốn AI "nhớ" tài liệu lâu dài thì cần cách khác, xem RAG là gì.

Ảnh và file cũng tính token à?

Có. Ảnh được quy đổi thành một lượng token tuỳ kích thước và cách model xử lý; file PDF thường được trích chữ rồi đếm như văn bản. Vì thế dán một ảnh chụp trang tài liệu có khi tốn hơn dán chính đoạn chữ đó.

Tiếng Việt có bao giờ hết bị thiệt về token không?

Khoảng cách đang thu hẹp vì các model mới dùng bảng từ điển lớn hơn, huấn luyện đa ngôn ngữ hơn. Nhưng chừng nào tiếng Anh vẫn áp đảo trong dữ liệu huấn luyện, tiếng Việt vẫn tốn hơn một chút. Hãy đo thử với model bạn định dùng.