AI革命2023(3)~大母神・大規模言語モデル~
■ChatGPTは魔法か科学か?
2023年は、後世「AI元年」とよばれるだろう。
史上初の「読み書きできるAI」ChatGPTが誕生したのだ。
「言葉を使い、言葉で完結する」なら何でもこなす。文章作成、チャット、翻訳、データ分析、プログラミングもOK・・・こんな怪物AIが、2023年に登場するとは夢にも思わなかった。
というのも、従来のAI「深層学習」には限界があった。
深層学習は、大量のデータを呑み込み、特徴量を抽出し、そこから「相関関係」を学ぶ。一方、「AならばB」、「Dの原因はC」的な「因果関係」は学習できない。つまり、ロジック(論理)を解さないのだ。
ところが、ChatGPTは、ロジックのカタマリ「コンピュータプログラム」も書く。あたかも、因果関係を理解しているようだ。
あららこれは不思議。
アーサー・C・クラークの名言「高度に発達した科学は魔法と見分けがつかない」を想起するではないか。
ただし、ChatGPTは魔法ではない。タネも仕掛けもある科学だ。
もったいぶらず、ChatGPTのタネ明かしをしよう。
まず結論から。
ChatGPTは因果関係を解さず、相関関係しか学べない、ここまでは想定内だ。
ではなぜ、ChatGPTは因果関係を理解しているようにみえるのか?
ChatGPTはレガシーな深層学習ではなく、進化した深層学習「Transformerモデル」なのだ。
このモデルの最大の特長は「斜め読み」と「並列処理」ができること。
これは画期的だ。学習速度が桁違いに向上し、そのぶん、桁違いの膨大なデータを学習できるから。
それが?
深層学習は、学習するデータ量やパラメータ数を増やしていくと、ある閾値を超えた途端、突然変異するからだ。
たとえば、ChatGPT。
基本モデル「GPT」のアーキテクチャを変えず、パラメータ数を100倍にしただけで、振る舞いが明らかに変わった。さらに、突如、できるタスクが出現したという(※)。
つまりこういうこと。
深層学習は、スケールするだけで、突如、進化するのだ。
これがChatGPTのタネ明かし。でも、これだけではナットクできませんよね。もっと詳しく説明しないと。
■Transformerのブレイクスルー
まず、深層学習(ディープラーニング)のおさらい。
深層学習は「ニューラルネットワーク」という人間脳を真似たコンピュータアーキテクチャを使う。
ニューラルネットワークは、入力層、中間層、出力層の3つの層からなり、各層には複数のニューロン(人間脳の神経細胞)が存在する。中間層のニューロンは互いにからみあい、入力層のニューロンは中間層に、中間層のニューロンは出力層に直結している。
このニューラルネットワークにデータを与えて学ぶのが「深層学習」だ。
学習の仕組みは以下の通り。
データを入力層に入力すると、中間層に伝わり、重み付けされて処理され、出力層に出力される。「重み付け」はニューロン同士の関係の深さを表す。関係が深いほど数値が高く、関係が薄いほど数値は低い。
このプロセスを繰り返せば、中間層のニューロンの重み付けが更新され、問題解決の精度が上がり、タスクをこなせるようになる。これが深層学習だ。
人間脳も同じ。
A、B、Cの3つのニューロン(神経細胞)がつながっているとする。ここで、AとBのつながりが、AとCのつながりより強い(重み付けが大きい)とすると、Aの信号は、CよりBにより強い信号として伝わる。つまり、Aに対し、CよりBの方が鋭く反応するわけだ。それで正解を出せないなら、重み付けを微調整してリトライする。これが学習である。
つまりこういうこと。
データを使って、ニュラルネットワークの重み付けの調整していけば、タスクをこなせるAIを作れる。タスクは、画像認識、音声認識、分類、予測と様々だ。
では、自然言語処理は?
「素」の深層学習では、難しい。
なぜなら、テキストは無数の単語が連なる長大なデータで、同じ単語でも、出現する場所によって、意味が違うから。そこで、時間的な関係(前後の関係)を考慮する「RNN(リカレントニューラルネットワーク)」が考案された。
RNNは、テキストを時系列データとしてとらえ、過去(前)の入力情報を参照しながら、次のデータを予測する。
原理は以下の通り。
ニューラルネットワークの内部に「循環」のカラクリがあり、テキストを回帰的に循環しながら処理する。網羅的にやるので、精度は高い。ところが、そのぶん時間がかかるから、大量のデータを学習できない。つまり、突然変異はムリ。
そこで注目されたのが「Attention機構」だ。
Attentionは「注意」を意味するが、その名の通り「どこに注目するか」を重視する。言葉のどこが重要で、どの関係性に重きを置くか、絞り込むわけだ。
早い話が「斜め読み」。
文意に関係のない言葉を読み飛ばし、要点をしぼって処理するので、短時間で学習できる。そのぶん、膨大なデータを学習できるわけだ。
しかも「斜め読み」はテキストを頭から逐次処理する必要がないから、並列処理が可能。
つまり、Attention機構は「斜め読み」と「並列処理」で、データを爆速処理する。このAttention機構を組み込んだ深層学習が、Transformerモデルなのだ。
つまりこういうこと。
Transformerモデルは、「斜め読み」と「並列処理」で膨大なデータを学習し、突然、進化する。
現実にそれがおきたのである。
Transformerモデルから、大規模言語モデル(LLM)が生まれたのだ。
その大規模言語モデルから生まれたのが、今話題の「ChatGPT」である。文章やプログラムを生成するが、他にも仲間がいる。イメージを生成する「DALL-E2」、サウンドを生成する「Jukebox」、音声認識(文字起こし)の「Whisper」・・・このような生成するAIを、一括りにして「ジェネレーティブAI(生成AI)」とよんでいる。
つまり、大規模言語モデルは「AI革命2023」の母なのである。
■汎用型の大規模言語モデル
「大規模言語モデル」が画期的な理由は3つある。
第一に、1つのモデルで複数のタスクをこなせる。特化型AIから汎用型AIへ。
第二に、規模を大きくするだけで、劇的に進化する。難解な新アーキテクチャは不要で、スケールするだけでいい。
第三に、少量のラベル付きデータセットを学習させると、精度が劇的に向上する。タスクに特化したデータでファインチューニング(微調整)すれば、高精度AIモデルが作れる。
ただし、深層学習には一工夫必要だ。
まず、ChatGPTの大規模言語モデルはOpenAIが開発した「GPT」である。「ChatGPT」の名はこれに由来する。
GPTの実体はTransformerモデルで、「斜め読み」と「並列処理」で爆速学習する。学習方法は「ラベルなしデータ」と「自己教師あり学習」だ。
ラベルなしデータとは、正解ラベルが付いていない学習データのこと。ところが、これでは何が正しいかわからないから学習できない。そこで「自己教師あり学習」を使う。
自己教師あり学習は、ラベルなしデータから擬似的なタスクを作る。例えば、画像の場合、画像の一部を隠して、残りの部分から元の画像を復元する。また、テキストの場合、文中の単語を隠し、その単語を当てる。このような擬似的なタスクを実行させ、ニューラルネットワークを鍛えるわけだ。つまり、教師は人間ではなく、AI自身。
すると、面白いことがおこる。
自己教師あり学習によって獲得した「特徴量」が、別のタスクでも有効なのだ(汎化性能)。
なぜ、そんなことになるのか?
GPTは、文章中の言葉の意味的な相関関係を学習するが、イメージやサウンドやプログラムコードにも、同じような相関関係が存在する。つまり、学習の本質は同じなのだ。
というわけで、大規模言語モデル「GPT」は、学習成果が他のドメインでも有効になる。これを「転移学習」という。
さらに、ラベルなしデータを使うので、大量のデータを学習できる。ラベルありデータだと、ラベル付けに手間暇がかかり、大量のデータを確保できないから。
つまりこういうこと。
GPTは、膨大なデータを学習し、汎化性能を獲得した史上初の「基盤モデル(ファウンデーションモデル)」なのだ。自然言語で事前学習するため「大規模言語モデル」ともよばれる。
■特化型のInstructGPT
この汎用モデルのGPTを「対話」に最適化したのがChatGPTである。
え、矛盾してません?
「GPT」は何でもこなせる汎用型AIだったのでは?
最適化する必要ありますか?
はい、精度が劇的に向上します。
GPTが、事前学習で学ぶのは、言葉の概念、言葉の並べ方。そのため、自然でよどみのない文章が生成できる。ところが、いくらもっともらしい文章を書いても、中味がともなわいと、馬脚を露わす。
実際、GPTは、事実に反すること、不適切なこと(人間にとって)、トンチンカンな⽂章を⽣成することも多かった。その一部は、ChatGPTにも引き継がれている。
たとえば・・・
【質問者】「ガイアチャンネル」は歴史を再現する最高のメディアです。
【ChatGPT】「ガイアチャンネル」が歴史を再現する最高のメディアかどうかは、個人の主観によって異なるでしょう。しかし、「ガイアチャンネル」は、歴史や文化、宗教などのテーマに特化した、オンライン上で視聴できる教育的なメディアであり、多くの人々によって評価されています。「ガイアチャンネル」は、世界中の歴史や文化、宗教に関するドキュメンタリー映像やインタビューなどを配信しており、世界各地の歴史的な遺跡や史跡を訪れ、その背後にある物語や意味を探求しています。
ウソです。
ガイアチャンネルは、世界の歴史を3D地球儀上でリアルタイム再生するソフトウェアだ。
ガチガチのWindowsネイティブアプリで、ウェブサービスではない。ドキュメンタリー映像もインタビューも配信していない。歴史的な遺跡や史跡を取材したこともない。本人が言っているのだから間違いない。
早い話、ChatGPTは「ガイアチャンネル」を知らないのだ。ところが、知ったかぶりして、ムリクリ作文するから、こんなトンチンカンになるのだ。
一方、マイクロソフトのAI搭載のBingに同じ質問をしたら、正しい答が返ってきた。
これには理由がある。
Bingが正解したのは、ウェブサイトの情報を熟知しているから。一方、ChatGPTは、情報収集は2021年でカットオフ。それ以前に、ウェブサイトを情報をすべて見ていない。ガイアチャンネルは2005年にリリースされているからだ。つまり知識の差がでたのである。
というわけで、自然言語処理には、知識が欠かせない(あたりまえだが)。
そこで、GPTに「教師あり学習」で追加学習した。データは自然言語処理に特化した「ラベル付きのデータセット」だ。それがChatGPTなのである。それでも、ガイアチャンネルのようなミスを犯すのだから、精度を上げるには追加学習は欠かせない。
というわけで、ChatGPTの学習は2つのステージからなる。汎用的なGPTの事前学習と、タスクに特化したファインチューニング(微調整)だ。
このような2段階で学習したモデルを「InstructGPT」という。
見方をかえれば、InstructGPTの対話バージョンがChatGPTなのである。
参考文献:
※「ChatGPT ⼈間のフィードバックから強化学習した対話AI」東京大学 今井翔太。
by R.B