[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】小さなLLM(Llama-3.2-1B)をQLoRAでファインチューニングしてFunction Callingを覚えさせてみた [Qiita_Trend] | Summary by TechDistill

> Source: Qiita_Trend
Execute Primary Source

// Problem

開発者が小規模なオープンモデルをツール呼び出しに利用しようとした際、モデルの出力形式がプログラムで扱えない問題に直面した。モデルは関数の選択自体は正しく行えるものの、以下の構造的欠陥を有していた。


  • 出力構造の不備:"function"キーが平坦な文字列になっており、オブジェクト構造を維持できていない。
  • キーの混同:ツール定義用の"parameters"と、呼び出し用の"arguments"を混同して出力している。
  • テンプレートの干渉:Llamaのチャットテンプレートが、誤った形式(parameters)をモデルに指示していた。

// Approach

筆者は、小規模モデルの出力形式を矯正するために、リソース制約を考慮したQLoRAによるファインチューニングを実施した。


  • モデル選定:差分を明確にするため、あえて能力の低いLlama-3.2-1Bを選択した。
  • データセット:Salesforce/xlam-function-calling-60kから500件を抽出して使用した。
  • 手法:4bit量子化とLoRAを組み合わせたQLoRAを採用し、無料のT4 GPUで実行した。
  • 学習設定:2エポック、実効バッチサイズ16、学習率2e-4、rank 16で学習を行った。

// Result

ファインチューニングの結果、モデルの出力が正しいJSON構造へと劇的に改善された。


  • フォーマットの正常化:nameとargumentsを用いたリスト形式の出力が安定した。
  • 精度の向上:mean token accuracyは約88%を記録した。
  • 軽量な成果物:学習済みアダプターは約40MBと極めて小さく、配布や運用に適している。

Senior Engineer Insight

> 小規模モデルの「意図は正しいが形式が壊れている」という課題に対し、QLoRAは極めて費用対効果の高い解だ。500件という極小データでもフォーマット矯正には十分であり、エッジ環境や低レイテンシが求められる現場での実用性は高い。ただし、これはあくまで「書き方」の矯正であり、ツール選択の論理的推論能力までは保証しない。実戦投入時は、推論精度とフォーマット精度の両面を評価すべきだ。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。