OpenArchLabOpen Architecture — From Models to Systems

L1 · Service edge

Chuyển văn bản thành đơn vị mà mô hình hiểu

Chuyển đổi văn bản và cấu trúc hội thoại thành mảng mã số (token IDs) khớp với bảng từ vựng của mô hình.

LESSON ID tokenizer GROUP Kiến trúc Inference
Mục lục bài học

1Định nghĩa

Tokenizer là bộ chuyển đổi giữa văn bản tự nhiên và dãy số nguyên (token IDs) mà mô hình xử lý được. Với request dạng chat, hệ thống trước hết áp khuôn mẫu hội thoại (chat template) để chèn các thẻ đánh dấu vai trò (system, user, assistant), rồi mới tách chuỗi thành các mảnh từ (subwords) và tra mã số trong bảng từ vựng.

Mảng token IDs đầu ra quyết định trực tiếp số bước tính toán ở pha prefill và lượng bộ nhớ KV cache cần cấp phát. Mọi môi trường phục vụ phải ghim đúng phiên bản tokenizer và chat template lúc huấn luyện checkpoint, vì chỉ lệch một ký hiệu điều khiển cũng làm mô hình hiểu sai ngữ cảnh.

Ví dụ đời thường: Tokenizer giống như việc chuẩn bị nguyên liệu theo khay mã vạch trước khi đưa vào dây chuyền nấu tự động. Máy móc không hiểu câu chữ tự do kiểu "cho một bát phở bò tái", nên khâu này gắn nhãn người gọi rồi tách câu thành từng thẻ mã số chuẩn (thẻ món phở, thẻ thịt bò, thẻ độ chín tái) khớp đúng cuốn danh mục của nhà bếp.

2Luồng

Sơ đồ luồng (4 bước)
  1. Tin nhắn dạng văn bản

    Nhận các lượt hội thoại.

  2. Áp mẫu hội thoại

    Thêm ký hiệu vai trò theo mô hình.

  3. Tách token và gán mã

    Chuyển chuỗi thành danh sách mã số.

  4. Đưa vào mô hình

    Tạo vector biểu diễn cho từng mã.

Mã Mermaid
flowchart TD
  step1["Tin nhắn dạng văn bản"]
  step2["Áp mẫu hội thoại"]
  step3["Tách token và gán mã"]
  step4["Đưa vào mô hình"]
  step1 --> step2
  step2 --> step3
  step3 --> step4

3Giải pháp

Dùng tokenizer được phát hành cùng mô hình. Chuẩn bị đầu vào trên bộ xử lý trung tâm rồi chuyển tensor tới thiết bị tính toán; có thể gộp hoặc xử lý song song phần chuẩn bị khi nó thành điểm nghẽn.

Hai câu nhìn tương tự có thể tạo token khác vì khoảng trắng hoặc ký hiệu. Tái sử dụng prefix cần so chuỗi token hợp lệ, không chỉ so nội dung người đọc thấy.

Để thấy một câu tiếng Việt không dấu được tách thành token ID và một yêu cầu bị chặn khi prompt cộng số token được phép sinh vượt ngân sách context, hãy chạy khối 2 (Input preparation) trong Bài Lab tổng hợp.

4Profiling

  • Thời gian chuẩn bị đầu vào

    Đo riêng tạo mẫu, tách token, đóng gói và chuyển dữ liệu.

  • Độ dài sau tách token

    Ghi phân phối số token; kiểm tra giới hạn dựa trên token thật, không đếm từ.

Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.

5Ví dụ

Prompt tiếng Việt

Một từ tiếng Việt có thể được tách thành nhiều token. Không dùng số từ để ước tính chính xác bộ nhớ context.

Tích hợp checkpoint mới

Chạy cùng tin nhắn qua tokenizer cũ và mới; kiểm tra khác biệt rồi ghim đúng phiên bản trong manifest triển khai.

6Thuật ngữ

Token identifier
Mã số xác định một token trong bảng từ vựng của một tokenizer cụ thể.
Chat template
Quy tắc biến danh sách tin nhắn thành chuỗi đầu vào có ký hiệu vai trò.
Glossary (7)
Tensor
Mảng số nhiều chiều, như một vector, ma trận hoặc nhóm ma trận.
Vector
Danh sách các số biểu diễn một token hoặc đặc trưng.
Model weights
Các tham số số học được học và lưu trong checkpoint.
Checkpoint
Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
Prefix
Phần đầu của một chuỗi token; cache reuse cần phần đầu tương thích.
Forward pass
Tính kết quả model từ đầu vào theo weights hiện tại.
Context
Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.

7Bài liên quan

8Nguồn