OpenAIが文章生成AIのGPT-3を商用化

OpenAIは、その機械学習技術を使って企業がテキストを生成、分析、処理することで収入を得る初の商用サービスを6月に開始した。マイクロソフトのクラウドプラットフォームAzureからAPI経由で同社が開発したテキスト生成器「GPT-3」を利用できる。

OpenAI APIは、今のところ、実験に興味のある企業や学術関係者にベータ版として提供されているに過ぎない。サービスへの2ヶ月間の無料アクセスを提供しています。APIは、言語翻訳、質問と回答、テキストの生成と要約など、さまざまなタスクを実行する。

2019年の春、人工知能研究機関OpenAIは、フェイクニュース記事を含むテキストを生成するのに非常に優れたソフトウェア「GPT-2」を作ったが、それは公開するにはあまりにも危険だと述べた。しかし、大学院生二人がソフトウェアを再現したとき、OpenAIはオリジナルのものをリリースし、商業化への道筋が開かれた。

これは、サンフランシスコに拠点を置く研究所が、AIモデルで収益を上げるために取った最初のステップだ。OpenAIは2015年に、イーロン・マスクをはじめとするシリコンバレーの著名人によって非営利団体として設立され、汎用人工知能の実現を目標に掲げた。マスクは2018年にラボと決別し、2019年には営利企業となり、マイクロソフトから10億ドルの投資を受けた。OpenAIのリーダーたちは、投資家の利益のために研究を商業化することによってのみ、AIのフロンティアで歩調を合わせるために必要な数十億ドルを調達できると主張している。 数百万、数十億のパラメータを含む大規模なAIモデルを訓練し、実行するのに必要な計算量は自明のことではなく、生き延びるには、それだけの現金が必要だ。

OpenAIのサービスは、過去2年の間にコンピュータの言語処理能力を飛躍的に向上させた機械学習技術の上に構築されている。機械学習アルゴリズムは、ウェブから集められた膨大なテキストのコレクションを分析して、言語の使用に関する統計的なパターンを発見するように指示されている。その後、ソフトウェアを調整して、事実に基づいた質問に答えたり、文書を要約したりするようなタスクを実行することができる。

Googleは検索エンジンで長いクエリを処理する方法を改善するためにこの種の自然言語処理(NLP)技術を利用しており、Microsoft Officeは文法の不具合を発見するためにこの種の技術を利用する。OpenAIは、この技術をより大規模なものに押し上げ、テキストを生成するソフトウェアを作ることに注力している。文章の断片を与えられると、それを基に構築し、統計的に類似した性質を持つ文章を解きほぐしていく。その結果は、時として現実とはかけ離れたものになることもありますが、非常に滑らかなものになる。

このサービスは、翻訳や画像タグ付けのような1つのタスクを実行し、特定のコマンドで制御するのが一般的な多くのAIクラウドサービスよりも、よりオープンエンドなものとなっている。OpenAIの技術を利用したいプログラマーは、人間が読めるテキストを提出するだけで、新しく生成されたテキストを返してもらうことができる。

GPT-3とは?

GPT-3は、あらゆる種類の情報を網羅した大規模なテキストデータのコーパス上で訓練されているため、機械翻訳、質問と回答、空白の単語を埋めて文章を完成させるなどのことができる。興味深いことに、基本的な足し算や引き算などの簡単な計算もできる。

GPT-3は、ウェブやデジタル化された書籍から集められた約1兆個の単語のコレクションを使って、同社がマイクロソフト社に支払って構築した数十万個のプロセッサーを搭載したスーパーコンピューター上で訓練され、同社の10億ドルの投資の一部を効果的に還元している。

AIサーバーやワークステーションを構築しているLambda Labs社の調査によると、GPT-3は非常に大規模なモデルで、1750億個のパラメータを含み、複数のデータセットで訓練されている。市場で最も低価格のGPUクラウドを使った場合、トレーニングには355年と460万ドルが必要になる。

