Codexは、大規模言語モデルのファミリーであり、OpenAIによって開発され、2021年に公開された、自然言語の記述からソースコードを生成することに特化したモデルである。これはGPT-3アーキテクチャの上に構築され、公開コードリポジトリの大規模なコーパスで微調整され、Python、JavaScript、Goを含む複数のプログラミング言語で指示を動作するコードに変換するように設計されている。Codexは、AIペアプログラマーツールであるGitHub Copilotの基盤となり、開発者が自社のアプリケーションに統合できるAPIを通じても公開された。
このモデルは、ソフトウェア開発における生成AIの重要な一歩を示し、単純なオートコンプリートを超えて、意図を理解し、完全な関数やスクリプトを生成することを可能にした。その公開は、プログラミングの未来、コード品質、知的財産、そして特定のタスクにおいてAIが人間の開発者を支援または置き換える可能性についての議論を引き起こした。
開発とアーキテクチャ
Codexは、印象的なテキスト生成を示したが専門的なコーディング能力を欠いていたGPT-3の後継として、OpenAIによって開発された。Mark ChenやJakob Uszkoreitなどの研究者を含むチームは、GitHubからの数百万の公開リポジトリのデータセットでGPT-3を微調整し、教師あり学習と人間のフィードバックからの強化学習を組み合わせた。結果として得られたモデルは、当初Codexと名付けられ、コード内の次のトークンを予測するように訓練されたが、自然言語の指示に従う能力も備えており、これは命令チューニングと呼ばれる技術によって強化された。
アーキテクチャは、GPT-3と同様のTransformerベースのニューラルネットワークであり、初期リリースではパラメータ数が1200万から120億の範囲である。最も強力なバリアントであるcodex-davinci-002は、最も能力が高く、APIに使用された。トレーニングプロセスには、コードの品質フィルタリング、重複排除、個人データの削除が含まれていたが、モデルは依然としてトレーニングデータに存在するバイアスやエラーを継承していた。
能力とパフォーマンス
Codexは、リストをソートする関数を書くことや、単純なWebサーバーを実装することなど、明確に定義されたタスクのコード生成に優れている。OpenAIのベンチマークでは、164の手書きプログラミング問題からなる新しいデータセットであるHumanEvalの問題の28.8%を解決し、GPT-3のほぼゼロのパフォーマンスから大幅に改善された。モデルは、言語間でのコード翻訳、コードスニペットの説明、単体テストの生成もできる。
しかし、Codexには限界がある。複雑な複数ファイルプロジェクトでは苦戦し、構文的には正しいが論理的に欠陥のあるコードを生成することが多く、安全でないコードや悪意のあるコードを生成させる敵対的プロンプトに対して脆弱である可能性がある。また、プログラムのセマンティクスを真に理解しておらず、形式的な推論ではなく統計的パターンに依存している。
統合と製品
2021年6月、OpenAIはMicrosoftの子会社であるGitHubと提携し、Visual Studio Codeなどのコードエディタ用プラグインであるGitHub Copilotを立ち上げた。これはCodexを使用して、コード補完や関数全体をリアルタイムで提案する。Copilotは当初テクニカルプレビューとしてリリースされ、2022年6月にサブスクリプション料金で一般公開された。このツールは開発者の間で広く採用され、数百万のユーザーを獲得したが、トレーニングデータのライセンスや、バグのあるコードや盗用されたコードを生成する可能性についての批判にも直面した。
OpenAIはまた、CodexをAPIを通じて提供し、開発者がカスタムアプリケーションを構築できるようにした。APIは、コードレビューの自動化、ドキュメント生成、教育ツールの作成などのタスクに使用された。2023年3月、OpenAIは元のCodex APIを廃止し、改良されたコーディング能力を組み込んだ新しいGPT-3.5およびGPT-4モデルを優先したが、Codexの影響はこれらの後継モデルに持続した。
倫理的および法的考慮事項
Codexの公開は、重大な倫理的および法的問題を提起した。公開GitHubリポジトリから取得されたトレーニングデータには、さまざまなライセンスのコードが含まれており、著作権侵害の懸念につながった。2022年11月、GitHub、Microsoft、OpenAIに対して集団訴訟が提起され、Copilotが帰属なしにコードを複製することでオープンソースライセンスに違反したと主張された。この訴訟は2024年時点でも継続中である。
さらに、Codexがセキュリティの脆弱性や悪意のあるロジックを含むコードを生成する能力はリスクをもたらした。研究者は、モデルがエクスプロイトコードを書くように促される可能性があり、既知の脆弱性を持つコードを生成することがあることを実証した。これにより、AI支援プログラミングにおけるより良い安全対策と責任ある展開慣行の必要性が叫ばれた。
影響と遺産
Codexは、ソフトウェアエンジニアリングへのAIの応用における転換点を示した。大規模言語モデルがコード生成に効果的に適応できることを実証し、AnthropicのClaudeやGoogle DeepMindのAlphaCodeなど、他の企業による同様のツールの開発を加速させた。また、AIペアプログラミングの概念を普及させ、開発者の働き方や学び方に影響を与えた。
このモデルの成功は、モデルのスケールアップと特定のドメインへの微調整という、より広範な機械学習のトレンドに貢献した。Codexのアプローチ、つまり汎用言語モデルを使用してそれを特化させることは、法的文書の起草から科学研究まで、他のアプリケーションのテンプレートとなった。2024年時点で、Codexの遺産は、多くのソフトウェア開発環境で標準ツールとなったAIコーディングアシスタントの広範な採用に明らかである。
限界にもかかわらず、CodexはAIが創造的および技術的タスクにおいて有意義に支援できることを実証し、将来のAI能力への期待を高め、より堅牢で安全なコード生成システムへの継続的な研究を促した。