使用繁體中文評測各家 LLM Tokenizer 分詞器

Updated(2024/5/14) 更新上 GPT-4o (o200k_base),這次 OpenAI 有更換 Tokenizer 進步非常非常多。

Updated(2024/4/21) 更新上 Llama 3,這次 Meta 有更換 Tokenizer 進步非常非常多。

話說大語言模型 LLM 的運算和推論成本都是用 Tokens 數量來計算的,輸入的內容都得轉成 Tokens 序列來運算,輸出則轉回來。

但是呢,其實每一家用的 Tokenizer (分詞器)都不太一樣,因此相同的文本,拆出來的 tokens 數量是不一樣的。因此很多模型的推論成本比較、Context window 長度限制比較等等,實際應用時都不太準確,特別是非英文的語言,各家差異非常大。

一樣的文本,若能用比較少的 Tokens 數來運算,推論速度會比較快、成本(運算資源)也會比較划算,畢竟計價也是用 tokens 數計算的,先予敘明。

具體會差多少,以下是我的測試結果,使用了繁體中文約八萬多個字(政府報告和管理學講義)做出來的實驗結果。另外也做了英文也是約八萬字(兩篇部落格文章)。

繁體中文

先看大家關心的繁體中文結果,以 OpenAI GPT3.5 (cl100k_base)為基準來比較的話:

沒想到差距竟然可以達到兩倍這麼多,除了 Llama 2 之外都比 GPT3.5 & GPT-4 還要節省 Tokens 數,GPT3.5 和 GPT-4 的 Tokenizer 對繁體中文真的很不友善啊! 直到最新的 GPT-4o 有大幅改進!

  • 表現最好的是聯發科 Breeze 約節省 50% 的 tokens 數 👍👍👍 果然是針對繁體中文最佳化
  • Cohere Command R+ 約節省 47% 👍👍👍
  • Google Gemini 約節省 46% 👍👍👍
  • Llama 3 比 gpt-3.5 約節省了 37% 👍👍
  • 新的 gpt-4o (o200k_base)比 gpt-3.5 約節省 36% 👍👍
  • Claude 3 約節省 22% 👍👍
  • Mistral 約節省 12% 👍
  • Llama 2 比 gpt-3.5 還差,還增加了 20% 😱

讓我換句話說:

  • 1K MediaTek Breeze Tokens 約等於 2K GPT-3.5 Tokens
  • 1K Command-R Tokens 約等於 1.9K GPT-3.5 Tokens
  • 1K Gemini Tokens 約等於 1.8K GPT-3.5 Tokens
  • 1K Llama 3 Tokens 約等於 1.6K GPT-3.5 Tokens
  • 1K GPT-4o Tokens 約等於 1.6K GPT-3.5 Tokens
  • 1K Claude 3 Tokens 約等於 1.3K GPT-3.5 Tokens
  • 1K Mistral Tokens 約等於 1.1K GPT-3.5 Tokens
  • 1K Llama 2 Tokens 約等於 837 gpt-3.5 Tokens (表現比 OpenAI 還差)

總之,以後看各家模型的 Token 成本和 Context Window 限制時,都得分別心底換算一下了。

Updated: 以下改用 gpt-4o 做基準來畫圖

56% 意思就是 gpt-4 比 gpt-4o 多用 56% 的 tokens,而 Breeze -22% 則是節省 22% 的 tokens。

英文

結果跟繁體中文差異很大,這裡 OpenAI 和 Llama 3 並列第一最省 tokens 數,其他家都會花比 OpenAI 多一些的 tokens 數。Llama 2 敬陪末座。

實驗方法

以下是使用的文本和數據

計算方式

其他別人做的 Non-English 評測

  • 有受到這篇的啟發,不過他把 Non-English Text 混一起,不知道是怎麼計算的
  • Cohere Command R+ 官方也有做比較,Chinese (簡體中文吧?) 和 OpenAI 相差 1.54 倍

關於 Tokenizer 的科普知識

發佈留言

發表迴響