パラメータ
ニューラルネットワークは、人間の脳にある脳細胞のネットワークをモデル化したものである。基本的に、このネットワークにおける結線一つ一つには「重み」という数値が持たされており、この重みをパラメータという。例えば、1億パラメータのニューラルネットワークとは、こうした重みが1億個あることを意味する。最近では、パラメータの数は、ニューラルネットワークの規模を表す指標として用いられている。
生成系と識別系の言語モデル
ここでは、日本語や英語といった自然言語のテキストやプログラム等の長い文字列を生成できる言語モデルを生成系言語モデルと呼び、人工的な分類ラベルを少数出力する言語モデルを識別系言語モデルと呼んでいる。ChatGPTや今回NICTで構築した言語モデルは生成系言語モデルである。一方、文中で参照されているBERTは、通常、人工的な分類ラベルを数個出力するだけなので、識別系言語モデルである。この人工的な分類ラベルは、質問応答や文書分類といったタスクごとに変わってよく、例えば、YES/NO、1/0のように単純な二値のラベルもあれば、より多数の値のラベルを使うこともある。また、YES/NOという二値のラベルのいずれかを出力する単純なモデルであっても、例えば、質問(例: 富士山の高さは?)と回答の候補(例: 2,000メートル)のペアを入力として、回答の候補が質問に対する正解であればYES、不正解であればNOと出力するように学習を行えば、質問応答システムでの活用が可能になる。実際、NICTが試験公開中である質問応答システムWISDOM Xは、BERTをそのような形で学習させ、活用している。なお、識別系言語モデルは、あらかじめ設定された少数のラベルを出力するだけなので、想定外の出力がなされることは少なく、偽情報やバイアスといったリスクは生成系言語モデルに比べて小さい。(なお、識別系言語モデルでも、前述のようなリスクのある使い方は考えられる。)また、同様のラベルを出力させることは、生成系言語モデルでも可能である。例えば、「富士山の高さは?」という質問と「2,000メートル」という回答候補のペアを入力としたときに、「回答候補は不正解」というテキストを出力させる一方、「富士山の高さは?」と「3,776メートル」のペアを入力としたときには、「回答候補は正解」と出力させるように学習させれば、生成系言語モデルを識別系言語モデルのように使うことも可能である。また逆に、識別系言語モデルも追加で学習をさせることで、生成系言語モデルに変換することも可能であり、NICTでもそのような使い方を過去に実施している。つまり、一定の作業を行えば、両者は互いに変換可能であるが、最終的に高性能が得られるかどうかは実際に変換してみなければ分からず、詳細に検討する必要がある。
大規模言語モデル(Large Language Model; LLM)
非常に巨大な学習データ(テキスト)と深層学習を用いて構築された巨大なニューラルネットワークによる言語モデルである。言語モデルとは、基本的には単語の並びが与えられると、それら単語の並びが出現する確率を計算するものであるが、GPT等の大規模言語モデルは、与えられたテキストに対し後続する単語を確率的に予測し、確率が最大となる単語を出力することを繰り返し、それらの単語を繋いでいくことでテキストを生成することができる。
事前学習(Pre-training)
事前学習とは、深層学習による大規模言語モデル等の構築において、大量のテキストの一部をランダムに選んでニューラルネットワークからは見えないようにし、単語の穴埋め問題を大量に作ってそれを解くことをタスクとする学習(BERT)や、学習テキストの一部をランダムに選んで、その後続の単語を予測するというタスクを設定し(GPT等)、モデルを学習することである。重要な点は、これらの学習に際しては、Webページのような人が書いた大量のテキストさえあれば、従来のように人が別途ラベル付けや作文をしなくても、ランダムに単語やテキストの一部を選ぶだけで、大量の学習データを自動で作ることができ、少なくとも学習データの確保という点では極めてローコストになるということである。大規模言語モデルの登場以前は、目標とするタスクに関して人がラベル付け、作文等を行った学習データで、ニューラルネットワークを学習させ、そのタスクを実施していたが、この人によるラベル付け等、学習データ作成の作業コストの高さが課題となっていた。一方、大規模言語モデルの登場以後、作成コストが高い人手作成の学習データが少量しかなくても、事前学習済みの大規模言語モデルをその少量のデータで追加学習(ファインチューニング)させることで、高い精度を出せることが示された。この結果、事前学習済みの大規模言語モデルを一つ用意しておけば、様々なタスクに特化した比較的少量の人手作成学習データでファインチューニングさせることで、学習データ作成のコストを抑制しつつ多数のタスクで高精度を実現できるようになった。また、このように事前学習済みの大規模言語モデルを「使い回す」ことが一般的になった状況もあって、事前学習済み大規模言語モデルは、基盤モデルとも呼ばれるようになった。ただし、現在は、基盤モデルという用語は、大規模言語モデルのみならず、より幅広いタスクに適用可能な大規模人工知能モデルといった意味で用いられる。
GPT(Generative Pre-trained Transformer)
GPTは、OpenAIが2018年に発表した、
Transformerベースの言語モデルで、大規模なテキストコーパスで学習し、人間のようなテキストを生成することが可能なモデルである。2018年に発表されたモデルは1億1,700万パラメータだったが、2019年に15億パラメータのGPT-2、2020年に1,750億パラメータのGPT-3が発表され、大規模化が進んできている。OpenAIは、2022年にGPT-3を発展させたGPT-3.5を用いてファインチューニングや強化学習を行い、人間のようにチャットすることが可能なAIとしてChatGPTを公開した。その後、2023年3月にGPT-4をChatGPTに導入するなど、更に発展させているが、GPT-3.5やGPT-4のパラメータサイズ等に関する詳細は、公式には明らかにされていない。
深層学習(Deep Learning; ディープラーニング)
深層学習とは、従来、学習が困難だった複雑なニューラルネットワークを学習するための機械学習手法や、各種の複雑なニューラルネットワークアーキテクチャ等の総称である。深層学習の発展により、Transformerを始めとする複雑なニューラルネットワークのアーキテクチャや、それを用いた大規模言語モデル等が可能となった。
BERT(Bidirectional Encoder Representations from Transformers)
BERTは、Googleが2018年に発表した、Transformerベースの識別系大規模言語モデルで、文書分類や同義判定等のタスクに向いている。2018年にGoogleが発表した英語版のモデルは3.4億パラメータである。
大規模Web情報分析システムWISDOM X(ウィズダム エックス)深層学習版
WISDOM Xは、大規模なWebページを対象とした質問応答システムとして、2015年からNICTが試験公開しているシステムである。なぜ、何、どうやって、どうなるといった多様な質問に回答することが可能で、2021年4月からは、BERTを取り入れた深層学習版として試験公開を継続中である。例えば、「AIってどんな社会課題の解決に使えるのかな」「高齢者介護でコミュニケーションロボットが必要なのはなぜ」「量子コンピュータが実用化されるとどうなる」といった多様な質問の回答をWebから網羅的に抽出し、端的に提示することができる。
高齢者介護支援用対話システムMICSUS(ミクサス)
MICSUSは、要支援等の認定を受けている在宅高齢者に対して、介護職であるケアマネジャーが実施する健康状態や生活習慣のチェックを行う介護モニタリングと呼ばれる作業の一部を代替し、ケアマネジャーの作業負担を軽減することを狙って内閣府のSIP第2期(2018年度?2022年度)の支援の下、KDDI株式会社、NECソリューションイノベータ株式会社、株式会社日本総合研究所とNICTが共同開発したシステムである。WISDOM Xの技術を応用し、Web情報に基づいた雑談も可能とすることで、飽きることなく介護モニタリングを実施し、普段使いしてもらうことで、現在は最低、月に1度となっている介護モニタリングの頻度向上による介護の質の改善を目指すとともに、高齢者の健康状態悪化の要因の一つといわれているコミュニケーション不足の解消も狙ったシステムである。現在は、KDDIがNICT、NECソリューションイノベータ、日本総合研究所と協力して、社会実装に向けて多様なパートナー企業と共同実証や事業化を検討している。
ファインチューニング
事前学習済みのモデルを別のデータで追加で学習することをファインチューニングと呼ぶ。特に、自然言語処理分野では、事前学習済みの大規模言語モデルを、目的とするタスクに特化した学習データでファインチューニングすることで、高性能を得ることができることが知られている。
強化学習
強化学習とは、ある環境におけるエージェント(例えば、対話システム)が、環境とのやり取り(例えば、対話)を通して得られる報酬を最大化する行動を学習していく機械学習技術である。例えば、ChatGPTでは、モデルをファインチューニングした後に、実際に人間との対話を通して、強化学習を行っているといわれている。
Transformer
Transformerは、2017年にGoogleが発表したニューラルネットワークのアーキテクチャで、当初は、機械翻訳を目的として開発されたが、BERTやGPTで使われるようになり、機械翻訳以外の自然言語処理へ応用され、さらには、画像処理等にも応用が広がっている。