ChatGPTを使いこなす。逆に、人間を使いこなす。

gptモデルの仕組みについて解説してください。

「gptモデルの仕組みについて解説してください。」とChatGPTにたずねてみました。

GPT(Generative Pretrained Transformer)モデルは、自然言語処理(NLP)のタスクに用いられる人工知能モデルであり、OpenAIにより開発されました。GPTは、大量のテキストデータから言語のパターンを学習し、その学習した知識を元に新しいテキストを生成したり、質問に回答したりすることができます。

GPTの内部構造は、Transformerというアーキテクチャに基づいています。このアーキテクチャは、「Attention」メカニズムを使用して言語のパターンを把握します。つまり、モデルは入力テキスト内の全ての単語に対して注意を払い、それぞれの単語が文中の他の単語とどのように関連しているかを理解しようとします。

GPTは「Transformer」の一種であると同時に、「事前学習(pretraining)」と「微調整(fine-tuning)」という二つのステップで学習します。

  1. 事前学習(Pretraining): GPTはインターネット上の大量のテキストデータ(書籍、ウェブサイトなど)から無作為に選ばれた単語を予測するように学習します。このプロセスでは、GPTは文脈を理解し、言語の基本的な文法や語彙、さらには多くの事実や概念についても学習します。
  2. 微調整(Fine-tuning): 事前学習の後、GPTは特定のタスクに対して微調整されます。例えば、質問応答、文章生成、文章要約などのタスクです。微調整の際、モデルはタスク固有のデータセットを使ってさらに学習し、そのタスクのパフォーマンスを最適化します。

GPTの大きな特長は、その汎用性と拡張性です。一度大量のテキストデータで事前学習を行えば、さまざまなNLPタスクに対して同じモデルを微調整することが可能です。また、GPTはその大規模なモデルサイズ(パラメータ数)と深い学習能力により、複雑な言語理解タスクを処理する能力を持っています。

ポイントは、以下だと思います。

  1. あくまで”大量のテキストデータから言語のパターンを学習している“にすぎない
  2. 汎用モデルをプリトレーニングで作成し、”ファインチューニングで特定のタスクに特化した形に最適化される“という2段階に分けて学習がされる

結局のところ、パターン学習ですから、インプットに対して一見すると区別がつかないような最適なパターンで返答しているだけで、学習元にないデータを返答したり、自ら知識を編み出したりすることはできなさそうです。面接対策を完璧にこなしてきた就活生のようなものですね、質問に対する回答は矛盾がなくて完璧。

また、文脈的に最も適した回答というのは、平均的な無難な回答パターンを返すということでもあるという気がします。

プロンプトでいかに無意識の前提を言語化できるか?

前段の仕組みを踏まえると、回答の精度は、厳密で緻密で解釈の余地がなく暗黙の前提を排除したプロンプトを入力できるかどうかにかかっていそうです。

自分に合わせて回答してもらう

例えば、質問者が男性なのか女性なのか、若年層なのか高齢層なのかそういったことを考慮した回答はChatGPTはしてくれません。してほしいなら、それを入力してあげる必要があります。不機嫌な顔をしていたりしても、それを察してはくれません。

どんな答えを求めているのか?を正しく伝える

漠然とした質問やどんな答えをもらいたいのかイメージができていないまま質問をすると、そっくりそのまま、曖昧で漠然とした回答が返ってきてしまいます。

「上司にそのままメールで報告できる形で文章を作成してください。」とか、「140文字のツイート文として作成してください」とか「小学生にもわかる言葉で説明してください」とか、そういったフォーマットを指定するのもありです。

意思決定はしてくれない。選択もしてくれない。推測もしてくれない。

卑弥呼がどこ出身か?とたずねると、邪馬台国です。邪馬台国がどこにあったかは諸説あります。九州説と近畿説です。といったような回答が返ってきます。

牛乳は体に悪いですか?とたずねると、個々の体質や飲む量、その他の飲食習慣などによります。と返ってきます。

断定的な答えや人によって判断が分かれるものや正確性が担保できないものについてはズバッと回答してくれません。

たとえば、「暫定の値や確率的に最も高いと思われる方法や数値を使って具体的に試算してみてください。」という言い方すると、一般的なデータや平均値に基づいてざっくりと計算してくれたりします。

ChatGPTは何度も繰り返し対話ができるから、その中で言語化していこう

回答の精度を上げるために、質問者について、質問者が求める回答について、回答の正確さの許容度や求める具体性について適宜質問をしてください。

などといって、なんどか質問を繰り返して精度をあげるのもテクニックです。

無意識にこういう人って決めつけたり、こういう答えを求めてると思い込んでたり、自分の個人的な意見に基づいて偏見に満ちた回答をするのが人間

ある意味、人間の方が適当かもしれません。無意識にこういう人って決めつけたり、こういう答えを求めてると思い込んでたり、自分の個人的な意見に基づいて偏見に満ちた回答をするのが人間なのです。

無意識は言語化できない

ChatGPTの限界は、人間の限界で、彼らのせいにはしてはいけないように思います。

ポイントは、本人が意識していないことを言語化するのは不可能だということです。

結局、無自覚に偏見や差別をしていたりするのが人間ですし、思い込みも勘違いも人間ゆえです。自分の体験に基づいて個人的な意見をするから偏りも出ます。人間の回答者はここを意識できないから、質問に不正確なアドバイスをしたりしてしまいます。

質問者も自分が気付けていないことに気づけていない(無知の知)ですし、自分がどういう人間であるかの前提を忘れてしまったり、そもそも自分を完璧に客観視できている人などいないので、言語化も不十分になってしまいます。ChatGPTはそこをつっこんでくれたりしないのですが、人間は「君ってこういう側面あるよね?」「君って自分がこういう人間だってこと自覚してる?」「君はこう思い込んでるけど実はこうだよ?」とか気づきを与えることができます。無意識にアプローチできるのが人間かもしれません。

ChatGPTに考えさせたお笑いやラップは、上手ではあっても感動はしなかったです。

言葉に感情がのっかってくるみたいなこともあります。それが便利かどうかは時と場合によりますが、すくなくとも、ChatGPTに考えさせたお笑いやラップは、上手ではあっても感動はしなかったです。正直。

どこまでいっても上手で器用ではあるけど、感動させたりということにはあまりならないような気がしています。ChatGPTなのにこんなこともできるのか!という話や感動させる元ネタをパクって吐き出したら感動風味が味わえたみたいなことはあると思います。

まとめ

ChatGPTは、とにかくたくさん書き出して細かく条件指定して、良いプロンプトを元に対話を重ねていきましょう。

そして、人間は、好奇心をもって相手の無意識にアプローチして支えてあげましょう。それが人間にできること。