OpenAIは、ソフトウェアを訓練するためにデータを処理するために使用したハードウェアについてはあまり明らかにしなかったが、Nvidiaと推定できる。Microsoftは「Microsoftが提供した高帯域幅クラスタの一部にV100 GPUを搭載」しており、「事前訓練中に数千ペタフロップ/秒の計算を消費した」と言及している。これは、Redmondが今年のMicrosoft Buildカンファレンスで発表した、OpenAI用にスピンアップした「スーパークラスター」のように聞こえる。

データセンター用GPU「Nvidia 100」. Image courtesy of Nvidia.

GPT-3を開発したOpenAIの研究者らの論文によると、GPT-3は単一のエンティティとして複数のタスクを実行することができ、その中には専門的なトレーニングをほとんど、あるいは全く必要としないものもあるが、その性能は特定の仕事のために微調整された他の機械学習モデルほどではないという。GPT-3は、あらゆる種類の情報を網羅した大規模なテキストデータのコーパス上で訓練されているため、機械翻訳、質問と回答、空白の単語を埋めて文章を完成させるなどのことができる。興味深いことに、基本的な足し算や引き算などの簡単な計算もできる。

しかし、タスクごとにパフォーマンスは異なり、翻訳や数学の問題解決など、狭い用途に特化して作られたモデルには敵わない。また、GPT-3は質問に答えるのが苦手な場合もある。トリビアは得意だが、「空はなぜ青いのか?」のような複雑な質問には戸惑う。

さらに、上述の論文によると、GPT-2からあまり言語処理上の進歩は見られなかったようだ。「GPT-2のリリース以来、言語モデルを使用することで潜在的な利益が得られる可能性のある操作には目に見える違いはなかった」。

当初、OpenAIはテキスト生成モデルが悪用されたことで大騒ぎしていた。その前身のGPT-2は、フェイクニュースやスパムを吐き出すために兵器にされる可能性があるという懸念から、2019年2月にリリースするには危険すぎると考えられていた。

GPT-3が1750億パラメータで構成される理由

arXivに公開された論文では、30人以上の共著者からなるチームがモデルといくつかの実験について説明している。研究者たちの目標は、微調整をほとんど、あるいは全く行わずに、さまざまなタスクで高い性能を発揮するNLPシステムを作ることであり、これまでの研究では、より大きなモデルが解決策になる可能性があることが示されていた。

この仮説を検証するために、研究チームは以前のモデルであるGPT-2のパラメータを15億個からGPT-3では、1750億個に増やした。トレーニングのために、チームはCommon CrawlデータセットとWikipedia英語版を含むいくつかのデータセットを収集した。このモデルはいくつかのNLPベンチマークで評価され、「クローズドブック」の質問応答タスクで最先端の性能にマッチし、LAMBADA言語モデリングタスクで新記録を樹立した。

OpenAIは昨年、GPT-2について、「技術の悪意のある応用に関する懸念」のために、訓練されたモデルの15億パラメータのバージョンをリリースしないという決定をしたことで注目を集めた。

GPT-2は、Transformerアーキテクチャをベースにした多くの大規模NLPモデルの1つである。これらのモデルは、ウィキペディアのコンテンツのような大規模なテキストコーパス上で、自己教師付き学習を用いて事前に訓練されている。このシナリオでは、期待される出力と対になった入力を含むデータセットを使用する代わりに、モデルは「マスクされた」単語を含むテキストのシーケンスを与えられ、周囲の文脈に基づいてマスクされた単語を予測することを学習しなければならない。この事前学習の後、モデルは、質問応答などの特定のNLPタスクのために、ラベル付きのベンチマークデータセットで微調整される。

しかし、研究者たちは、特に大規模なデータセットで事前に訓練された大規模なモデルでは、微調整を行わなくても、事前に訓練されたモデルがかなり良いパフォーマンスを発揮することを発見している。今年の初め、OpenAIはTransformerモデルについて「スケーリングの法則」を提唱する論文を発表した。いくつかの異なるTransformerベースのモデルの性能データに基づいて、OpenAIは、モデルの性能(この場合、テストデータセットでの交差エントロピー誤差)は、モデルパラメータの数、データセットのサイズ、トレーニングに使用される計算量と力の法則的な関係があると結論づけた。これら3つの変数のいずれかを増やすことで、性能が向上する。

