Tokenization trong LLM (Large Language Model) là quá trình chuyển đổi văn bản đầu vào thành các đơn vị nhỏ hơn gọi là token để mô hình có thể xử lý.
🔍 Giải thích hình ảnh:
🤖 Vai trò của Tokenization trong LLM
🧠 Ghi nhớ:

🔍 Giải thích hình ảnh:
- Input (Chuỗi gốc)
Văn bản ban đầu là:
"Introduction to LLM" - Tokenization (Phân tách từ)
Văn bản được chia thành các token:
['Introduction', 'to', 'LL', '##M']Lưu ý: token '##M' là một phần của từ “LLM”, cho thấy đây là một ví dụ về subword tokenization — kỹ thuật chia từ thành các phần nhỏ hơn. - Chuyển sang số (IDs)
Các token sau đó được ánh xạ thành các số nguyên (IDs):
[13813, 1106, 12427, 2107]Các con số này là chỉ số từ vựng của từng token trong mô hình đã được huấn luyện.
- Mã nguồn sử dụng thư viện transformers của Hugging Face:
from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("bert-base-cased") sequence = "Introduction to LLM" tokens = tokenizer.tokenize(sequence) ids = tokenizer.convert_tokens_to_ids(tokens)
🤖 Vai trò của Tokenization trong LLM
- Chuẩn bị dữ liệu: LLM không thể xử lý chuỗi ký tự trực tiếp — nó chỉ xử lý được dãy số.
- Hiệu quả và linh hoạt: Việc chia thành token (nhất là subword tokenization) giúp mô hình xử lý từ mới, từ hiếm hoặc tiếng nói địa phương dễ dàng hơn.
- Tối ưu dung lượng từ vựng: Thay vì lưu trữ tất cả từ hoàn chỉnh, mô hình có thể chỉ cần lưu các phần con (subwords), giúp giảm kích thước từ điển nhưng vẫn bao phủ rộng.
🧠 Ghi nhớ:
- Một token có thể là: một từ, một phần của từ, hoặc thậm chí là dấu câu.
- Các mô hình khác nhau (BERT, GPT, T5…) có tokenizer khác nhau — do đó cùng một câu có thể tạo ra các token khác nhau.
- Tokenization là bước cốt lõi đầu tiên trước khi dữ liệu được đưa vào LLM để huấn luyện hoặc suy luận.