株式会社オルツ 最高技術責任者 西川 仁(にしかわ・ひとし)
慶應義塾大学大学院政策・メディア研究科修士課程修了。奈良先端科学技術大学院大学博士後期課程修了(優秀奨学生として短期修了)。IE Business School (with Beta Gamma Sigma Honor) 修了。博士(工学)、MBA。日本電信電話株式会社にて自然言語処理の基礎研究から商用開発、実用化まで一貫して従事。東京工業大学情報理工学院にて助教として人工知能の研究開発、教育、コンサルティング等を実施。データコンサルティングベンチャーにて執行役員として新規事業開発、開発組織マネジメント、データ基盤構築、投資家コミュニケーションに従事。その後現職。学会活動においてはNLP若手の会委員長、言語処理学会代議員、情報処理学会自然言語処理研究会幹事などを歴任。言語処理学会最優秀論文賞、言語処理学会年次大会優秀発表賞、情報処理学会特選論文など受賞多数。言語処理学会、人工知能学会会員。情報処理学会シニア会員。 Association for Computational Linguistics 会員。
人間が書くテキストを高度に模倣する生成型AI
ChatGPTの登場以来、テキストや画像を生成するAIへの注目が著しく高まっています。この連載では、これら何らかのテキストや画像といったものを生成するAIを便宜的に生成型AIと呼ぶこととします。この種類のAIは、生成系AI、生成AI、また生成以外の分類などのタスクなどもこなせることから基盤AIとも呼ばれるなど、様々な呼び方がありますが、本連載では生成型AIと呼ぶことにします(英語でのGenerative AIをどのように訳出するかというだけの問題であるため本連載ではその点を特に重視しません)。特にその中でもテキストを生成するものについて、その実態について解説したいと思います。
まず、ChatGPTもこの生成型AIの一種に分類することができます。ChatGPTに触ったことがある方はよくご理解いただけると思いますが、生成型AIは入力に対して流暢なテキストを出力します。この実態としては、生成型AIは人間の知的活動の一部である、文章を書く、やや技術的な言い方をしますと、テキストを生成することができるプログラムである、ということができます。
内部的にどのように動作しているかということについては後述するとしまして、この生成型AIは人間が書くテキストを高度に模倣することができます。例えば、文章の要約を行ったり、何らかの質問に回答したり、メールに返信したり、またテーマに沿って記事を書いたり、記事の骨子を作成するといったことができます。
基盤となる「大規模言語モデル」とは?
基本的な機構としては、ChatGPTに代表される、特にテキストを生成する生成型AIは「大規模言語モデル」と呼ばれるものが基盤となっています。この機構についても後述しますが、インターネット上に存在するテキストや書籍などの大量のテキストから、人間がかく、「もっともらしい」テキストとはどのようなものか、といったことを大規模言語モデルは学習しています。
現時点においては、この大規模言語モデルは、条件反射的な動作をしているに過ぎず、人間から与えられた何らかの指令に対して、もっともらしい回答を内部的に計算し、出力します。ちなみにこの指令を与える際の入力欄をプロンプトといいますが、これは計算機を利用したことがある方には馴染み深いものだと思いますが、本来の動詞としての意味は「〜をすることを促す」というもので、まさに人間が計算機、この場合は大規模言語モデルに対してプロンプトを通じて何らかの出力を促していると言うことができます。
この大規模言語モデルは、多少の差こそあれ、その構造は大きく変わりません。OpenAIがChatGPTを公開した際にGoogle社が大変な危機感を覚えたという報道がありましたが、そもそもChatGPTに使われている基本的なモジュールはGoogle社を中心にして開発され、2017年に発表されたものです。ChatGPTの後に公開されたGoogle社のBardやmeta社のLLaMAなども、構造としては大きく変わりはありません。
大規模なテキストのみを与えるだけでさまざまな作業が可能になった
ChatGPTの印象深い点は、非常に自然な対話、すなわちチャットをその名の通り行うという点にあります。この点についてはまず説明していきたいと思います。そのためには、まず、ChatGPTの基盤となっている過去のGPTについて解説する必要があります。
GPTはトークン(Token)といった単位で言語を処理しています。トークンは概ね単語と対応していますが、人間が扱いやすいように定義した単語(そもそも日本語においては単語という単位に関して議論があります)とは異なり、計算機によって処理しやすい単位となっています。内部的には、GPTは、プロンプト経由で入力されたテキストをトークン単位の列として処理し、トークンの列をテキストとして出力しています。入出力は文ないし文章を構成している単語の列である、と理解していただければわかりやすいのではないかと思います。
GPT-3は概ね3種類の文章から訓練されています。ここでいう訓練という言葉は、GPT-3が自然なテキストを生成するために、人間が書いたテキストから自然なテキストとはどういうものか、すなわち、自然なトークンの列とはどういうものか、と学習する過程であると考えてください。1つめはインターネット上から収集されたテキストで、これには4129億トークンが含まれています。2つめは書籍であり、670億トークンが含まれています。最後に、英語のウィキペディアのテキストであり、30億のトークンが含まれています。これらのテキストは多言語のものであり、またトークンという単位に基づいているため、一概に日本語に換算するのは難しいのですが、合計4829億トークンが含まれ、これを単語数だと便宜的に考えますと、概ね日本語の中編小説の文庫本929万冊からGPT-3は訓練されたということが言えます。
GPT-3が興味深い点は、これはGPT-2の時点から理解されていましたが、一般的なテキストを与えるだけで、例えば翻訳のために対訳文、例えば日本語から英語の翻訳であれば、日本語と英語で意味的に対応している文をそれぞれ与えなくても、翻訳ができる、という点です。これが意味することは、特に特定の作業、例えば翻訳や要約のための訓練データを与えることなく、大規模なテキストのみを与えるだけで、人間が行う様々な作業を計算機が実施できる、という点です。
計算機にテキストを処理させる分野、テキストを生成するAIを研究する分野は自然言語処理と呼ばれます。自然言語処理の世界では、これまで、機械翻訳のためには機械翻訳のためのデータを用意することが重要でしたが、そうではなく、単に多言語の大規模なテキストを与えるだけで自然に翻訳が可能になった、という点が驚くべき点です。
ChatGPTはGPTを会話用に訓練したもの
この観点からChatGPTを見ますと、ChatGPTは、GPT-3という、特定の目的にために作られてはいないものの、様々なテキスト生成に関する作業を行うことのできるプログラムを、より自然なチャットができるように特別に訓練したものである、ということができます。ChatGPTは、GPT-3が出力する様々なテキストに対して、人間がより応答として自然だと考えるテキストに対して高い得点を与えることによって訓練されました。ChatGPTから見ますと、人間によって、自然である、と評価された応答を教えられていますから、この基準に則ってテキストを出力するようになります。
このように見ますと、GPT-3の時点で既に一定の能力をこの生成型AIは保持していましたが、人間によるフィードバックを得ることによって、人間にとって驚異的であるほどの応答を生成することが可能になった、ということが言えます。したがいまして、ChatGPTの本質は第一に自然なテキストを生成する能力にあります。その能力は言語モデルと呼ばれますが、言語モデルについては次回解説したいと思います。