汎用人工知能 OpenAIとは?GPT-3は何がすごいのか? -日本一詳しいOpenAI入門

2015年13月にテスラ社のイーロン・マスクを始めとする実業家・投資家によって設立された人工知能 研究機関”OpenAI”。

OpenAIのミッションはartificial general intelligence (AGI)が全人類に利益をもたらすことを確実にすること。この先の世の中に大きく影響を与えるAIが正しく使われ、人々に有益な結果が出るのであれば、それが自分たちOpenAIでなくても問題ないとなっています。

映画:ターミネーターのように未来に悪意あるAIが人々に害するようなことが起きる前に、AIが人々に有益な世の中を作るということでしょうか?

OpenAIが提供するアプリケーション

現時点では、下記のように大きく3つあります。

1. 2016年4月から提供されている強化学習アルゴリズムの検証プラットフォーム「OpenAI Gym」

2. 教師なし言語モデル「GPT-3 (Generative Pre-trained Transformer 3)」

3. GPT-3の技術を使い自然言語と画像処理を組み合わせて新たな画像を生み出す「DALL·E」

AIは学習して最適な答えを出すことに向いていますが、ゼロから新しいことを生み出すクリエイティブなことには向いていないと言われています。しかしOpenAIの凄さは、GPT-3は状況に合わせた新しいアイディアを無数に生み出したり、DALL·Eはアボカドの形をしたソファのような画像を無数に生成したりすることが出来ます。

中でも、汎用人工知能といっても過言ではないGPT-3は今までのAIアプリケーションとは大きく異なります。

GPT-3とは

技術的な特徴としては、モデルに含まれるパラメータ数が約1750億個あることです。

GPT-3は2020年5月に発表されましたが、2019年2月に発表されたGPT-2の15億個から1年もかからず100倍以上になっています。この速度でパラメータ数が増えることを考えると、人間の脳にあるシナプス(神経細胞のつなぎ目)の数100兆個を数年で超えることが予想されます。

数年前まで汎用的な「強いAI」は実現するにはまだまだ時間がかかると思われていましたが、GPT-3を使うと既に実現していることが実感できます。

そのため、多くの言葉やコードを扱うアプリケーションを教師なしモデルで作ることが出来ます。

GPT-3の汎用性とは

従来、AIの技術を使おうとすると翻訳・チャット・Q&Aなど1つ1つの用途に合わせて学習を行い、専用性の高いAIを作る必要がありました。

例えば、Azureのサービスについて答えてくれるチャットを作ろうとすると、

4. Azure QnA Makerサービスに、学習してほしいページの情報を集めて学習させる

5. Azure Bot Serviceと上記をつなげ、意図した質問をするためのチャットボットを構築する

という手順となり、1と2の知識・時間が必要でした。

また、日本語を英語に変換するような社内チャットを作ろうとすると 、

6. Azure Bot Serviceでユーザーから翻訳したい文章をやりとりするためのチャットボットを構築

7. 上記とTranslateサービスをつなげて翻訳したい言語を指定する

といった新たなサービスを立ち上げる必要がありました。

そのため社内でDX推進に向けたデータ化やAI活用などを進めるにも、多くの技術を理解する必要があり、技術・工数・金額など多くの課題にあたる状況にありました。

これに対してGPT-3では、会話、アイディア生成、ソースコード作成・修正・翻訳・Q&Aなど、1つのエンジンで作ることが出来ます。ここで上げた例はほんの一部で、様々なことをGPT-3だけで実現することが出来ます。

例えば、OpenAIのサイト上にあるExamplesの1つ目Chatと2つ目Q&Aのプログラムを比較しても、若干パラメータが異なるだけで2つの異なるアプリケーションを動かすことが出来ます。

1Python Code: Chat 
2
3‘’’ 
4
5response = openai.Completion.create( 
6
7  engine="davinci", 
8
9  prompt=str, 
10
11  temperature=0.9, 
12
13  max_tokens=150, 
14
15  top_p=1, 
16
17  frequency_penalty=0.0, 
18
19  presence_penalty=0.6, 
20
21  stop=["\n", " Human:", " AI:"] 
22
23) 
24
25‘’’
1Python Code: Q&A 
2
3‘’’ 
4
5response = openai.Completion.create( 
6
7  engine="davinci", 
8
9  prompt=str, 
10
11  temperature=0, 
12
13  max_tokens=100, 
14
15  top_p=1, 
16
17  frequency_penalty=0.0, 
18
19  presence_penalty=0.0, 
20
21  stop=["\n"] 
22
23) 
24
25‘’’

GPT-3の優れている点

上記以外の特徴として、Codexという文章からそれを実行するプログラムを自動生成する機能があります。例えば「明日の東京の天気を取得」と入力するだけで、10秒もかからずに以下のプログラムが生成されました。

実は以下のプログラム自体は動かないのですが、通常であれば作り方やAPIの使い方を調べるなどの時間をかけないと作れないようなものが一瞬でできるため、あとは問題点のみを修正すればすぐに使えるようになります。No Code, Low Code以外の流れでもプログラムを書かなくて良くなりそうですね。

1Python Code 
2
3‘’’ 
4
5import requests 
6
7import json 
8
9 
10
11url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=130010" 
12
13 
14
15response = requests.get(url) 
16
17 
18
19data = json.loads(response.text) 
20
21 
22
23print 
24
25‘’’

他の特徴としては、教師なし言語モデルながら教師ありで使うことも出来ます。

汎用人工知能を自社で必要な学習をさせた上で、社内で活用するといったことが出来ます。

まとめ

主にGPT-3を中心にOpenAIのことを紹介させていただきました。ここに上げていることはごく一部のみで、触っていくとOpenAIの凄さを体験することが出来、今までのサービスでは実現が難しかったことが、OpenAIならできるということがわかります。

この記事を書いた人

azure-recipe-user