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)
解決方法
unsloth
のFastLanguageModel
ではなくtransformers.AutoTokenizer
を使う。
https://github.com/unslothai/unsloth/issues/2214

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

解決の近道
エラーの原因は、どちらも公式ライブラリの GitHub issue や Hugging Faceに記載されていました。一次情報にあたればすぐに解決できる内容でしたが、LLM に質問したり手元のコードを見直したりかなりの時間を浪費してしまいました。
エラー対応はやりたいことの本質ではないからこそ、なるべく手間をかけたくないですが、遠回りに感じても一次情報にあたる姿勢が結果的に近道だったと実感できました。