OpenAI Codex

OpenAI Codex（オープンエーアイ・コーデックス）は、OpenAIが開発した人工知能モデルである。自然言語を解析し、対応するコンピュータープログラム（コード）を生成することができる。これは、Visual Studio CodeやNeovimなど、一部の統合開発環境（IDE）向けに開発されたプログラミング自動補完ツールGitHub Copilotの機能拡張に使用されている。CodexはOpenAIのGPT-3モデルを継承し、アプリケーションソフトウェアのプログラミングで使用できるように微調整されている。

2021年8月10日、OpenAIは、非公開ベータ版のCodex用のアプリケーション・プログラミング・インタフェース（API）をリリースした。CodexはGPT-3の系統であるが、2023年3月に非推奨（deprecated）となり、GPT-3.5以降が推奨となった。

特徴 
Codexは、テキストを用いて訓練したニューラルネットワークGPT-3に基づいており、GitHubの5,400万におよぶリポジトリから159ギガバイトのPythonコードでさらに訓練されている。Codexの典型的な使用例としては、『//compute the moving average of an array for a given window size』（訳: 指定されたウィンドウサイズで配列の移動平均を計算する）のようなコメント文をプロンプト（命令）として入力し、その要求を満たすコードブロックをAIが提案することである。OpenAIは、Codexが要求の約37%を完了することができ、人間のプログラミングを置き換えるのではなく、その作業を速めることを目的としていると述べている。OpenAIのブログによると、Codexが最も優れているのは『単純な問題を既存のコードにマッピングする』ことであり、これを『おそらくプログラミングの中で最も楽しくない部分』と表現している。の共同設立者であるJeremy Howardは、『（Codexは）それほど多くのコードを書かずにコードを作成できる方法』であり、『常に正しいとは限らないが、十分に近いものである』と述べている。OpenAIの研究者が記述した論文によると、各テストケースを100回試行した結果、プロンプトの70.2%が実用的な回答を示したとのことである。

OpenAIは、CodexはGo、JavaScript、Perl、PHP、Ruby、Shell、Swift、TypeScriptなどの10を超えるプログラミング言語で動作すると主張しているが、中でもPythonで最も効果的とされる。によると、OpenAIが公開したデモンストレーションでは、印象深いの能力が示された。デモンストレーション説明者は、JavaScriptでブラウザゲームを作成し、matplotlibを使ってデータサイエンスチャートを生成することができた。

OpenAIは、CodexがMailchimp、Microsoft Word、Spotify、Google Calendarなどのサービスやアプリと連携できることを示した。マイクロソフトが、Codexの能力を調査することに関心を持っていると伝えられている。

モデル一覧 
以下の4種類のモデルが作られた。
 code-davinci-002
 code-davinci-001
 code-cushman-002
 code-cushman-001

問題 
OpenAIのデモンストレーションでは、非効率なコードや、コードサンプルに由来する一度きりの癖のような欠陥が明らかになった。OpenAIの最高技術責任者であるGreg Brockmanは、The Vergeとのインタビューで、『（Codexは）あなたが求めているのが何かを正確に理解していないことがあり、試行錯誤が必要になる場合もある。』と述べた。OpenAIの研究者は、Codexが多段階またはより高度な要求に苦戦し、しばしば失敗したり直感に反する動作をすることを発見した。また、初心者プログラマーによる過度の依存、学習データに基づく偏り、脆弱なコードによるセキュリティへの影響など、安全性に関わるいくつかの問題も挙げられた。

VentureBeatは、Codexは公開データを使って訓練されるため、悪意のあるコードが意図的にアップロードされることによる「データ・ポイズニング」に対して脆弱である可能性があると述べている。ニューヨーク大学の研究者の調査では、リスクの高い（CWE）に関連するシナリオで、GitHub Copilot（Codexを採用）が生成したコードの約40%に、不具合やその他の悪用できる設計の欠陥が含まれていた。

著作権 
フリーソフトウェア財団は、CopilotとCodexによって生成されたコードの一部が、意図せずに著作権を侵害する可能性があり、特に二次的著作物を同等の条件でライセンスすることを要求するGPLの要件に違反することに懸念を表明している。彼らが提起する問題は、公開リポジトリを用いた訓練がフェアユース（公正利用）に該当するかどうか、開発者が生成されたコードから侵害個所を検出する方法、訓練済みの機械学習モデルが変更可能なソースコードまたは学習データの編集物と見なせるか、機械学習モデル自体が著作権を有するか、それは誰によるものか、などである。GitHubの内部調査により、生成されたコードの約0.1%に学習データからの直接複製が含まれていることが判明した。具体的な例としては、アルゴリズムの原著作物のコードを、コメントや誤った著作権表示を含めてモデルから出力していたことが挙げられる。

これに対してOpenAIは、『AIシステムの訓練における著作権に関する法的不確実性は、AI開発者に多くの負担を強いるため、公的に解決されるべきである』と述べている。Codexが持つ著作権の問題は、全米作家協会他対Google裁判と比較され、そこではGoogle Booksが数百万冊のスキャンされた書籍からのテキストの一部を使用することがフェアユースに該当するとの判決が下されている。

脚注 

OpenAI
ソフトウェアの著作権侵害
ディープラーニングソフトウェアアプリケーション