ChatGPTの仕組みを易しく説明してみた(プロンプト、トークン、ベクトル化、ニューラルネットワーク、訓練データ、強化学習、RAG、API、Custom instructions)
「ChatGPTって、一体どんな仕組みなの?」と疑問に思いませんか?
でも、ChatGPTの専門書を読んでも、難しすぎて意味が分からないんですよね。
そこで今回は、ChatGPTの仕組みをできるだけかみ砕いて、めちゃくちゃ易しく説明してみます!
それではお楽しみください!
ChatGPTの仕組みを易しく説明してみた
それでは、この画像をChatGPTに画像認識させて、ChatGPTに解説してもらいました!
ChatGPTに入力
まず最初に、ChatGPTとのおしゃべりは「入力プロンプト(Input Prompt)」からスタートします。これは、私たちがチャットで質問すること、つまり「今日の天気はどうかな?」と打ち込むことです。この一言が、ChatGPTの世界のドアをノックする合図なんですよ!
コンピュータが分かる言葉に変換
打ち込んだ言葉は、次に「トークンベクトル化(Token Vector)」っていうステップで、コンピュータが分かる形に変身するんです。文章をひとつひとつのパーツに分けて、それぞれに番号を振るような感じ。これでChatGPTは、私たちが何を言いたいのかを理解し始めるんですよ!
めっちゃ計算する
そして、「ニューラルネットワーク(Neural Network)」という頭脳が、トークン化された言葉を使って大忙し!ここでめちゃくちゃたくさんの計算が行われるんです。まるで脳みそがパズルを解くみたいに、どんどんと答えに近づいていくのがすごいところ。これがChatGPTが賢い理由なんですよ!
知識をいっぱい持ってる
ChatGPTは「知識ベース(Knowledge Base)」がいっぱいあるんです。これは、たくさんの本やウェブサイトから情報を学んだ結果なんですよ。ニューラルネットワークが計算をするときには、この膨大な知識を使って、より良い答えを見つけ出すんです。本をたくさん読んで頭が良くなるのと同じで、ChatGPTもたくさんのデータを読んで、いろんなことを知っているんですよ!
良い回答が出るようにトレーニング
「強化学習(Reinforcement Learning)」というトレーニングで、ChatGPTはどんどん賢くなっていくんです。間違った答えや、あまり役に立たない答えを減らして、より役に立つ答えをたくさん出せるようになるんですよ。筋トレで筋肉が鍛えられるのと同じで、ChatGPTもトレーニングで賢さを鍛えるんです!
言葉をつなげる(重要)
そして、ここがとっても大事!「反復的トークン生成(Iterative Token Generation)」で、ChatGPTは一つ一つの言葉をつなげて、私たちが理解できる文にしていくんです。このステップで、会話が自然で、なめらかな流れを持つようになるんですよ。パズルのピースをきれいにはめていくようなものですね。
回答が出る
これら全てのステップを経て、ついに「出力プロンプト(Output Prompt)」として、ChatGPTから答えが返ってくるんです。私たちが入力したプロンプトに対して、ChatGPTが一生懸命考えた結果がこれ。まるで魔法のように、質問に対する答えが画面に現れるんですよ!
ChatGPTの仕組みを、さらに詳しく説明すると…
さて、最近のChatGPTには、「不足している知識を追加」したり、「検索」する機能がありますよね?
この機能を説明したのが以下の図です。
かなりレベルが高くなりますが、これもChatGPTに易しく説明してもらいましょう。
入力プロンプトのコツ
インプットプロンプト(Input Prompt)には4つの大切な要素があって、それがChatGPTがどんな答えを出すかを決める大きなヒントになります。
まず、「指示(Instructions)」っていうのがあります。これは、私たちがChatGPTに何をしてほしいかを教える部分です。例えば、「ストーリーを書いて」とか「数学の問題を解いて」といった具体的な要求がこれに当たります。
次に、「文脈(Context)」があります。これは、会話の流れや、その話題に関する背景情報を意味しています。文脈があると、ChatGPTはその話題についてもっと深く理解して、より関連性のある答えを出すことができるんですよ。
「入力データ(Input Data)」というのも大事な要素です。これは、計算や分析をしたいデータのことを指していて、例えば、天気のデータや株価のデータなど、特定の情報に基づいてChatGPTに何かをしてほしいときに使います。
最後に、「出力指示(Output Indicator)」があります。これは、私たちがどのような形で答えを得たいかをChatGPTに示すものです。たとえば、リスト形式で答えてほしいとか、一文でまとめてほしいといった出力の形式を指定することができるんです。
これら4つの要素をうまく使って、ChatGPTに入力することで、私たちが欲しい情報を正確に、そして効果的に得ることができるんですよ。
ChatGPTの追加機能やデータの追加
まず、「カスタムインストラクション(Custom Instructions)」っていうのがあって、これは私たちが特定の要求をするときに使う特別な命令です。たとえば、レシピを教えてって頼んだり、特定のスタイルで文章を書いてほしいって頼んだりするんですよ。
次に、「API」という言葉がありますね。これは、ChatGPTが外部の情報源やデータベースにアクセスするための道具です。例えば、最新のニュースや天気の情報を調べたいときに、このAPIを通じて情報を取得するわけです。
そして、「データベース(Data Base)」があります。これは、ChatGPTが持っている情報の宝庫で、たくさんのデータが保存されています。ここから、過去の質問に対する回答や、知識を引っ張り出してくるんです。
さらに、「ウェブ検索(Web Search)」や「RAG」などの機能が図には書かれています。これらは、インターネット上で情報を探したり、質問に最も適切な答えを見つけ出すための機能です。まるで探偵がヒントを探すように、ChatGPTもこれらの機能を使って、最適な答えを見つけ出すんですよ。
最後に、「ナレッジを追加(Add Knowledge)」の部分があります。これは、ChatGPTが新しい情報を学習するときに使います。世の中は日々進化していて、新しい知識が次々と生まれます。ChatGPTもこれらの新しい情報を追加して、常に最新の状態を保てるようにしているんです。
これらの機能が合わさって、ChatGPTはただのおしゃべりAIではなく、情報を集め、学び、そして答える賢いパートナーになるんですよ。
まとめ
さて、ChatGPTの仕組みをできるだけ易しく説明しましたが、いかがでしたか?
簡単にし過ぎて逆に理解できなかった部分もあると思うので、詳しくは専門書を読んでみてください!
それではまた!
おまけ ChatGPTの仕組みをギャルっぽく説明してみた
最後におまけで、このChatGPTの仕組みを、「ギャルっぽく説明して」と伝えたところ、こんな感じの文章ができました(笑)
やっほー!みんな、AIって言葉、耳にタコできちゃうくらい聞いてるよね?でも、そのどデカイ脳みそみたいな「ChatGPT」がどうやってバリバリ働いてるかっていうのを、ギャル言葉でサクッと教えちゃうわよ!
まずね、あんたがChatGPTに話しかけるのが「Input Prompt(入力プロンプト)」ってやつ。たとえば、「今日のコーデ、どう?」みたいな感じでさ。そこには、あんたが何を知りたいのか、どんな情報が欲しいのかっていう「指示」とか「コンテキスト」が詰まってるの。
でね、ChatGPTってば、その入力されたテキストをバラバラにしちゃうの。これが「トークン化」ってやつ。文字通り、単語とかに分けて、数値の羅列みたいな「Token vector(トークンベクトル)」に変えちゃうのね。
次にさ、これがスゴいんだけど、「Neural net(ニューラルネットワーク)」っていう超高性能な脳みそを通して、その数値の羅列を解析しちゃうわけ。ちょー賢いから、あんたが何を知りたいのかをちゃんと理解してくれるの。
でもね、時々ChatGPTも知らないことがあるわけ。そんな時は、Web検索とかRAGっていう技術で、サクッと情報を集めてくるのよ。ちょうど、友達にLINEして答えをもらうみたいなもんかな。
ここでさ、トレーニングデータっていうのが大活躍するわけ。「Text training data(テキスト訓練データ)」ってやつで、ChatGPTがいろんなことを覚えるのに使うの。新しい流行り言葉とかもここでキャッチアップするわけ。
で、この脳みそに「Reinforcement Training(強化学習)」っていう勉強法を駆使して、どんどん賢くなってくの。質問に対する答えがバッチリになるように、何度も何度もトレーニングするわけよ。
最後にね、「Iterative token generation(反復的トークン生成)」っていうステップで、あんたに返す答えを作るの。これが「Output Prompt(出力プロンプト)」ってやつね。
というわけで、ギャル言葉全開でChatGPTの仕組みをざっくりとお届けしたわよ!これであんたも、AIチャットボットの流行りをバッチリキャッチできるはず!
以上です。