概念 - 小規模および大規模言語モデル
この記事では、使用するタイミングや、Azure Kubernetes Service (AKS) 上の AI および機械学習ワークフローで使用する方法など、小規模および大規模言語モデルについて説明します。
言語モデルとは
言語モデルは、テキスト生成や感情分析などの自然言語処理 (NLP) タスクに使用される強力な機械学習モデルです。 これらのモデルは、特定のコンテキストで単語または単語のシーケンスが発生する確率に基づいて自然言語を表します。
"従来の言語モデル" は、特定のタスクに対して適切にラベル付けされたテキスト データセットでモデルがトレーニングされる、教師あり学習の設定で研究目的に使用されてきました。 "事前トレーニング済みの言語モデル" は、AI の使用を開始するための手軽な方法を提供し、近年ではより広く使用されるようになっています。 これらのモデルは、深層ニューラル ネットワークを使用してインターネットから得られた大規模なテキスト コーパスでトレーニングされ、特定のタスク用に小さなデータセットで微調整できます。
言語モデルのサイズは、入力データを処理し、出力を生成する方法を決定するパラメーターの数 (または "重み") によって決まります。 パラメーターは、モデルのレイヤー内の重みを調整して、モデルの予測と実際のデータの間の差を最小限に抑えることによって、トレーニング プロセス中に学習されます。 モデルに含まれるパラメーターが多いほど、より複雑で表現力が豊かなものになりますが、トレーニングと使用に必要な計算コストも高くなります。
一般に、小規模言語モデルではパラメーター数は 100 億未満であり、大規模言語モデルではパラメーター数は 100 億を超えます。 たとえば、新しい Microsoft Phi-3 モデル ファミリには、mini (38 億パラメーター)、small (70 億パラメーター)、medium (140 億パラメーター) というサイズの異なる 3 つのバージョンがあります。
小規模言語モデルを使用する場合
長所
小規模言語モデルは、次のようなモデルが必要な場合に適しています。
- トレーニングと実行をより短時間でコスト効率よく行う: 少ないデータとコンピューティング能力で済みます。
- デプロイと保守が簡単: ストレージとメモリのフットプリントが小さくなります。
- "オーバーフィット" になりにくい: オーバーフィットとは、モデルがトレーニング データのノイズや特定のパターンを学習してしまうことで、新しいデータに対して一般化できなくなることです。
- 解釈可能で説明可能: 理解および分析すべきパラメーターとコンポーネントが少なくなります。
ユース ケース
小規模言語モデルは、以下が必要なユース ケースに適しています。
- 制限付きデータまたはリソース。迅速かつ簡単なソリューションが必要です。
- 明確に定義されたタスクや限定されたタスク。出力に多くの創造性を必要としません。
- 精度が高く再現率が低いタスク。カバレッジや量よりも、正確性と品質を重視します。
- 機密性の高いタスクまたは規制されたタスク。モデルの透明性と説明責任を確保する必要があります。
次の表に、一般的な高パフォーマンスの小規模言語モデルを示します。
モデル ファミリ | モデル サイズ (パラメーターの数) | ソフトウェア ライセンス |
---|---|---|
Microsoft Phi-3 | Phi-3-mini (38 億)、Phi-3-small (70 億) | MIT ライセンス |
Microsoft Phi-2 | Phi-2 (27 億) | MIT ライセンス |
Falcon | Falcon-7B (70 億) | Apache 2.0 ライセンス |
大規模言語モデルを使用する状況
長所
大規模言語モデルは、次のようなモデルが必要な場合に適しています。
- 強力で表現力が豊か: データ内のより複雑なパターンとリレーションシップをキャプチャできます。
- 一般的で適応性が高い: より広範なタスクを処理し、ドメイン間で知識を伝達できます。
- 堅牢で一貫性がある: ノイズの多い入力や不完全な入力を処理し、一般的なエラーやバイアスを回避できます。
ユース ケース
大規模言語モデルは、以下が必要なユース ケースに適しています。
- 豊富なデータとリソース。複雑なソリューションを構築して維持するための予算を持っている必要があります。
- 精度が低く再現率が高いタスク。正確性や品質よりも、カバレッジと量を重視します。
- 困難なタスクや探索的なタスク。モデルの能力を活用して学習と適応を行う必要があります。
次の表に、一般的な高パフォーマンスの大規模言語モデルを示します。
モデル ファミリ | モデル サイズ (パラメーターの数) | ソフトウェア ライセンス |
---|---|---|
Microsoft Phi-3 | Phi-3-medium (140 億) | MIT ライセンス |
Falcon | Falcon-40B (400 億) | Apache 2.0 ライセンス |
AKS で小規模および大規模言語モデルをテストする
Kubernetes AI ツールチェーン オペレーター (KAITO) は、Kubernetes クラスターでの小規模および大規模言語モデルのデプロイを自動化するオープンソース オペレーターです。 AKS 用の KAITO アドオンを使用すると、オンボードが簡素化され、AKS クラスター上のオープンソース モデルの推論にかかる時間が短縮されます。 このアドオンは、適切なサイズの GPU ノードを自動的にプロビジョニングし、関連付けられている推論サーバーを任意のモデルへのエンドポイント サーバーとして設定します。
詳細については、AI ツールチェーン オペレーターを使用した AKS への AI モデルのデプロイに関する記事を参照してください。 推論ワークフローでサポートされているさまざまな小規模および大規模言語モデルの使用を開始するには、KAITO モデルの GitHub リポジトリに関する記事を参照してください。
重要
オープンソース ソフトウェアは、AKS のドキュメントとサンプル全体で説明されています。 デプロイするソフトウェアは、AKS サービス レベル アグリーメント、限定保証、Azure サポートから除外されます。 AKS と共にオープンソース テクノロジを使用する場合は、それぞれのコミュニティとプロジェクト保守担当者から受けられるサポート オプションを調べ、計画を策定してください。
たとえば、Ray の GitHub リポジトリでは、応答時間、目的、サポート レベルが異なる複数のプラットフォームについて説明しています。
Microsoft は、AKS 上に展開するオープンソース パッケージを構築する責任を負います。 その責任には、ビルド、スキャン、署名、検証、修正プログラム プロセスの完全な所有権と、コンテナー イメージ内のバイナリの制御権が伴います。 詳細については、AKS の脆弱性の管理に関するページと「AKS のサポート範囲」を参照してください。
次のステップ
AKS でのコンテナー化された AI と機械学習のワークロードの詳細については、次の記事を参照してください。
Azure Kubernetes Service