少し前のニュースですが.
GitHubにAIプログラミング機能「Copilot」登場 関数名とコメントから中身を丸ごと自動補完 (2021/6/30, ITmedia)
文章からプログラムを自動生成する「OpenAI Codex」β版APIが公開 「GitHub Copilot」のエンジン (2021/8/11, 同)
OpenAIが昨年発表したニューラル言語モデルGPT-3をベースとして, 自然言語による指示でPythonなどのコードを生成する新たな言語モデル"Codex"を開発. GitHubから"Copilot"という名称のサービスとして公開されたのが6月のこと. 8月になって, OpenAI自身もCopilotと似たような機能(β版API)の提供を開始.
OpenAIから公開されているデモ動画がすごく面白いです.
まず二人の共同創業者, Greg BrockmanとIlya Sutskeverによる掛け合い. プログラミングの第一歩, "Hello World"から始めて, ビデオゲームを作り, さらに音声認識と組み合わせてWord文書を音声で編集します(Word JavaScript APIも書けるらしい).
IlyaはGoogle Brain時代に機械翻訳のイノベーションとなったsequence-to-sequence学習を開発したことでも知られる深層学習界のスタープレイヤー. 独特のオーラがありますね.
次の動画はビデオゲームの開発. ふわっとした指示により「宇宙ゲーム」が5分で完成.
最後の動画はデータサイエンス. そう遠くない将来, データサイエンティストにとってPythonやRは必須のスキルではなくなるのだとすると, 衝撃的です.
以上がデモ. 技術の中身については7月にarXiv論文が出ています. 著者なんと58人.
Evaluating Large Language Models Trained on Code
- ニューラルネットワークの構造はGPT-3と同じ, デコーダタイプの(BERTのような双方向ではない) Transformer.
- パラメタ数は最大で12B (GPT-12B)なので, GPT-3ファミリーの中では2番目に大きいサイズ. おそらくTransformerブロックが40層×5140次元の構成.
- 事前学習はGPT-3と同じく, トークン列から次のトークンを予測する自己教師付き学習. 訓練データはGitHub上のコード159GB. (GPT-3と比べて遜色ないレベル)
- "教師付き"のファインチューニングも試行. プログラミングコンテストやOSSプロジェクトから5万件の事例を収集. 「関数名, 説明, 正しいコード」のセットを学習させた. モデル名Codex-S.
- 評価データは164個のプログラミング問題からなるHumanEval. 精度指標pass@kは, モデルにk個のコードを生成させ, 少なくとも1個が単体テストに合格する割合. 従来研究でよく使われる機械翻訳の指標(BLEU)はコード品質と無関係との考察から.
- 結果, GPT-3 (12Bパラメタ)のpass@1が0%だったのに対し, もっとも強力なモデルCodex-Sは37.7%, さらにpass@100で80%近くに到達.
コメント
皆さんもおそらくご存知のGPT-3. OpenAIが2020年5月に発表したその驚くべき言語モデルは, パラメタ数1,750億, その少し前にMicrosoftが(鼻高々で)発表したTuring-NLGの10倍という圧倒的な規模. そこらのGPUには到底乗らないサイズなので, OpenAIがどうやってこのモデルを作れたのかいまだにわかっていません.
その大きさにも増して世間を驚かせたのは, 薄気味悪いほどの言語能力. 挙げるときりがないですが, 機械が書いたとは思えないリアルなフェイクニュースを生成したり, Redditで怪しまれることなく大量の書き込みをしたり, 人間と自然に対話したり, さらには四則演算や素数の列挙もできる.
GPT-3は「単語の並びを見て次にくる単語を予測する」というごく単純な基準で訓練されています. この学習基準は, 一昔前の音声認識や機械翻訳で主流だったN-gram言語モデルと同じです. そんなGPT-3が上述した様々な能力を有することが, 当時の私にはまったく理解できませんでした(今もできてないけどw). ひとえにデータの規模, およびTransformerという画期的モデルのなせる業なのでしょう(LSTMで同じものは作れない).
もともとGPT-3には, 自然な言葉で指示するとコードを書いてくれるという能力が備わっていることが知られていて(例えば以下がその例),
I just built a *functioning* React app by describing what I wanted to GPT-3.
— Sharif Shameem (@sharifshameem) July 17, 2020
I'm still in awe. pic.twitter.com/UUKSYz2NJO
その能力に特化したモデルを作ろうというCodexの発想は自然です. デモ動画のインパクトは強く, OpenAIはまたしても世界をあっと驚かせることに成功しました. 筆者が思うのは以下の2点です.
GPT-4ではなかった
データを増やしてモデルを大きくすれば精度は際限なく上昇するというのがGPT-2の頃から見えている明らかな傾向なので, GPT-3をさらに大規模化したGPT-4の登場が期待されました. が, 今回OpenAIはそれをしませんでした. さすがにもう学習が実行不可能なのでしょう. 一説によるとGPT-3の学習に必要な計算量は355 GPU年. GPU-4は間違いなく1000年を超えますね. 今回のCodexも, GPT-3の最大モデル(175B)ではなく, 2番目(12B)を使っていることから, もうモデルの大型化の方向は限界ということかと.
もちろんCodexも十分すごいです. ただ, これってかなり実用を指向していますよね. こういう一機能に特化した実用的な成果は, 人間並みの汎用人工知能(AGI)を開発するという会社のビジョンと合致しているのかなという気が少し. これまでの同社の発表はもっとクレイジーで何の役に立つのかわからないものばかりだったように思います(例えばルービックキューブを解くDactyl, 前衛芸術みたいな絵を描くDALL-E). 現在, GPTシリーズの開発にはMicrosoftの投資が入っていますが, スポンサーの意向とかがあるんですかね? (邪推)
近未来のデータサイエンティストはどうなる?
前出のデモ動画の中でもData Science with Codexは, うちの学生など, データサイエンティストや機械学習エンジニアを目指す人々には衝撃です(もちろん教員にも). 勉強の中心の一つが近い将来には無駄になるかもしれないので. 10年ほど前には21世紀のもっともセクシーな職業と呼ばれたデータサイエンティストのあり方は, この先大きく変化すると思われます.
ただ, もともと変化がものすごく速い業界. 似たような変化はすでに起こっています. かつて, 機械学習には数学の素養が必要と言われていました. 今も言われてはいますが, 昔と比べると数学の重要度はかなり下がっています. だってScikit-learnがあれば, 中身なんか知らなくても5行程度のコードを書けばほとんどの機械学習アルゴリズムは動かせます. 深層学習(ニューラルネットワーク)も, 他の機械学習アルゴリズムと比べると実は数学力がそれほど求められません(学習理論などの領域は今でも高度に数学的ですが). つまり, 多少数学が弱くても機械学習が使いこなせる時代になっているわけです.
数学力は不要, コーディング力も不要. これが真だとすると, 将来のデータサイエンティストは何を武器として活躍しているのか? シンクタンクのコンサルタントに近い存在になっているような気がしますが, すみません, 現時点では正直まったくわかりません.




0 件のコメント:
コメントを投稿