🗂

日本語tokenizer比較

2024/08/07に公開

メモ程度

いくつかのtokenizerのlength per token(lpt)を比較します

ja/en

日本語/英語wikiから1000個ランダムに取り出して評価
以下のデータセットを使わせて頂いた

https://huggingface.co/datasets/izumi-lab/wikipedia-ja-20230720
https://huggingface.co/datasets/izumi-lab/wikinews-en-20230728

日本語降順

vocab_size ja en
cyberagent/open-calm-7b 52000 2.05 2.88
stockmark/gpt-neox-japanese-1.4b 50000 1.99 2.34
rinna/bilingual-gpt-neox-4b 65536 1.95 2.53
NovelAI/nerdstash-tokenizer-v2 65535 1.76 4.37
google/gemma-2b 256000 1.59 4.73
llm-jp/llm-jp-13b-v2.0 96867 1.51 4.53
meta-llama/Meta-Llama-3-8B 128000 1.35 4.86
Qwen/Qwen2-0.5B 151643 1.34 4.78
microsoft/Phi-3-mini-4k-instruct 32000 0.84 4.12

日本語モデルはやはりlpt高め、Qwen2はもう少し高いかと思ったけど低め

英語降順

vocab_size ja en
meta-llama/Meta-Llama-3-8B 128000 1.35 4.86
Qwen/Qwen2-0.5B 151643 1.34 4.78
google/gemma-2b 256000 1.59 4.73
llm-jp/llm-jp-13b-v2.0 96867 1.51 4.53
NovelAI/nerdstash-tokenizer-v2 65535 1.76 4.37
microsoft/Phi-3-mini-4k-instruct 32000 0.84 4.12
cyberagent/open-calm-7b 52000 2.05 2.88
rinna/bilingual-gpt-neox-4b 65536 1.95 2.53
stockmark/gpt-neox-japanese-1.4b 50000 1.99 2.34

gemma, llm-jp, novelAIあたりが英語も高く日本語も高め

math_instruct/code_instruct

以下のデータセットを使わせて頂いた

math_instructのgenerated_solution_ja
https://huggingface.co/datasets/kunishou/OpenMathInstruct-1-1.8m-ja

code_instructのoutput
https://huggingface.co/datasets/kunishou/amenokaku-code-instruct

vocab_size en math_instruct code_instruct
meta-llama/Meta-Llama-3-8B 128000 4.86 2.53 3.2
Qwen/Qwen2-0.5B 151643 4.78 2.49 3.18
google/gemma-2b 256000 4.73 2.32 2.88
llm-jp/llm-jp-13b-v2.0 96867 4.53 2.11 2.42
NovelAI/nerdstash-tokenizer-v2 65535 4.37 2.18 2.51
microsoft/Phi-3-mini-4k-instruct 32000 4.12 1.76 2.4
cyberagent/open-calm-7b 52000 2.88 2.05 2.26
rinna/bilingual-gpt-neox-4b 65536 2.53 1.89 2.04
stockmark/gpt-neox-japanese-1.4b 50000 2.34 1.86 1.89

いくつか順番が逆転しているが、英語のlptが高い場合にmathとcodeどちらにおいてもlptが高い傾向

全体

vocab_size ja en math_instruct code_instruct
cyberagent/open-calm-7b 52000 2.05 2.88 2.05 2.26
stockmark/gpt-neox-japanese-1.4b 50000 1.99 2.34 1.86 1.89
rinna/bilingual-gpt-neox-4b 65536 1.95 2.53 1.89 2.04
NovelAI/nerdstash-tokenizer-v2 65535 1.76 4.37 2.18 2.51
google/gemma-2b 256000 1.59 4.73 2.32 2.88
llm-jp/llm-jp-13b-v2.0 96867 1.51 4.53 2.11 2.42
meta-llama/Meta-Llama-3-8B 128000 1.35 4.86 2.53 3.2
Qwen/Qwen2-0.5B 151643 1.34 4.78 2.49 3.18
microsoft/Phi-3-mini-4k-instruct 32000 0.84 4.12 1.76 2.4

NovelAIがvocab sizeを抑えつつ日本語/英語/math/codeのlptのバランスが良さそう

Discussion