見出し画像

ChatGPTの仕組みを、なるべくやさしく解説してみます

最近、ChatGPTに関するニュースやテレビ番組での取り上げが増えており、すでに利用されたことがある方も多いでしょう。
ChatGPTは、質問に対して自然な会話を提供するだけでなく、アイデアの提案や文章の要約など、さまざまなタスクに対応します。
様々な会社や公的な機関でもChatGPTの導入検討が始まり、今後さらに利用されるシーンが増えていきそうです。

ところで、ChatGPTはなぜ自然な会話ができるのでしょうか?

この記事では、ChatGPTの仕組みやメリット・デメリットについてできるだけわかりやすくまとめてみたいと思います。
説明の際には、正確さよりも理解しやすさを重視しているため、実際とは一部異なる箇所があるかもしれませんが、ご理解いただければ幸いです。

ChatGPTとはなんでしょう?

さて、みなさんはChatGPTにどのようなイメージをもっているでしょうか?
報道などでも取り上げられているので、人それぞれ異なるイメージを持っているかもしれません。

ChatGPTの本質をざっくりまとめると、下記のマンガのキャラクターのような物と言えます。

男子高校生の日常 6巻第83話より

これは「男子高校生の日常」というマンガの1シーンです。
ここでは、友人から質問されたことに、知ったかぶりして答えるキャラクターが出ています。全くの嘘であればまだしも、ちょっとそれっぽい事を言っていますね。
しかも、時折正しい回答をする事があるので、とても紛らわしいです。
みなさんの周りにもこのような人はいるのではないでしょうか?

実は、ChatGPTは、この漫画に出てくる「知ったかぶりをする友人」のようなものなのです。

この「知ったかぶりをする友人」という事について、意外だと感じる方もいるかもしれませんが、ChatGPTの本質は「質問された内容に、自然な会話で答えてくれるだけのシステム」であり、回答内容が正しいとは限りません

では、なぜChatGPTは正しくないことも答えてしまうのでしょうか?
その理由を知るために、ChatGPTの仕組みを少し見ていきましょう。

ChatGPTの大まかな仕組み

ChatGPTはどのようにして自然な会話を実現しているのでしょうか?
その秘密は「GPT」の「T」部分にあります。
GPTは「Generative Pre-trained Transformer」の略で、そのまま訳すと「(文章を)生成する、事前学習済みの変換器」という意味になります。
このなかで、重要なのが「Transformer(変換器)」です。
実は、このTransformer(変換器)が、自然な文章を生成する要でもあり、また問題点でもあります。

Transformer(変換器)とは

日本人的には「トランスフォーマー」と聞くと、車がロボットに変形するアニメを想像するかもしれませんが、ここでのTransformerは 「Aという物をBという物に変換する仕組み」を指しています。
では、何を何に変換したのでしょう。
Transformerとは2017年にGoogleが論文にて発表した仕組みで、Google翻訳など機械翻訳で使用されてきました。

例えば下記のように日本語で書かれた文章を、英語の文章に変換するために使われます。

これはリンゴです →(変換)→ this is a apple

このTransformerは、以前のモデルに比べ、高速かつ精度が高いという特徴があります。

そして、このTransformerの「変換」という処理は、翻訳以外でもその能力を発揮します。
その一つが、自然な会話の文章生成です。
例えば、先程の「日本語の疑問文を英語への翻訳」ではなく、「日本語の疑問文を日本語での回答文への変換」に使用できます。

これはリンゴですか? →(変換)→ はい、これはリンゴです

Transformerが行っているのはあくまでも変換しているだけなので、翻訳以外の変換も行えます。
そこで、入力された疑問文を、日本語での回答文へ変換するように学習させると、質問された文章に対しての回答文を作り出すことができるわけです。

つまり、Transformerが行っているのは、質問された文章に対して対応する文章を回答しているだけで、質問文の内容を理解したり判断したりして文章を作り出して回答しているわけでは無いのです。

このようにしてChatGPTは入力された文章に対して対応する文章を回答してくれます。
しかし、質問された文章を回答文に変換するだけなので、自然な会話をさせるのには膨大な回答文が必要になります。
そんなに多くの回答文を、どのように用意しているのでしょうか?

