軽量日本語LLMをカスタマイズ
~Qwen2.5ファインチューニングで領域特化型AIエージェント構築の可能性を検証した記録報告~
はじめに
「ChatGPTは便利だが、自社の業務知識を学習させたい」という要望は多い。しかし、APIコストやデータプライバシーの懸念から導入を躊躇する企業も少なくない。
本記事では、無料のGoogle Colabで、日本語対応の業務特化LLMを構築した実証結果を報告する。題材として仮想の日本料理店「花月」の接客AIを作成し、ベースモデルとの性能比較まで行った。
本記事の意図・目的
LLMカスタマイズのEnd to Endプロセスを記録に残すこと
- GPUが必要な学習(ローカルでは不可なプロセス): Google Colab(無料GPU)で実施
- その他すべての作業: ローカルノートPCで完結
- 完全なワークフロー: データ作成→学習→統合→評価まで一貫した手順
高性能GPUを持たない個人・中小企業でも、LLMのモデルカスタマイズが可能であることを実証し、そのプロセスをできるだけ再現可能な形で記録した。
1. 技術選定:なぜQwen2.5-0.5Bを選んだか
ベースモデルの要件
- 日本語対応されている
- 軽量(ローカル環境で実用的)
- ファインチューニングを行うことができる
- Ollama対応可能
選定結果
model_name = "Qwen/Qwen2.5-0.5B" # パラメータ数: 494,032,768 (約494M) # メモリ使用量: 約1GB(量子化後)
Qwen2.5-0.5Bは中国Alibaba製だが、日本語対応可能で、かつ軽量で扱いやすい。
2. 環境構築と技術スタック
実行環境
学習環境: プラットフォーム: Google Colab(無料版) GPU: Tesla T4 (14GB) Python: 3.11.13 推論環境: OS: WSL2 Ubuntu on Windows 11 CPU: AMD Ryzen 7 8840U メモリ: 16GB ツール: Ollama v0.9.2
必要ライブラリ(再現性のため明記)
3. 学習データの作成
データセット設計
日本料理店「花月」の情報を25項目のQ&A形式で作成した。
ポイント
- 丁寧語・敬語で統一し、接客品質を担保
- 具体的な数値(価格、時間、人数)を含める
- 自然な日本語表現を心がける
4. Google ColabでのLoRA学習
LoRA設定(最適化版)
学習パラメータ
学習実行と結果
わずか62.4秒で99.8%のLoss改善を達成した。
5. ローカル環境への統合
LoRAアダプターのマージ
Google Colabで学習したLoRAアダプター(35MB)をベースモデルにマージする。
LoRAの仕組み
LoRAアダプターは、ベースモデルに着脱可能な「差分情報」として機能する。これにより:
- ベースモデル(494M)は変更せず、アダプター(35MB)のみで専門知識を追加
- 異なる業務用途ごとにアダプターを差し替え可能
- 軽量な学習と効率的な運用を両立
実行結果:
Ollama統合
6. 性能評価:ベースモデル vs ファインチューニング版
テスト1:営業時間の質問
ベースモデル
質問
花月の営業時間を教えてください
AIの回答
申し訳ございませんが、「花月」という具体的な店舗についての情報は持っておりません。一般的な日本料理店の営業時間は...
ファインチューニング版
質問
花月の営業時間を教えてください
AIの回答
花月の営業時間は、昼の部が11:30~14:30(ラストオーダー14:00)、夜の部が17:30~22:30(ラストオーダー21:30)でございます。日曜・祝日は定休日とさせていただいております。
テスト2:おすすめ料理
ベースモデル
質問
花月のおすすめ料理は何ですか?
AIの回答
申し訳ございません、花月という店舗の情報を持っておりません...
ファインチューニング版
質問
花月のおすすめ料理は何ですか?
AIの回答
花月の名物料理は「季節の会席膳」(5,800円)でございます。旬の食材を使った前菜、お造り、焼き物、煮物、ご飯物、水菓子の全7品構成です。特に、毎朝築地から仕入れる新鮮な魚介のお造りと、京都から取り寄せる季節の野菜を使った煮物が好評でございます。
定量評価結果
指標 | ベースモデル | ファインチューニング版 |
---|---|---|
花月認識率 | 0% | 100% |
正確性 | - | 87.5% (7/8) |
応答品質スコア | - | 3.88/5 |
推論時間 | 約3秒 | 約6秒 |
モデルサイズ | 397MB | 994MB |
7. 考察と改善点
成功要因
- 適切なLoRAパラメータ設定(r=16, alpha=32)
- 十分な学習エポック数(8エポック)
- 高品質な日本語データ(敬語・丁寧語統一)
- 全Attention層への適用
課題と改善余地
現在の課題
- 学習時の質問と表現を変えると的外れな回答を出力することを確認
- 25項目では網羅性が不足
- 推論速度がやや遅い
改善案
- データ拡張(25→100項目)
- 同一内容の異なる表現を追加
- 量子化による軽量化(4bit/8bit)
実用性評価
💰 コスト面
- 学習コスト: 0円(Google Colab無料枠)
- 学習時間: 約1分
- 運用コスト: 電気代のみ(ローカル推論)
🔒 セキュリティ面
- プライバシー: 完全ローカル処理
- データ主権: 社内データの外部流出なし
- カスタマイズ: 企業固有要件に完全対応
8. 実装のポイント(つまずきやすい箇所)
1. Colab上のライブラリ互換性問題
Google ColabとローカルPC間でのPEFTライブラリバージョン不整合により、モデル読み込みエラーが発生することがある。
2. PEFT互換性問題
エラー例:
解決策:
3. メモリ不足対策
4. Ollama統合の注意点
9. まとめ
本実証により、以下を確認した:
- ローカルのCPUでの学習と比べて劇的な改善を確認したファインチューニングが可能
- 日本語特化モデルとして検証用に耐えうる品質の応答を実現
- 完全ローカル運用が可能でプライバシー・コスト面で優位
- 再現可能な手順とパラメータを明示
End to Endプロセスの実行確認を完了
- 学習フェーズ: Google Colab(無料GPU)で効率的に実施
- 統合・運用フェーズ: 一般的なローカルPCで完結
- 完全なワークフロー: データ設計→モデル学習→マージ統合→性能評価→実運用まで一貫して記録
これにより、高性能な計算リソースを持たない環境でも、業務特化AIエージェントの構築が現実的であることを実証した。
10. 今後の展望
🎯 技術拡張
- マルチドメイン対応
- 継続学習機能
- 多言語展開
📱 展開拡大
- エッジデバイス展開
- スマートフォン対応
- IoT連携
🏢 業務応用
- 領域特化型モデル生成
- 医療・法務・製造業応用
- 業務プロセスカスタマイズ
🎨 体験向上
- 企業固有AIの実現
- 独自知識の完全活用
- 競合優位性の構築
付録:Google Colabノートブック
完全な実装コード
本記事で使用したGoogle Colabの完全な実装ノートブックをダウンロードできます。実際に動作確認済みのコードで、すぐに再現実験が可能です。
Google Colabノートブックをダウンロードファイル名:kagetsu_colab_optimized_goodResult_20250803.ipynb
ノートブックの内容:
- 環境セットアップ(ライブラリインストール)
- データセット準備(花月の学習データ)
- LoRA設定とモデル準備
- 学習ループの実装
- モデル保存とエクスポート
- 推論テストコード
お問い合わせ
導入にご興味をお持ちの方は、ぜひお気軽にご相談ください。貴社の要件に合わせた最適な構成のご提案から、構築、運用支援まで一貫してサポートいたします。