Token

Đơn vị nhỏ nhất của xử lý văn bản. LLM sử dụng sơ đồ tokenization riêng khác với ký tự hoặc từ.

Token là đơn vị nhỏ nhất để xử lý văn bản. Trong xử lý ngôn ngữ tự nhiên (NLP) và mô hình ngôn ngữ lớn (LLM), văn bản được tách thành token (tokenize) trước khi xử lý. Token là đơn vị riêng biệt khác với cả ký tự và từ, với phương pháp phân đoạn thay đổi theo ngôn ngữ và mô hình. Với sự phổ biến của LLM, khái niệm token đã trở nên được biết đến rộng rãi không chỉ trong giới lập trình viên mà cả người dùng phổ thông.

Tokenizer được sử dụng trong LLM như ChatGPT (BPE: Byte Pair Encoding) học các mẫu chuỗi thường xuất hiện như token đơn. Trong tiếng Anh, một token tương ứng với khoảng 4 ký tự (khoảng 0,75 từ): "Hello" là 1 token, trong khi "indistinguishable" tách thành 4 token. Trong tiếng Nhật, một token tương ứng với khoảng 1-3 ký tự, với hiragana và katakana thường là 1-2 ký tự mỗi token và kanji thường là 1 ký tự mỗi token. Cửa sổ ngữ cảnh của GPT-4o là 128K token, tương đương khoảng 96.000 từ tiếng Anh hoặc 64.000-128.000 ký tự tiếng Nhật.

Giá API được tính dựa trên số token, khiến quản lý token liên quan trực tiếp đến kiểm soát chi phí. API của OpenAI tính phí riêng cho token đầu vào và đầu ra, và tối ưu hóa prompt (loại bỏ ngữ cảnh không cần thiết, viết hướng dẫn ngắn gọn) là chìa khóa giảm chi phí. Thư viện tiktoken cho phép tính trước số token trước khi gọi API, ngăn tràn cửa sổ ngữ cảnh.

Tiếng Nhật có xu hướng hiệu quả token thấp hơn so với tiếng Anh. Cùng ý nghĩa diễn đạt bằng tiếng Nhật tiêu thụ nhiều token hơn tiếng Anh, vì dữ liệu huấn luyện tokenizer BPE chứa chủ yếu văn bản tiếng Anh. Ví dụ, câu tiếng Nhật cho "Tokyo là thủ đô của Nhật Bản" sử dụng khoảng 8-10 token, trong khi phiên bản tiếng Anh sử dụng khoảng 7 token. Sự khác biệt này trở nên đáng kể về chi phí khi xử lý khối lượng lớn văn bản.

Khái niệm token được sử dụng ngoài LLM. Trong trình biên dịch ngôn ngữ lập trình, mã nguồn được tách thành token qua phân tích từ vựng. Trong ngữ cảnh này, token là các phần tử cú pháp như từ khóa, định danh, toán tử và literal. Trong xác thực, cấu trúc dữ liệu chứa thông tin xác thực được gọi là token, như trong JWT (JSON Web Token). Vì ý nghĩa của "token" thay đổi theo lĩnh vực, làm rõ ngữ cảnh là quan trọng.

Từ góc độ đếm ký tự, số token và số ký tự là các chỉ số khác nhau. Số ký tự biểu diễn đơn vị con người nhận biết trực quan, trong khi số token biểu diễn đơn vị mô hình xử lý. Trong sử dụng LLM thực tế, cả giới hạn ký tự (như giới hạn bài đăng mạng xã hội) và giới hạn token (cửa sổ ngữ cảnh API) đều phải được xem xét. Thêm ước tính số token vào công cụ đếm ký tự có thể nâng cao đáng kể sự tiện lợi cho người dùng.

Chia sẻ bài viết này