見出し画像

01 チャットGPT基本概念 - 大規模モデルがどのようにして言葉繋ぎを実現するか?

ChatGPTはAIGCツール、つまり生成型人工知能です。

これについて、以下のような疑問を持ったことはありませんか?
私たちがテキストを入力すると、ChatGPTはどのようにしてそれに対する答えを生成するのでしょうか?

この記事では、その疑問に答えます。この学習を通じて、以下の点について理解を深めることができます。

  1. ChatGPTはどのようにして私たちの入力した内容の意味を理解するのか?

  2. ChatGPTが回答する際、どのようにして語彙接続を行うのか?

まず、コンピュータがテキストの意味を理解するプロセスは二段階に分けられます。第一段階は「ベクトル化」、第二段階は「情報圧縮と特徴抽出」です。


ベクトル化とは?

ベクトル化は、テキストや画像などのデータタイプを数値形式に変換する方法です。通常は一連の数字、つまりベクトルに変換されます。このベクトルは、データの特定の特徴や情報を代表します。

三次元の場合

例えば、リンゴ、バナナ、オレンジのような果物リストがあったとします。これらをコンピュータに理解させるために、各果物に数値を割り当てます。例えば、リンゴは[1,0,0]、バナナは[0,1,0]、オレンジは[0,0,1]とします。これにより、コンピュータに「リンゴ」と伝えると、[1,0,0]というベクトルを指すことになります。これがベクトル化の基本的な例です。

また、リンゴが大きいか小さいか、熟しているか腐っているかなど、これらの形状や成熟度などの各次元の特徴語は、ベクトルの長さと構造に影響を与えます。端的に言うと、次元が多いほど、変換されたベクトルはその対象物をより正確に表現することになります

なぜベクトル化なのか?

ベクトル化の目的は、コンピュータがより簡単にデータを認識できるようにすること(数値は認識しやすい)だけでなく、機械が試行錯誤を繰り返しながら学習するためです(「情報圧縮と特徴抽出」と呼ばれるプロセス)。


これにより、様々な言語のデータベースを組み合わせ、異なる単語を巨大なベクトル空間の適切な座標に配置することができます。特徴が似ているほど、座標の距離は近くなります。

試行錯誤とは?

例えば、10,000個の単語のデータセット(書籍、ニュースなど)を訓練する場合、どのようにしてこれらの単語を適切な座標に配置するかという問題があります。
これは、各単語間のベクトル計算を行い、損失関数(これらの単語が一緒に配置されるべきかを判断するための用語)を用いて行います。

この計算と試行錯誤、そして修正を繰り返すことで、最終的に10,000個の単語が適切な位置に配置されます。

実例は?

「リンゴ」と「果物」は通常一緒に配置されるべきです。これは、10,000のデータセットを用いて計算した結果、「リンゴ」と「果物」が頻繁に一緒に出現するためです。一方、「リンゴ」と「名前」は、このデータセットではほとんど一緒に出現しないため、ベクトル空間で近い位置にあるべきではありません。

この巨大なベクトル空間では、実生活の規則も見て取れます。例えば、「類は友を呼ぶ」という言葉が、このルールをよく表しています。




例を変えてみましょう。私たちは時代の流れを追いかけ、AIを学び、仕事や自メディアなどの分野に力を入れる先駆者たちです。そのため、あなた方は私の記事を読んでいます。ある意味では、私たちはこの広大な世界のベクトル空間において、AI学習という共通の目標から出発しています。この次元に基づいて、私たちの位置(座標)は比較的近いものになります


では、どのようにして語彙接続を行うのか?

ここでGoogleのTransformersの「自己注意機構」が登場します。これは現代の汎用大規模モデルの基盤です。GPTでこれについてさらに詳しく学ぶことができます。


例えば、「リンゴの創業者はスティーブ・ジョブズですが、リンゴとは何ですか?」という質問に対して、答えはアメリカのテクノロジー大手企業または「果物」の2つが考えられます

どちらを選ぶかというと、マシンはまず「リンゴ」、「創業者」、「ジョブズ」というキーワードを抽出し、全体のベクトル空間で分析します。その後、可能性のある2つの結果「果物」、「アメリカのテクノロジー大手企業」とベクトルを掛け合わせ、再度トレーニングを行い、どちらの答えの重みが高いかを決定します。試行錯誤を繰り返すことで、最終的に「アメリカのテクノロジー大手企業」という答えが得られます。

したがって、語彙接続がどのように行われるかというと、既に出現した単語を基に、次に来る可能性のある答えを計算し、トレーニングし、試行錯誤し、自己修正を行い、最も確率の高い単語を得た後、同じ方法で次の単語を探し続けることによります。

また、学習過程で印象深い一言がありました。ChatGPT自体はTransformerを基盤とする言語モデルで、実際の問題を解決するためではなく、話をうまくするために作られました。そのため、GPT3.5は1750億データ量の書籍を読んでいますが、GPT4.0は1.8兆のデータ量を持っています。

言語モデルのまとめは以下の記事からご参照ください

そのため、GPT4.0の回答がより実用的なのです。


新しい知識を学ぶ際は、体系的な学習方法が重要です。基礎から理解することが第一歩です。次回から、実践に移ります。


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