![見出し画像](https://assets.st-note.com/production/uploads/images/30490698/rectangle_large_type_2_a1bf4bc5835f8d21a2c936b9be8f6b8b.png?width=800)
GPT-3を活用することで自然言語からコードを自動生成
こんにちは、Choimirai School のサンミンです。
【主要なアップデート】
(2020.07.22)グーグルシート用の関数、gpt3() を追加
(2020.07.22)Repl.it のコード仕様説明ツールを追加
(2020.07.20)ReactでTODOリストのアプリを生成する動画を追加
0 はじめに
2020年5月28日に発表された、GPT-3。
GPT-3: Language Models are Few-Shot Learners, by @notTomBrown et al.
— hardmaru (@hardmaru) May 29, 2020
“We train GPT-3, an autoregressive language model with 175 billion parameters, 10x more than any previous non-sparse language model, and test its performance in the few-shot setting.”https://t.co/qhcHPSH22I pic.twitter.com/ng1Dc6aFg3
2月にマイクロソフトが発表したT-NLGのパラメータ数が170億だったのに対し、GPT-3はなんと、その10倍の1750億パラメータ。
今回の note ではGPT-3を活用し、自然言語からコードを自動生成する様子を紹介します。
1 自然言語からコードを自動生成
GPT-3を活用し、様々な問題を解決しようとする動きは活発に行われています。中には、自然言語からコードを自動生成する試みも。
同プログラムを使って、グーグルのサイトを再現するデモ↓。これも凄い👏!GPT-3の性能からすると汎用人工知能(Artificial general intelligence、AGI)の実現時期が、30年後ではなく10年後になるのではないかと思える。しかし、日本ではほとんど話題になってない気がする。pic.twitter.com/DcxpMNdONK
— Sangmin @ChoimiraiSchool (@gijigae) July 15, 2020
モデルを学習させるためにやったのはサンプルを2つ書いて、トレーニングさせるだけ!
I only had to write 2 samples to give GPT-3 context for what I wanted it to do. It then properly formatted all of the other samples.
— Sharif Shameem (@sharifshameem) July 13, 2020
There were a few exceptions, like the JSX code for tables being larger than the 512 token limit. pic.twitter.com/5jTdwddapU
生成されたコードをJSXから、HTML/CSSなど他のフォーマットに変えるのも簡単。
If I wanted it to write output plain HTML/CSS instead of JSX, all I would have to do would be to re-write my 2 initial samples in HTML/CSS.
— Sharif Shameem (@sharifshameem) July 13, 2020
Then all of GPT-3's outputs would be in plain HTML/CSS.
GPT-3のコード生成機を試してみたい方はGoogle Formで申請することが出来ます。
If you want to try the gpt-3 code generator for yourself, you should go here: https://t.co/AgF2yWLvzd
— Sharif Shameem (@sharifshameem) July 13, 2020
【追記:2020.07.20】ReactでTODOリストのアプリを生成する様子
GPT-3を使って、TODOリストを作るコード(React)を自動生成。そして、そのままアプリとして利用できるという😱。IT業界が根底から変わる気がします。pic.twitter.com/YZU4IsjlZC
— Sangmin @ChoimiraiSchool (@gijigae) July 18, 2020
2 コードから仕様を説明
Repl.it からは「コード→仕様説明」をするツールも登場です。
自然言語からコードを生成することで話題の、GPT-3。今度は逆に、コードを見て、その仕様を自然言語(英語)で説明してくれるツールが登場😱。pic.twitter.com/TWK3XE1D8x
— Sangmin @ChoimiraiSchool (@gijigae) July 22, 2020
ここで吐き出された説明を、GPT-3 Code Generatorに渡してみるのも面白いと思います。
もしかすると、吐き出された説明を「GPT-3 Code Generator↓」へ入力すれば、元のソースコードが生成される?pic.twitter.com/YZU4IsjlZC
— Sangmin @ChoimiraiSchool (@gijigae) July 22, 2020
3 グーグルシートの関数、gpt3()
周りのデータによって、適切な結果を算出する関数も。GPT-3の性能から考えますと汎用的人工知能(Artificial general intelligence、AGI)の実現時期が、30年後ではなく10年後になるのではないかと思えます。
GPT-3で作ったグーグルシートの関数、gpt3()📋。
— Sangmin @ChoimiraiSchool (@gijigae) July 22, 2020
数少ない(3〜4つ)データからパターンを見出すのが天才すぎる。
同じ関数で、
① 州の人口
② ツイッターのユーザー名
③ 所属する企業名
④ 数字の計算
等複数の処理ができる。空気を読む力がハンパない👏!pic.twitter.com/ayWkIlphZe
4 GPT-3 を使った他の事例
AI Dungeon もGPT-3 モデルにアップグレードしたようです。
Excited to announce that we've released the massive new Dragon Model for AI Dungeon! 🎉🎉 🐉
— Nick Walton (@nickwalton00) July 14, 2020
It's built on the largest GPT-3 model by @OpenAI and we and the users who've tried it have been blown away by how much better it is.https://t.co/jV4edUFDTA
複数のツイートをサンプルとして学習させ、より詳しい解説を生成する使い方も。
I am completely floored. Someone run a thought of mine through GPT-3 to expand it into an explanation of what I had in mind, and it's like 95% meaningful and 90% correct. I don't think that I have seen a human explanation of my more complicated tweets approaching this accuracy :) https://t.co/UzckuN8TmV
— Joscha Bach (@Plinz) July 15, 2020
5 API for OpenAI
GPT-3モデルをより手軽に使えるAPIも6月からスタートです。
A new API for OpenAI technology: https://t.co/Kirkqr0rZx
— Sam Altman (@sama) June 11, 2020
It can do a lot today, and it will learn to do more.
APIへのアクセスは順番待ちの状態ですが、ご興味のある方はぜひ申し込んでください。
We're releasing an API for accessing new AI models developed by OpenAI. You can "program" the API in natural language with just a few examples of your task. See how companies are using the API today, or join our waitlist: https://t.co/SvTgaFuTzN pic.twitter.com/uoeeuqpDWR
— OpenAI (@OpenAI) June 11, 2020
今回のAPIはOpenAIの社内でも重宝されているようです。
We’ve designed the API to be both simple for anyone to use but also flexible enough to make machine learning teams more productive. In fact, many of our teams are now using the API so that they can focus on machine learning research rather than distributed systems problems. Today the API runs models with weights from the GPT-3 family with many speed and throughput improvements. Machine learning is moving very fast, and we’re constantly upgrading our technology so that our users stay up to date.
APIは誰でも簡単に使えるように、また機械学習チームがより生産性の高いものになるように柔軟に対応できるように設計されています。実際、(OpenAI)チームの多くがAPIを使用しており、分散システムの問題よりも機械学習の研究に集中できるようになっています。現在、APIはGPT-3ファミリーの重みを持つモデルを、多くのスピードとスループットの向上とともに実行しています。機械学習の動きは非常に速く、ユーザーが常に最新の状態を維持できるように、私たちは常に技術をアップグレードしています。
6 まとめ
GPT-3の出現でプログラミングがいらなくなる世界の具体的な方向性が見えてきた気がします。
そのうち、日本語版のGPT-3も出てくると思います。が、パラメータ数の推移でも見たように機械学習の研究は急速に発展していて、これらの技術をいち早く活用する意義は大きい。その為にも、英語で一次情報にアクセスする人が増えて欲しいです。
この記事が気に入ったらサポートをしてみませんか?