Tokenization
Quá trình tách văn bản thành các token (từ, từ phụ hoặc các đơn vị xử lý khác).
Tokenization là quá trình tách văn bản thành token, đơn vị xử lý cơ bản. Đây là bước tiền xử lý thiết yếu cho xử lý ngôn ngữ tự nhiên (NLP) và mô hình ngôn ngữ lớn (LLM), trong đó độ chi tiết và phương pháp tách ảnh hưởng đáng kể đến độ chính xác xử lý tiếp theo. Đơn vị token có thể là từ, từ phụ, ký tự hoặc byte tùy thuộc vào mục đích, và cùng một văn bản có thể cho kết quả khác nhau tùy thuộc vào tokenizer được sử dụng.
Tokenization tiếng Nhật phức tạp hơn đáng kể so với tiếng Anh. Vì tiếng Nhật không có khoảng trắng giữa các từ, cần bộ phân tích hình thái (MeCab, Sudachi, Janome, v.v.) để ước tính ranh giới từ. Đối với LLM, tokenizer từ phụ không phụ thuộc ngôn ngữ như SentencePiece thường được sử dụng, tách kanji và hiragana tiếng Nhật thành các từ phụ chi tiết. Ví dụ, "東京都" có thể được tách thành "東京" + "都" hoặc "東" + "京" + "都" tùy thuộc vào kích thước từ vựng của tokenizer.
Trong thực tế, tokenization đặc biệt quan trọng cho quản lý chi phí sử dụng LLM. API cho ChatGPT, Claude và các dịch vụ tương tự tính phí dựa trên số token đầu vào/đầu ra, vì vậy prompt có ít token hơn tốn ít chi phí hơn cho cùng nội dung. Tiếng Nhật có xu hướng kém hiệu quả token hơn tiếng Anh (cùng ý nghĩa cần nhiều token hơn), với một ký tự tiếng Nhật đôi khi tách thành 1 đến 3 token. Điều này khiến thiết kế prompt ngắn gọn trở nên quan trọng khi làm việc với văn bản tiếng Nhật.
Một quan niệm sai lầm phổ biến là đánh đồng số ký tự với số token. Thực tế, từ tiếng Anh thường ánh xạ thành 1-2 token, trong khi ký tự tiếng Nhật có thể trở thành nhiều token, vì vậy số ký tự và số token không khớp. Ngoài ra, tokenizer khác nhau giữa các mô hình, nghĩa là cùng văn bản tạo ra số token khác nhau trong GPT-4 so với Claude. Đếm token chính xác yêu cầu sử dụng tokenizer chuyên dụng của mỗi mô hình.
Về đếm ký tự, "độ dài" văn bản được đo bằng ba thang đo trong thực tế: số ký tự, số byte và số token. Giới hạn bài đăng mạng xã hội sử dụng số ký tự, kích thước cột cơ sở dữ liệu sử dụng số byte, và giới hạn đầu vào/đầu ra LLM sử dụng số token. Thêm ước tính token vào công cụ đếm ký tự giúp người dùng LLM xác minh trước độ dài prompt và tối ưu hóa chi phí sử dụng API.