事前学習のために、チームはCommon Crawl、WebText、英語版Wikipedia、2つの書籍コーパスで構成されたデータセットを収集した。データの品質を向上させるために、研究者たちはCommon Crawlをフィルタリングして冗長性を除去した。Common Crawlはインターネットからスクレイプされているため、ベンチマーク評価のための実際のテストデータが含まれている可能性があり、これがトレーニングを「汚す」ことになる。チームはこの汚染を除去しようと試みた。しかし、彼らは「残念ながら、フィルタリングのバグにより、いくつかの重複を無視することができず、トレーニングのコストのためにモデルを再トレーニングすることができなかった」と認めている。

チームはこのデータを用いて、1億2500万個のパラメータから1750億個のパラメータまでの8つのバージョンのモデルを訓練した(下図)。これらのモデルは、幅広いカテゴリの数十種類のNLPベンチマークで評価され、多くの場合、最先端に近い、あるいはそれ以上の性能を示した。

ニュース記事生成タスクでモデルを評価するために、研究チームはAmazon Mechanical Turkを使用して人間の判定員を雇い、一対の記事のうちどちらが本物でどちらがGPT-3で生成されたものかを推測させた。人間が本物の記事を選んだのは52%であり、要するに、人間はコインをひっくり返しても本物の記事を選ぶことはできないということである。チームはまた、モデルの弱点についても議論した。例えば、テキスト合成については、「GPT-3のサンプルは、まだ時々、文書レベルで意味的に繰り返し、十分に長い文章の間に一貫性を失い始め、矛盾し、時折、非論理的な文章や段落を含む」としている。このモデルはまた、「チーズを冷蔵庫に入れたら溶けるか」というような「常識的な物理学」の質問にも対応できない。

学習したモデルのサイズ、アーキテクチャ、学習ハイパーパラメータ(トークン単位のバッチサイズと学習率)。すべてのモデルは、合計3,000億トークンで学習された。Source: OpenAI.

NLP研究コミュニティの何人かのメンバーが、このモデルの大きさについてTwitterでコメントしている。Alchemy APIの創設者であるElliot Turnerは、最大のモデルを訓練するためのコストはほぼ1200万ドルになるだろうと推測している。ジョージア技術大学のMark Riedl教授は、モデルサイズとパフォーマンスの関連性についての説明を提案している。彼は「1つの仮説は、GPT-3は非常に多くのパラメータ(訓練されたトークンの数の半分)を持っているので、記憶ネットワークのように動作し始めているということです」と大胆な仮説を唱えている。

計算基盤

「各モデルの正確なアーキテクチャパラメータは、GPU間のモデルレイアウトにおける計算効率と負荷分散に基づいて選択されている」とOpen AIは述べている。「すべてのモデルは、Microsoftが提供する高帯域幅クラスタの一部である「NVIDIA V100 GPU」上で訓練された」。

OpenAIは、すべてのAIモデルをディープニューラルネットワークのためのGPUアクセラレーションライブラリcuDNNで加速されたPyTorchディープラーニングフレームワーク上で訓練している。

7月初め、マイクロソフトとOpenAIは、同社専用に構築された新しいGPUアクセラレーティッドスーパーコンピュータを発表した。OpenAIのために開発されたスーパーコンピュータは、28万5000個以上のCPUコア、1万個以上のGPU、各GPUサーバーのための毎秒400ギガビットのネットワーク接続性を備えた単一システムとマイクロソフトのブログは説明している。

参考文献

  1. Tom B. Brown, et al. Language Models are Few-Shot Learners. arXiv 2005.14165.
  2. Jared Kaplan et al. Scaling Laws for Neural Language Models. arXiv 2001.08361.

Photo by Joel Naren on Unsplash