Phi-1は、マイクロソフトによって開発された大規模言語モデルであり、2023年6月に公開された。13億のパラメータを持つこのモデルは、コード生成と理解タスクに特化して設計されたコンパクトなトランスフォーマーアーキテクチャである。Phi-1は、教科書品質のコードと合成演習からなる厳選されたデータセットで訓練され、単純な規模よりもデータ品質を重視した。その開発は機械学習研究における顕著な転換点を示し、慎重にフィルタリングされたデータで訓練された場合、より小型のモデルがはるかに大型のモデルに対抗できることを示した。
このモデルは、訓練データの品質とモデル性能の関係を探求するマイクロソフトのPhiシリーズの一部として導入された。Phi-1は、HumanEvalやMBPPを含むいくつかのコーディングベンチマークで、そのサイズにおいて最先端の結果を達成し、数倍の大きさのモデルを上回った。その成功は、カリキュラム学習とデータ選択戦略の深層学習における可能性を強調した。
アーキテクチャと訓練
Phi-1は、24層、32のアテンションヘッド、2048の隠れ次元を持つ標準的なデコーダーのみのトランスフォーマーアーキテクチャを使用している。これは、マルチヘッドアテンション、レイヤー正規化、残差ネットワーク接続を採用しており、他の現代的な大規模言語モデルと類似している。モデルは1.4兆トークンで訓練されたが、重要な革新はデータセットの構成にあった。データの70%はフィルタリングされたコードのウェブコーパスから、30%は大規模言語モデル(おそらくGPT-3.5または類似のもの)を使用して合成演習と教科書スタイルの例を生成したものであった。
訓練プロセスでは、Adamオプティマイザーと、ウォームアップフェーズとコサイン減衰を含む学習率スケジュールを使用した。勾配クリッピングが訓練を安定させるために適用された。モデルは512台のA100 GPUで約12日間訓練され、約1.5ペタフロップ日分の計算を消費した。これは、GPT-3やOpenAIの後のモデルなどのより大型のモデルに使用される計算量よりも大幅に少ない。
データキュレーションと合成データ
Phi-1の中心的な側面は、データ品質への重点である。CodeTextbookと呼ばれる訓練コーパスは、GitHubリポジトリをフィルタリングして、高品質で自己完結型のコードサンプルを収集することで構築された。フィルタリングプロセスは、冗長で低品質、または文書化が不十分なコードを除去した。さらに、教師モデルを使用して合成データが生成され、「フィボナッチ数列を計算する関数を書く」といった教科書の問題を模倣した演習と、それに付随する説明が作成された。
このアプローチは、カリキュラム学習から着想を得ており、モデルは徐々に複雑な例で訓練される。合成データ生成は、教育的コンテンツの原則に導かれ、例が明確で簡潔かつ教育学的に健全であることを保証した。このデータキュレーションへの焦点により、Phi-1は比較的小さいサイズにもかかわらず、コーディングタスクで高い精度を達成することができた。
性能とベンチマーク
Phi-1は、いくつかの標準的なコード生成ベンチマークで評価された。HumanEvalでは、pass@1精度50.6%を達成し、Codex(12Bパラメータで28.8%)や一部のより大型のモデルを上回った。MBPPでは、55.5%のpass@1を記録した。これらの結果は、Phi-1がGoogle DeepMindやAnthropicなどの多くの競合モデルよりも大幅に小型であったため、注目に値するものであった。
モデルはまた、コード説明と補完タスクで強い性能を示したが、多様なテキストで訓練されたモデルと比較して、一般的な言語理解では能力が低かった。コードへの特化により、開発者にとって有用なツールとなり、コード関連アプリケーションのためにマイクロソフトのAzure AIサービスに統合された。
影響と評価
Phi-1のリリースは、人工知能における効率性に関する広範な議論に貢献した。それは、より大型のモデルが常に優れているという一般的な仮定に挑戦し、データ品質とキュレーションが規模と同じくらい重要である可能性を示唆した。これは、Phi-1.5やPhi-2など、後のPhiシリーズのモデルを含むその後の研究に影響を与え、このアプローチを一般的なテキストに拡張した。
Phi-1はまた、他の研究所が後に採用した合成データ生成への関心を引き起こした。その成功は、小型で特化したモデルがエッジデバイスに展開でき、大規模なクラウドインフラストラクチャへの依存を減らすというアイデアの検証と見なされた。しかし、一部の研究者は、合成データ生成が強力な教師モデルに依存しており、アプローチのスケーラビリティを制限する可能性があると指摘した。
制限と将来の方向性
その強みにもかかわらず、Phi-1には制限があった。コードのみで訓練されたため、一般的な知識が不足しており、自然言語会話や事実に基づく質問応答などのタスクを実行できなかった。あまり一般的でない言語や異常なスタイルのコードなど、分布外のコードでの性能はあまり堅牢ではなかった。さらに、モデルは指示追従のために微調整されていなかったため、慎重なプロンプトが必要であった。
Phiシリーズの将来の研究は、より多様なデータと指示チューニングを組み込むことで、これらのギャップに対処することを目指した。Phi-1からのデータキュレーションと合成データの原則は引き継がれ、効率性を維持しながらより広範な能力を達成した後のモデルの開発に影響を与えた。