キーポイント
- GPT-3 is the largest language model trained today.
- The basic operation mode of GPT-3 is to generate text responses based on the input text. Eg to answer a question or to write an essay based on a title.
- OpenAI now provides a developer API to interact with GPT-3 and build applications on top of it.
- GPT-3 is a few-shot learner. It requires priming with a few examples to work in a specific context.
- Once primed correctly, GPT-3 could perform math calculations and generate answers in programming languages, although it has not learned either explicitly.
GPT-3対応アプリケーションの最初の波は、「開発者のtwitter」を驚かせました。それらはAIの未来を垣間見せます。
GPT-3 (Generative Pre-Trained Transformer-3) は、OpenAIの最新かつ最高の自然言語予測モデルです。簡単に言うと、入力テキストに応答してテキストを生成します。質問や発言に答えるプログラムです。
GPT-3は、インターネットからの大量の自然言語テキスト(4990億語を含む45 TBのトレーニングテキスト)で事前トレーニングされています。GPUでトレーニングするには、少なくとも460万ドル (推定では1,200万ドルと見積もられる) が必要です。結果モデルには1750億のパラメーターがあります。
InfoQはOpenAIのGPT-3発表を6月に取り上げました。それは以前のどの言語AIモデルよりも100倍大きいです。公式のGPT-3調査研究で、OpenAIチームは、GPT-3が細かい調整なしですぐに最先端のパフォーマンスを実現することを実証しました。しかし、それは現実の世界でどのように機能するのでしょうか? それは単なるおもちゃでしょうか、それとも人類への深刻な脅威でしょうか? さて、最初のリリースから一月後、最初のGPT-3ベースのアプリケーションが登場しました。今、私たちは自身のために見ることができます。
ほとんどの開発者はGPT-3を使用して非常に迅速にプロジェクトを絶対に構築できると感じています。 - Yash Dani氏とGeorge Saad氏
この記事では、これらのクリエイターや起業家の多くにインタビューし、これらのアプリケーションのいくつかをレビューしました。開発者もジャーナリストも同様に、GPT-3を衝撃的で驚くべきものだと説明しています。
使い方
GPT-3モデルは、一度に1単語ずつテキストを生成します。架空の例として、開発者が次の単語を入力したとします。
"Answer to the Ultimate Question of Life, the Universe, and Everything is"
AIモデルは、応答として「forty」という単語を生成できます。次に、開発者は生成された単語を入力に追加し、モデルを再度実行します。
"Answer to the Ultimate Question of Life, the Universe, and Everything is forty"
今回は、AIモデルが「two」という単語を応答として生成できます。もう一度繰り返します。次の応答はピリオド記号であるはずなので、文が完成します。
"Answer to the Ultimate Question of Life, the Universe, and Everything is forty-two."
GPT-3は、この特定のポップカルチャーの参照をトレーニングのテキストから何度も見たため、これを行うことができます。したがって、そのニューラルネットワークは、「次の単語」を統計的に確実に推測できます。
ただし、自然言語では、予測は必ずしもそれほど明確ではありません。入力に続く単語は、コンテキストに依存することがよくあります。これが、Few-shotの学習者としてのGPT-3の強みです。Few-shotの学習は、いくつかの例でGPT-3を準備し、それから予測を行うことです。これにより、ユーザはAIモデルに言語コンテキストを与えることができ、精度が劇的に向上します。図1は、AIモデルを準備して外国語翻訳を生成するためのZero-shot、One-shot、およびFew-shotの学習の例を示しています。
図1. AIトランスレーター向けの3つのタイプの学習。画像提供: Language Models are Few-Shot Learners, Fig 2.1
Few-shot学習は、人間の赤ちゃんが言語を学習する方法と非常に似ています。学習者は文法規則からではなく、言語の例から学びます。後で説明するように、GPT-3をさまざまな例で準備することにより、開発者は大きく異なるアプリケーションを作成できます。
Jay Alammar氏が、GPT-3がどのように機能するかを示すビジュアルアニメーションを含む素晴らしい記事を書きました。詳しくはこちらをご覧ください。
チューリングテストに合格していますか?
言語AIについて人々が最初に尋ねる質問の1つは、それがチューリングテストに合格し、人間を人間であると誤解させることができるかどうかです。なるほど、GPT-3はすでに人間をだますことができると主張する人もいます。図2は、GPT-3によって生成されたエッセイを示しています。GPT-3チームによると、機械で書かれたものであるとわかる人間は12%未満です。
図2. オリジナルの記事はGPT-3によって書かれました。画像提供: Language Models are Few-Shot Learners, Fig 3.14
少しの準備で、GPT-3は有名人の書体を模倣できます。Learn from anyoneプロジェクトでは、有名人を選んでトピックを提供できます。この人物の既知の記述でGPT-3を準備し、トピックテキストを入力として使用します。その後、GPT-3によって生成された200ワードのエッセイを返します。結果がそれ自体を物語っています。あるツイートは、ロケットについて話すのがElon Musk氏だと簡単に偽装することを示しています。火星探査についてコメントしているThomas Jefferson氏を想像してみてください! または、COVID-19とマスク着用についてのFauci博士の引用を生成します。GPT-3の時代にインターネットで何かを信頼できますか? この記事の後半で、この時点に戻ります。
もちろん、有名人のほかに、GPT-3は誰でもエミュレートできます! 開発者Ravi Vadrevu氏は、ユーザ向けのビジネス用メールスニペットを記述するサービスを作成しました。アプリケーションは、ユーザの過去の電子メールの記述を使用してGPT-3を準備します。GPT-3は、リクルート、ネットワーキング、販売などの特定の意図を入力として、ユーザに代わってメールを書き込みます。このようなサービスは、チューリングテストに合格したGPT-3に賭けています。
翻訳と弁護士
GPT-3が学んだ4990億語のうち、一部は英語ではありません。単語をコンテキストに関連付けることにより、GPT-3は翻訳を実行できるように見えます (図1も参照)。GPT-3論文では、著者はGPT-3を準備して英語からフランス語、スペイン語への翻訳を行う方法の例を示しました。
コンテキストの中で英語の単語を理解する能力は、興味深い可能性をもたらします。たとえば、RevtheoはGPT-3ベースの辞書で、ユーザのコンテキストに基づいて単語の意味をユーザに提供します。
しかし、おそらくもっと興味深いのは、GPT-3がパラグラフベースの英語から英語への「翻訳」を行うことです! これは、英語のテキストのパラグラフを言い換えて、より簡潔または厳密にすることです。法務の技術系起業家であるFrancis Jervis氏は、GPT-3を「弁護士のように書く」ために準備し、日常の英語のステートメントを法律家の言い回しに翻訳するように言いました。結果は非常に有望です。明らかに、機械で生成された法的言語を額面どおりに受け取ることは困難ですが、GPT-3は弁護士の助手となり、弁護士の生産性を向上させることができると法律専門家は述べています。反対に、投資家のMichael Tefula氏は、複雑な法律家の言い回しをプレーンな英語に翻訳するためにGPT-3を準備しました。どちらの場合も、GPT-3を準備するために必要なのは2〜3の例だけです。結果は完璧ではありませんが、かなり近いです。GPT-3は法律家向けのトレーニングを受けていないことに注意してください。いくつかの簡単な例で実行するように準備されただけです。
会計士とデザイナ
GPT-3論文の興味深い発見の1つは、AIが言語から「数学を学ぶ」能力です。AIは、基礎となる数学の構造や定理を教えられることはありません。それでも、数学の質問に対する正しい答えを生成できます。単純な2つの数値の加算の場合、GPT-3は、数値の意味を学習したことがないにもかかわらず、ほぼ100%正確です。図3に、GPT-3論文の例をいくつか示します。
図3. GPT-3は計算を行います。画像提供: Language Models are Few-Shot Learners, Figs G.42 to G.48
この数学機能とGPT-3がトレーニングで多くの構造化データがわかるという事実を組み合わせると、英語の入力を、JSONやXMLなどの構造化されたデータ出力で応答するようにAIを準備することができるようです。
開発者のYash Dani氏とGeorge Saad氏は、英語のトランザクションの説明をPythonデータオブジェクトに変換する8つの例でGPT-3を準備しました。ここに彼らの訓練データの例があります。
- Input: I bought an additional $1200 worth of inventory which I paid for immediately. (現金払いで$1200の在庫を購入しました)
- Output: [["add", 1200, "Inventory"], ["remove", 1200, "Cash"]]
次に、このオブジェクトを処理し、そのコンテンツをExcelスプレッドシートに挿入するPythonプログラムを作成しました。その結果、トランザクションのカジュアルな説明に基づいて財務諸表を更新できる自動化された会計士が誕生しました。
自然言語を使用してExcelファイルを操作および編集できる場合、PowerPointでも同じことができるでしょうか? 案の定、こちらはTwitterユーザnutanc氏のPowerPointを作成したデモです。
開発者のJordan Singer氏は、同様のアプローチでFigmaプラグインを作成しました。このプラグインにより、ユーザはユーザインターフェイス (UI) を英語で記述し、GPT-3を使用してUIの構造化JSON表現を生成し、コンピュータプログラムを使用してJSONコンテンツをFigmaにレンダリングできます。Jordanの開発者エクスペリエンスについての詳細を読んでください。
これらの例では、GPT-3は構造化データを出力します。構造化データは、別のコンピュータプログラムによって処理されてタスクを完了します。 これは、自然言語AIアプリケーションの非常に有望なモダリティのようです。
ノーコードプログラマ
GPT-3がコンピュータプログラムで使用される構造化データを生成できる場合は、もう1つのステップでコンピュータプログラムを直接生成できます。これは可能ですか? 答えはイエスのようです!
- 英語の説明からLatex式を生成する。Shreya Shankar氏
- 実際のデータベースで機能するSQLクエリを生成する。Faraaz Nishtar氏
- 説明に基づいてJavaScriptで3Dシーンを生成する。Antonio Gomez氏
- サーバーを管理するためのAWS CLIコマンドを生成する。Suhail CS氏
- 完全なReactアプリケーションUIを生成する。Sharif Shameem氏
何人かの開発者はInfoQ.comに、構造化された出力を生成するGPT-3のパフォーマンスにはプライミング (priming) が重要であると語りました。システムは適切な例で準備する必要があります。他のディープニューラルネットワークと同様に、GPT-3は主に人間にとってブラックボックスです。そのため、正確な出力用に準備するための正しい例を考え出すのは困難です。これは、数日かかる可能性のある試行錯誤のプロセスです。
パターンをキャッチするには、いくつかの例が必要です。それは魔法のように動作します。 - Tushar Khattar氏
GPT-3アプリの開発は、従来のプログラミング言語でアルゴリズムを記述することではなく、AIを準備するための自然言語の例を考え出すことです。ソフトウェア開発に新しい仕事を生み出す新しいタイプのノーコードスキルが必要です。
人間は、AIビルド、ヒューマンデバッグを記述します。- Ethereumクリエイター、Vitalik Buterin氏
機械で生成されたコードは、魅力的な (そして有益な) 将来の研究分野になる可能性があります。教師なし学習を使用して、1つのプログラミング言語 (Pythonなど) から別のプログラミング言語 (C++など) に変換する、Facebook ResearchのTransCoderプロジェクトなど、プログラミング言語の出力を生成するAIシステムを意図的に構築することもできます。
私たちが理解できるAI
OpenAIの名前にもかかわらず、GPT-3はオープンソースでもオープンアクセスでもありません。開発者がモデルを準備し、テキストを送信して応答を取得するためのシンプルなWebサービスAPIを提供します。APIはシンプルですが、待機リストがあります。
ここまで、素晴らしいことでした。GPT-3がどれほど速く学習するかを見ることができることは信じられないことです。対話するコアエンドポイントが1つで、APIはこれ以上単純なものにはなりません。そして、テキストイン、テキストアウトのアイデアは、あなたがあなたの心が思いつくことができる何でもすることを可能にします。 - Jordan Singer氏
GPT-3アクセスへの障壁は意図的なものです。これまで見てきたように、GPT-3は強力なソフトウェアです。ただし、これはブラックボックスであるため、生成されるテキストを簡単に予測または制御することはできません。すでに説明したように、正確な出力の準備は、ほとんどが試行錯誤のプロセスです。人種差別、誤認、およびインターネット上に存在するその他の不快なコンテンツの量、したがって、おそらくGPT-3の4990億語のトレーニングデータを考慮すると、監視されていないGPT-3は、偏ったまたは有害なテキストを生成する可能性があります。たとえば、GPT-3が生成できる説得力のある偽のニュース記事の種類について考えてみてください。
開発者コミュニティは、強力なAIシステムを応答的に使用する必要があります。たぶん、禁止された単語リストを提示するだけではなく、言語モデルがどのように機能するかを深く理解する必要があります。
AIが政治的に正しくないことをしたり言ったりすると、人々は怒る。彼らがそのような結論を出すのを防ぐのが難しい場合、これを修正する最も簡単な方法は、彼らに考えを隠すように教えることでしょうか? AIを教え始めるのは恐ろしいスキルのようです。- TwitterのPaul Graham氏
人間が理解するのは難しく、説明や制御を行うのははるかに困難ですが、AIブラックボックス内の推論は、AIが私たち自身に説明できるでしょうか? ソフトウェア開発者のDaniel Bigham氏は、GPT-3に、英語の文法の誤りを修正し、修正の理由を考え出すように依頼しました。GPT-3が文法規則を明示的に教えられたことがありません。その結果は驚くべきものです。例から理解を導き出しました。例を示します。これは、AIの説明可能性に向けた小さな、しかし魅力的なステップです!
- Input: Its time to get cracking!
- Output correction: It's time to get cracking!
- Output explanation: 所有格の「its」の代わりに「it's」という短縮形を使用する必要があります。
開発者がGPT-3で作成および説明できることの限界を押し広げることを期待しています!
ブラックボックス
GPT-3には大きな期待が寄せられていますが、ニューラルネットワークAIを長年悩ませてきた問題がいくつかあります。具体的には、他の常識的なタスクに無残に失敗しながら、いくつかのタスクを驚くほどうまく実行します。AIはそれに与えられたタスクを本当に理解しているでしょうか?
哲学的レベルでは、それは重要ではないかもしれません。結局のところ、AIは数学、翻訳、および文法チェックを行うことができます。AIが数学と文法の概念を教えられなかったことは重要でしょうか? GPT-3は、数学と文法のルールを導き出し、それらを適用することができました。しかし、GPT-3アプリケーションを構築する開発者にとって、AIの「知識」の境界を知らないことは厄介であり、AIが処理できない場合に注意する必要があります。
この記事では、GPT-3アプリケーションの印象的な例をいくつか紹介しました。しかし、開発者たちは、これらの結果を生成するためにシステムを注意深く「準備」する必要性についてもInfoQに語りました。つまり、ある意味では、これらの結果は厳選された証拠です。さらに悪いことに、GPT-3はブラックボックスであるため、開発者が特定のプライミングが機能する一方で他のアプローチが失敗する理由を理解することは困難です。前のセクションで述べたように、GPT-3が広く採用される前に、説明可能性はおそらく最も重要な制限の1つです。
万物のためのAI
GPT-3は、べき乗則関係のモデルサイズとともにAIパフォーマンスが向上することを示しています。拡大し続けるモデルサイズは、より強力で正確なAIを生み出します。これは私たちの時代のムーアの法則でしょうか?
ディープラーニングのパイオニアであるGeoffrey Hinton博士は、GPT-3を推定し、宇宙の究極の質問に答えることができるAIには42ではなく4.2兆のパラメーターが必要であると冗談を言いました。これはGPT-3の25倍にすぎません。
GPT3の壮大なパフォーマンスの未来を推定すると、生命、宇宙、そして万物についての答えはたったの4.398兆のパラメーターであることが示唆されます。 - Twitter: Geoffrey Hinton氏
ここで、この記事の冒頭で尋ねた架空の質問を思い出してください。答えは4.398兆になり、インターネット上にあり、GPT-4のトレーニングデータの一部になります。GPT-4は、宇宙の究極の問題にどのように答えるでしょうか?
免責事項: この記事は人間であるVivian Hu氏によって書かれました。GPT-3では書かれていません。
著者について
Vivian Hu氏は、アジアのオープンソースマニアであり、デベロッパアドボケイトです。彼女はSecond Stateのプロダクトマネージャーです。彼女は、より優れたツール、ドキュメント、チュートリアルを通じて、開発者のエクスペリエンスと生産性の向上に深く関心を持っています。Vivian Hu氏はWebAssembly TodayでWebAssembly、Rust、サーバレスの週刊ニュースレタを書いています。