Delta Learning Hypothesis(デルタ学習仮説)をやってみた という記事に書いているLLMモデルの高速化を図る unsloth ライブラリを使って学習させていたところいくつかのエラーが発生しました。公式ドキュメント周りを確認すればすぐに解決するはずだったのですが、LLMにばかり頼ってしまい解決に時間をかけてしまいました。

ひとまず、どんなエラーがあったのかを紹介します。

1つ目のエラー

ORPO学習実行時のエラーが発生:

トークナイザ出力の次元不一致による ValueError

ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

解決方法

  • unslothFastLanguageModel ではなく transformers.AutoTokenizer を使う。

https://github.com/unslothai/unsloth/issues/2214

エラー1

2つ目のエラー

学習済みモデルロード時のエラー:

preprocessor_config.json が見つからない OSError

OSError: ./gemma-3-1b-it does not appear to have a file named preprocessor_config.json.

解決方法

  • 学習済み保存モデル(のファイル)にpreprocessor_config.jsonがないのでunsloth公式から引っ張ってくる。

https://huggingface.co/google/gemma-3-1b-it/discussions/21

エラー2

解決の近道

エラーの原因は、どちらも公式ライブラリの GitHub issue や Hugging Faceに記載されていました。一次情報にあたればすぐに解決できる内容でしたが、LLM に質問したり手元のコードを見直したりかなりの時間を浪費してしまいました。

エラー対応はやりたいことの本質ではないからこそ、なるべく手間をかけたくないですが、遠回りに感じても一次情報にあたる姿勢が結果的に近道だったと実感できました。