易混淆對照

Token 跟中文字數差在哪?一個中文字常常不只算一個 Token

字數與字元是人類的計算單位,Token 字詞單位則是 AI 的計算單位。模型會把文字切成一塊一塊的 Token 再轉成編碼處理,所以兩者不會一比一對應。英文大約一個單字等於 1.3 個 Token,繁體中文一個字大約要 2 到 3 個 Token。Token 數量同時決定了上下文容量與 API 費用,所以繁體中文特別吃 Token。
Token 跟中文字數差在哪?一個中文字常常不只算一個 Token:文章重點卡

Token 跟中文字數差在哪?一個中文字常常不只算一個 Token

「這個模型有 128K 的上下文」聽起來很多,換算成中文卻沒有你想的那麼多。原因就在於人類算字,AI 算 Token,兩者不是同一把尺。

這個對照弄清楚,你才估得準成本,也才知道為什麼同一份資料,中文版比英文版貴。

你將學到什麼

定義

字元是人類的單位,Token 是 AI 把文字切塊之後的計算單位。

白話比喻

像碎紙機,文字被切成大小不一的碎塊,再轉成數字編碼。

換算比例

英文一個單字約 1.3 個,繁體中文一個字約 2 到 3 個。

跟誰容易搞混

標點、空格、換行、程式碼、圖片全部都算,不是只有文字算。

定義

字數與字元是人類的計算單位,我們看的是「字」。Token 中文叫字詞單位,是 AI 的計算單位,它看的是切塊之後的碎片。

模型不會直接讀你的句子,而是先把文字切成一塊一塊,再轉換成數字編碼來處理。所以同樣一句話,字數與 Token 數幾乎不會相等。

白話比喻

像把一張紙送進碎紙機。切出來的碎塊大小不一,有的是一個完整單字,有的是半個詞,有的只是一個符號。

AI 看不懂字,只懂數字。它把每一塊碎片換成一個編號,再拿這些編號去做運算。

各語言的換算參考

語言換算關係(約略)範例
英文1 個單字約 1.3 個 TokenHello world 兩字約 2 到 3 個 Token
中文簡體1 個字約 1.5 到 2 個 Token四個字約 6 到 8 個 Token
中文繁體1 個字約 2 到 3 個 Token六個字約 12 到 18 個 Token
日文1 個字約 1.5 到 2 個 Token五個字約 7 到 10 個 Token
程式碼符號與空格也會算一行短程式約 6 到 10 個 Token

實際數量會因模型使用的分詞器而異,這裡的比例只當估算用。重點是記住繁體中文最吃 Token 這件事。

不是只有文字才算

很多人以為只有中文字與英文字才計費,其實標點符號、空格、換行、程式碼、表情符號都會算成 Token,圖片在多模態模型裡更是大戶。

所以一份排版整齊、附了表格與截圖的文件,Token 數常常遠超過你用字數估出來的值。

為什麼要在意

兩個地方會痛。第一是上下文容量,也就是模型的記憶上限;你輸入的內容越多,它能記住的歷史對話就越少,超過上限之後最前面的內容會被丟掉。

第二是費用,大多數 API 的計費方式就是按輸入與輸出的 Token 計價。要省,就把長對話定期壓縮成 Context Summary 說明摘要,比一路硬塞有效得多。

常見誤解三個新手誤區要記住。一,以為 1000 個 Token 就能放 1000 個中文字,實際上繁體中文只能放大約 300 到 500 個字。二,以為只有文字才算 Token,其實標點、空格、換行、程式碼、圖片全部都算。三,以為對話視窗一直開著,AI 就會記得所有內容,超過上限之後它會自動遺漏最前面的部分。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

繁體中文一個字等於幾個 Token?
大約 2 到 3 個,比簡體中文的 1.5 到 2 個更吃 Token,也比英文貴。實際數量會因模型使用的分詞器而異,只能抓概略值。
1000 個 Token 可以輸入 1000 個中文字嗎?
不行。以繁體中文一字約 2 到 3 個 Token 估算,1000 個 Token 大概只能放 300 到 500 個字。這是新手最常誤判的一件事。
怎麼快速估算 Token 數量?
經驗估算法最好用:英文字數乘 1.3,簡體中文字數乘 1.5,繁體中文字數乘 2.5 當保險值。要精準就用官方的分詞器工具,或看平台內建的計數器。另外建議預留一到兩成給模型思考與回覆使用。