Closed1
RuntimeError: CUDA error: device-side assert triggered

Huggingface Trainer を使っているときに RuntimeError: CUDA error: device-side assert triggered
が発生したときのよくある原因についてです。
今回はその中でも特殊?ケースに遭遇したので、その備忘録
このエラーが起こるとき、大抵の場合でその原因は input_id
がモデルの vacab size を超えた値になっているのが原因。ありがちなものとして、モデルの事前学習に使っていない tokenizer を使っていた、というのがありますが、今回はそれに当たりませんでした。
今回使っていたのは Llama3.1 で、問題となっている input_id
は 128000 でした。調べてみると、どうやら llama3 tokenizer を使って tokenizer を訓練すると BOS token に 128000 を割り当たってしまうようです。
tokenize 時に 128000 が現れたら BOS トークンの id (ふつう0)に変換してしまうというのがひとまずの解決策となります。
このスクラップは3ヶ月前にクローズされました