それを実現しているのが機械学習です。

機械学習とは何か?

Transformerで自然な回答をさせるためには大量の回答文を用意する必要があり、人の手業でデータを用意するのは不可能です。
そのため、ChatGPTのような大規模な言語モデルは、機械学習によって大量の回答文を用意しています。

機械学習は、インターネット上の巨大なテキストデータセットから学習し、文脈を理解して適切な回答を生成する能力を持っています。
機械学習は、大量のデータからパターンを見つけ出し、そのパターンを用いて未知の新しいデータに対する予測や判断を行います。

この学習方法は旧来の対話型AIとの大きな違いがあります。

チャットボット(旧来の対話型AI)の特徴と問題点

ChatGPTが話題になる以前にも、対話型のAIはありました。
チャットボットなどの旧来の対話型AIでの会話は、非常に定型的な、堅苦しい物が主流でした。
それは、旧来の対話型AIの仕組みに原因があります。

旧来の対話型AIでは、質問された内容に対して回答するためには、その質問に対応するシナリオを用意しておく必要がありました。
例えば「猫」に関するシナリオを持っていれば、猫に関する会話に回答することができますし、「シャム猫」に関するシナリオを持っていれば、シャム猫に関して回答することもできます

しかし、「猫」についてのシナリオが有るのに、「シャム猫」について具体的なシナリオを持ってない場合、「シャム猫」に関しての会話をされると一切回答することが出来ません
これは、旧来の対話型AIでは「猫」と「シャム猫」は異なるものとして判断しているためです。

このため、旧来の対話型AIでは大量のシナリオを人の手で用意する必要があり、その反応もシナリオに用意された内容をそのまま話すだけの定型的な物でした。

この問題を解決したのが、機械学習によって作られたデータです。

機械学習の特徴

ChatGPTのような機械学習モデルは、情報の関連性を利用して答えることで、柔軟な会話を行えるようになりました。

例えば、「シャム猫」について情報を持ってない場合でも、「猫」などの関連する情報をもっていれば、そのことについて回答することができます。

このように、不足している情報についても、関連する情報から回答文を予測して作成し、返答することでより自然に感じる会話ができるようになったのです。

機械学習の問題点

しかしながら、この機械学習による文章生成にも問題があります。
それは、その答えが100%正しいとは限らないという点です。

例えば、「シャム猫」について聞かれた際に情報が無い場合は「猫」一般についての知識を元に解答します。しかし、「猫」一般についての情報がまったく無い場合はどうなるのでしょうか?

その場合は正確ではない回答してしまうことがあるのです。

モデルは最善の推測を行い、その結果、存在しない情報を生成することがあります。例えば、「シャム猫」についての具体的な知識がない場合、他の猫種についての情報を回答してしまうことがあります。

この、知ったかぶりのような回答のことを「ハルシネーション(幻覚)」と言います。

ハルシネーションはデータを増やすことである程度減らすことができます。
しかし、学習時のデータの偏りや、元のデータの間違いも原因になり、現状では原因に無くすことはできません。
また、ハルシネーションが発生しないように予測に制限をかけた場合、自然な会話が行えなくなる可能性もあり、完全に無くすことは難しいです。

ChatGPTでできること

このようにして、ChatGPTでは自然な会話でのやりとりを実現しています。
ハルシネーションにより、その答えが100%正しいとは限らないという問題がありますが、その事を理解し、適切に活用すれば、機械学習は強力なツールになります。

では、ChatGPTを使うことでどのような事ができるのでしょうか?
代表的な物としては、下記の様な作業で使用できます。

  • 質問応答:一般的な質問や専門的な質問に答える

  • 会話:自然な対話を楽しむことができる

  • 文章生成:エッセイや記事、物語などの文章を生成する

  • 翻訳:異なる言語間での翻訳を行う

  • 添削・校正:文章の文法やスタイルのチェックを行う

  • アイデア出し:創作やプロジェクトに対するアイデアを提案する

  • コード解説:プログラムのコードを説明する

  • 要約:ニュース記事や長い文章を短く要約する

他にも、アイデア次第で様々な用途に使用できます。
問題点を理解した上で、ChatGPTをエンターテイメント、学習、そして多く場面で活用していきましょう。

この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?