AIF / ドメイン3 基盤モデルの応用
モデル蒸留
(ディスティレーション) は、大きく賢いモデルの知識を、小さく速く安いモデルへ移す手法です。 AIF-C01では、のカスタマイズ手法の1つとして、コストのトレードオフとトレーニングの要素が問われます。
概要
大きなモデルは精度が高い一方で、応答が遅く単価も高くなります。 では、大きなモデル () に答えさせた結果を使って、小さなモデル () を特定の用途向けに学習させます。
| 観点 | 教師モデル | 蒸留したモデル |
|---|---|---|
| 大きさ | 大きいです。 | 小さいです。 |
| 応答速度 | 遅くなります。 | 速くなります。 |
| 単価 | 高くなります。 | 安くなります。 |
| 得意な範囲 | 幅広い用途 | 学習させた特定の用途 |
試験では、「精度を大きく落とさずに、の費用と遅延を下げたい」という要件で蒸留を選びます。
Point
- distillation は「蒸留」です。液体から必要な成分だけを取り出すように、大きなモデルから用途に必要な知識だけを取り出すイメージです。
- teacher (教師) が答えを示し、student (生徒) がそれを学びます。
- 和訳
- distillation: 蒸留
- Weblio英和辞書「distillation」
主要技術
①Amazon Bedrock Model Distillationの流れ ⚠️ 頻出
では、教師の回答の生成から生徒のまでを1つの流れとして自動で行えます。
| 手順 | 内容 |
|---|---|
| 教師と生徒を選ぶ | 目標とする精度を持つ大きなモデルを教師に、それより十分に小さく、教師と組み合わせられるモデルを生徒に選びます。 |
| を用意する | 自社の用途に合ったを用意します。良い回答の例 (プロンプトと回答の対) を少し添えることもできます。 |
| 教師の回答を集める | Bedrockがに回答させます。多様な回答を得るため、似たプロンプトを作るなどのデータ合成の手法を加えることがあります。 |
| 生徒を学習させる | 教師の回答でをファインチューニングします。 |
| に使う | したモデルを推論に使います。 |
⚠️ 頻出: 蒸留に必要なのは、主に自社の用途のプロンプトです。正解の回答を人手で大量に用意する必要はありません。
②本番の記録を使う方法
すでにを本番で使っている場合は、呼び出しの記録 (モデル呼び出しのログ) をに使えます。
| 使い方 | 内容 |
|---|---|
| だけを使う | ログのプロンプトで、改めて教師モデルに回答させます。 |
| プロンプトと回答の対を使う | ログに残った教師の回答をそのまま学習に使います。教師モデルがログのモデルと一致している必要があります。 |
ログに付けた情報 (メタデータ) で絞り込み、特定の用途のログだけを使えます。
③費用の考え方
| 費用 | 内容 |
|---|---|
| の | 回答の生成に、教師モデルの推論の料金がかかります。 |
| の学習 | の料金がかかります。 |
| したモデルの推論 | 小さなモデルの単価で推論できます。 |
初期の費用はかかりますが、呼び出しの回数が多いほど、推論の単価が下がる効果が大きくなります。
④ほかのカスタマイズ手法との比較 ⚠️ 頻出
| 手法 | 目的 | 必要なもの | の費用 |
|---|---|---|---|
| 出力の形式や振る舞いを整えます。 | 指示と例 | 使うモデルの単価のままです。 | |
| 最新の社内知識を根拠にします。 | 検索対象の文書 | 検索結果の分だけ入力が増えます。 | |
| 文体や特定のタスクの精度を上げます。 | ラベル付きの入出力の対 | モデルの大きさによります。 | |
| 業界の語彙へ根本から適応させます。 | 大量の | モデルの大きさによります。 | |
| 大きなモデルの精度を、小さなモデルで再現します。 | 用途の | 小さなモデルの単価に下がります。 |
⚠️ 頻出: 知識の追加はRAG、振る舞いの調整はファインチューニング、精度を保ったまま速く安くしたいなら蒸留です。
⑤持続可能性との関係
小さなモデルは、に必要な計算資源が少なく、消費する電力も抑えられます。 AWS Well-Architected フレームワークののレンズでも、小さなモデルの活用や、などで資源の消費を減らすことが勧められています。
| 手法 | 内容 |
|---|---|
| 蒸留 | 大きなモデルの振る舞いを小さなモデルへ移します。 |
| 量子化 | モデルの数値の精度を下げて、大きさと計算量を減らします。 |
| (プルーニング) | 予測への寄与が小さいパラメーターを取り除きます。 |
⑥注意点
| 注意点 | 内容 |
|---|---|
| 得意な範囲が狭い | 学習させた用途以外では、教師ほどの精度は出ません。 |
| 教師の誤りも移る | の偏りや誤りを、生徒も学びます。 |
| 評価が必要 | したモデルを、教師モデルと同じ評価データで比べます。 |
| データの扱い | 蒸留したモデルは自分だけが使えます。は、ほかの公開モデルの学習に使われません。 |
試験対策
①判断マトリクス
| 問題文のキーワード | 選ぶ手法 |
|---|---|
| 大きなモデルと同等の精度で、速く安くしたい | |
| 正解データは少ないが、用途のは大量にある | モデル蒸留 |
| 本番の呼び出しの記録を使って小さなモデルを作りたい | 呼び出しのログを使う蒸留 |
| 社内の最新情報を回答に反映したい | |
| 独自の文体で必ず出力させたい | |
| 環境への負荷を抑えたモデル選択をしたい | 小さなモデル、蒸留、 |
②よくある誤答
- で新しい知識を追加できると考えること。教師が持つ知識を、特定の用途で小さなモデルへ移す手法です。
- 蒸留したモデルが教師と同じ範囲で同じ精度を出すと考えること。得意なのは学習させた用途です。
- 蒸留とを同じ目的の手法と考えること。RAGは知識の追加、蒸留はの効率化です。