最近、Gemma 3 の小規模モデルを活用して、映画推薦ドメイン向けに SFT および LoRA ファインチューニングを行ってみました。実験の過程で、小規模モデル(SLM)の知識獲得能力についていくつか限界を感じたため、質問を投稿します。
[実験]
- 使用モデル: gemma-3-270m-it, gemma-3-1b-it
- 学習方法: LoRA および SFT
- 実験結果: 1B モデルは既存知識をもとにある程度の推論が可能でしたが、270M モデルはパラメータ数の限界により、新しいドメイン知識を受け入れるための「器」そのものが不足しているという印象を受けました。
全体的なチューニング過程は、以下のブログに複数の投稿として記録を残しています。
https://seungsang.tistory.com/entry/…
[直面している問題]
- LoRA の容量限界: 学習対象パラメータが全体の 1% 前後にとどまるため、単純なタスク適応(Task Adaptation)を超える知識注入(Knowledge Injection)には限界がありました。
- 全体チューニング(Full Fine-tuning)に関する悩み: モデル全体の重みを更新する場合、知識注入には有利ですが、もともと持っていた汎用的な推論能力(Reasoning)が失われるのではないかと考えています。これを防ぐために Replay データを混ぜたいと思っても、ベースモデルの学習データが公開されていないため難しい状況です。
映画分野については、モデルがすでに知識を持っていたためファインチューニングが可能だったのだと思います。
では、私が特定のドメインを基盤にしたい場合は、どのように進めるべきでしょうか。
小規模モデルを特定ドメインに特化させたいとき、不足するパラメータ容量を克服し、効果的にドメイン知識を注入するための戦略にはどのようなものがあるでしょうか。
多くのアドバイスをいただけると幸いです。CPT(Continue Pre-training)など、さまざまな経験を共有していただければありがたいです。
5件のコメント
私も7Bでファインチューニングしていてうまくいかず、気が狂いそうでした。PTSDがよみがえりますね
今も取り組んでいらっしゃいますか?
もし実際に試してみて感じたことや、コツのようなものがあれば教えていただけますか?
LoRAとファインチューニングは、知識注入には不向きです。LoRAとファインチューニングは、出力スタイルやトーンの補正に最も適しています。RAGの形で入力プロンプトに知識関連情報を含め、出力データのリコール/正確性を評価したうえでLoRA/ファインチューニングを進めると、はるかに効果的です。
私もRAGの活用に一票を投じたいです。
ご回答ありがとうございます。
RAG だと、ドメイン関連でどう適切にデータを取得するかは少し悩ましいですね。
埋め込みモデル自体を学習させるべきか……。
小型モデルのトークン数も減らしたくて知識を内在化したかったのですが、LoRA にはやはり限界があるようですね。
おっしゃっていただいた点を検討してみます。ありがとうございます。