コードでトレーニングされた大規模言語モデルの評価: OpenAI Codex
OpenAIは、GitHubから公開されているコードで微調整されたGPT言語モデルであるCodexを導入しました。Codexは、自然言語のdocstringからPythonコードを合成するように設計されており、機能的な正確性においてGPT-3やGPT-Jのような汎用モデルを大幅に上回っています。
HumanEvalにおけるパフォーマンス
Codexは、docstringから合成されたプログラムの機能的な正確性を測定するためにOpenAIがリリースした新しい評価セットであるHumanEvalを使用して評価されました。このベンチマークにおいて、Codexは1回の試行で問題の28.8%を解決しますが、GPT-3は0%、GPT-Jは11.4%です。
繰り返しサンプリング戦略
モデルからの繰り返しサンプリングは、難しいプロンプトに対して動作するソリューションを生成する成功率を高めるための効果的な戦略です。問題ごとに100個のサンプルを生成することで、Codexの成功率は70.2%に上昇します。
モデルの限界
その能力にもかかわらず、Codexは正しいコードを生成する能力において特定の技術的な限界を示しています。モデルは以下の事項に苦戦します:
- Long chains of operations: Codexは、docstringが長く複雑な一連の操作を記述している場合に困難を感じます。
- Variable binding: モデルは、時折、操作を変数に正しくバインドすることに失敗します。
より広範な影響
OpenAIは、強力なコード生成技術を導入することによる潜在的な広範な影響について、以下の3つの主要な領域に焦点を当てて議論しています:
- Safety: 不安全またはバグのあるコードを生成する可能性に関連するリスク。
- Security: AIが生成したコードによって導入される可能性のある脆弱性。
- Economics: 自動化されたコード生成がソフトウェアエンジニアリングの専門職および経済に与える影響。