<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SentencePiece on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/sentencepiece/</link><description>Recent content in SentencePiece on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 21 Jun 2026 18:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/sentencepiece/feed.xml" rel="self" type="application/rss+xml"/><item><title>AI 工程從零開始｜Phase 10 Part 1：從頭構建 LLM — Tokenization 的工程藝術</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase10-part1-tokenization-zh/</link><pubDate>Sun, 21 Jun 2026 18:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase10-part1-tokenization-zh/</guid><description>大多數人以為 Tokenization 只是「把文字切成小段」，隨便選一個 tokenizer 接上模型就好。
現實是：詞彙表大小決定了模型容量與訓練成本，token 邊界影響了推理能力，
多語言效率直接決定非英語使用者的 API 費用與延遲，
一個錯誤的 tokenization 決策，可以讓整個預訓練白費。
面試情境 你的團隊正在從零預訓練一個 30B 參數的多語言 LLM，目標語言包含英文、繁體中文、日文與 Python/SQL 代碼。
面試官問：「你會如何設計這個模型的 tokenizer？詞彙表要多大？選哪種演算法？中文效率問題怎麼處理？請以三個演進階段說明。」
一、核心問題：Tokenization 為什麼是 LLM 的第一道關卡 Tokenization 是 LLM pipeline 的第一步，也是最容易被低估的一步。它做的事情看似簡單：把原始文字轉換成整數序列（token IDs），讓模型能夠處理。但這個轉換過程中埋藏了大量工程決策，每一個都有深遠影響。
為什麼 Tokenization 很重要？
模型容量分配：詞彙表大小直接決定 Embedding 層的參數量。vocab_size=50K、embedding_dim=4096 時，Embedding 層就佔了 50K × 4096 × 2 bytes ≈ 400MB，相當於整個模型參數的 5–10%。
序列長度放大器：同樣一段中文，GPT-4 tokenizer（cl100k_base）平均每個漢字消耗 1.5 tokens，而設計不良的 tokenizer 可能消耗 3–4 tokens（逐字節切割）。context window 128K tokens，有效利用率差了 2–3 倍。
訓練成本乘數：預訓練是以 token 數計算的。用同樣 1TB 的中文語料，高效 tokenizer 產生 500B tokens，低效 tokenizer 產生 1.</description></item></channel></rss>