「OpenThaiLLM-Prebuilt-7B」がNECTECからリリースされたので、トークナイザを試してみることにした。
>>> from transformers import AutoTokenizer
>>> tkz=AutoTokenizer.from_pretrained("nectec/OpenThaiLLM-Prebuilt-7B")
>>> print(tkz.convert_ids_to_tokens(tkz("แม่อย่าเก็บไว้คนเดียว")["input_ids"]))
['à¹ģม', 'à¹Īà¸Ńย', 'à¹Īา', 'à¹Ģà¸ģ', 'à¹ĩà¸ļ', 'à¹Ħว', 'à¹ī', 'à¸Ħà¸Ļ', 'à¹Ģà¸Ķ', 'ียว']
「แม่อย่าเก็บไว้คนเดียว」をトークナイズしてみたが、マズイ気がする。decode
してみよう。
>>> for t in tkz("แม่อย่าเก็บไว้คนเดียว")["input_ids"]:
... print(" ",tkz.decode(t))
...
แม
่อย
่า
เก
็บ
ไว
้
คน
เด
ียว
ううう、「Meta-Llama-3.1-8B」と全く同じパターンで、単語の切れ目が「แม่」「อย่า」「เก็บ」「ไว้」「คน」「เดียว」になっていない。マトモに切れているのは「คน」くらいで、残りはボロボロだ。タイ文字クラスター(คลัสเตอร์อักษรไทย)も完全に無視してトークナイズしているし、これでどうやってタイ語を処理すればいいんだろ。