OpenAIは英語をコードに翻訳できる新しい機械学習ソフトウェアCodexを開発
AI研究企業のOpenAIは、英語をコードに翻訳する新しい機械学習ツールをリリースします。このソフトウェアは「Codex」と呼ばれ、プロのプログラマーの作業をスピードアップするだけでなく、アマチュアがコーディングを始めるのにも役立つように設計されている。
OpenAIはCodexのデモで、このソフトウェアを使って、自然言語による簡単なウェブサイトや初歩的なゲームの構築、異なるプログラミング言語間の翻訳、データサイエンスのクエリへの対応などを紹介している。ユーザーが「横にメニュー、上にタイトルのあるウェブページを作ってください」というような英語のコマンドを入力すると、Codexがそれをコードに変換します。このソフトウェアは絶対的なものではなく、操作には多少の忍耐が必要ですが、コーディングをより速く、より身近なものにするための貴重なツールとなるだろう。
「OpenAIのCTO兼共同設立者であるグレッグ・ブロックマンは、The Vergeに次のように述べています。「私たちはこれを、プログラマーを増やすためのツールだと考えてる。”プログラミングには2つの部分があります。「問題について一生懸命考え、理解しようとする」ことと、「その小さなピースを、ライブラリや関数、APIなどの既存のコードにマッピングする」ことです。” 後半部分は面倒だが、コーデックスが最も得意とするところだという。”すでにプログラマーである人々を対象に、泥臭い作業を取り除いてくれます。”
OpenAIは、Codexの初期バージョンを使って、Microsoftが所有するコードリポジトリであるGitHub用のCopilotというツールを構築した。Copilotは、Gmailに搭載されているオートコンプリートに似たツールで、ユーザーがコードを入力すると、その行をどのように仕上げるかを提案してくれる。しかし、OpenAIの新バージョンであるCodexは、より高度で柔軟性があり、コードを完成させるだけではなく、作成することもできるという。
Codexは、OpenAIの言語生成モデルであるGPT-3の上に構築されている。GPT-3は、インターネット上のかなりの部分でトレーニングされており、その結果、書かれた言葉を印象的な方法で生成し、解析することができる。GPT-3は、ユーザーがコードを生成するという用途がありましたが、Codexはその能力をさらに向上させ、ウェブからスクレイピングされたオープンソースのコードリポジトリに特化して学習されている。
後者の点から、多くのコーダーは、OpenAIが彼らの仕事から不当に利益を得ていると不満を抱いている。例えば、OpenAIのCopilotツールは、他の人が書いたコードの断片を提案することが多く、プログラムの知識ベース全体が、最終的には企業ではなく個人の利益のために共有されているオープンソースの作品に由来しています。Codexに対しても同様の批判がなされるだろうが、OpenAIは、このデータの使用はフェアユースの下で法的に保護されているとしている。
これらの苦情について聞かれたブロックマンは、次のように答えている。「新しい技術が出てくると、このような議論が必要になります。私たちが行うことで、コミュニティから素晴らしい指摘を受けることもあるでしょうし、フィードバックを受けて異なる方法を取ることもあるでしょう」。しかし彼は、OpenAIの活動は最終的にはより広いコーディングコミュニティに利益をもたらすと主張しています。「本当の意味での純効果は、エコシステムにとって多くの価値をもたらすものです」とブロックマンは言います。「結局のところ、この種のテクノロジーは、経済を再構築し、私たち全員にとってより良い世界を作ることができると思います」。
Codexは、OpenAIとその投資家にも価値をもたらすことでしょう。同社は2015年に非営利の研究所としてスタートしたものの、2019年には外部からの資金を集めるために「上限利益」モデルに切り替えており、Codexは当初、無料のAPIとして公開されているが、OpenAIは将来のある時点でアクセスの課金を開始する予定だ。
OpenAIは、Codexを使って独自のツールを作りたいとは考えていないという。それは、コアモデルを改善する方が適しているからだ。「どれか1つを追求すれば、他のルートを断つことになると考えたからです」とブロックマンは言う。「スタートアップでは、一つのことを極めるという選択肢もあります。私たちにとって、それはこれらすべてのモデルのより良いバージョンを作ることであることに疑いの余地はありません」。
プログラミングの未来
OpenAIは、Codexがプログラミングやコンピューティング全般を変える可能性があると強気である。ブロックマンは、米国のプログラマー不足を解消する可能性があると言い、ザレンバは、コーディングの歴史的進化の次のステップと考えている。
「コーデックスは、コンピュータを人間に近づけ、マシンコードではなく英語を話させる」。
“Codexで起こっていることは、これまでにも何度かありました “と彼は言う。続けて「コンピュータの黎明期には、プログラミングは物理的なパンチカードを作成して機械に送り込むことで行われていましたが、その後、人々は最初のプログラミング言語を発明し、それを改良していきました。これらのプログラミング言語は、”print “や “exit “などの語彙を用いて英語に似てきたので、より多くの人がプログラミングできるようになったのです」と語った。この軌跡の次の段階は、専門的なコーディング言語を完全に廃止し、英語のコマンドに置き換えるこだそうだ。
「これらの段階は、プログラミング言語がよりハイレベルになっていくことを表していますそして、Codexはコンピュータを人間に近づけ、マシンコードではなく英語を話させることができると考えています」とザレンバは言う。Codex自身は、最も得意なのはPythonだが、JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScriptなど、10種類以上のコーディング言語を扱うことができる。
また、Codexは他のプログラムを制御することもできます。ブロックマンは、このソフトウェアを使って、Microsoft Wordの音声インターフェースを作成する方法をデモで紹介してる。Wordは独自のAPIを持っているので、Codexはユーザーの音声コマンドから作成したコードで指示を与えることができる。ブロックマンは、詩をWord文書にコピーした後、Codexを介してWordに、まずインデントをすべて削除し、次に行番号を付け、次に特定の単語の頻度を数える、といった具合に指示する。事前に用意されたデモの枠外でどれだけうまくいくかはわからないが、非常に流動的だ。
Codexが成功すれば、プログラマーの助けになるだけでなく、ユーザーとコンピューターの間の新しいインターフェースになるかもしれない。OpenAIによると、CodexはWordだけでなく、SpotifyやGoogleカレンダーなどの他のプログラムを制御する能力もテストしているという。ブロックマンによれば、今回のWordのデモはコンセプトの証明に過ぎませんが、Microsoft社はすでにこのソフトウェアの可能性を探ることに興味を持っているようです。「彼らはこのモデル全般に非常に興奮しており、多くのCodexアプリケーションが作成されることを期待しています」と語る。
出典:THE VERGE