(注)本ページは2024年中頃の記述です。技術的な説明は厳密ではありません。
文章生成AIとは、利用者が自然言語のテキストデータ(プロンプト)で質問すると、その回答を自然言語で表示してくれる仕組みです。
「パリに50万円以内で1週間の観光旅行をしたい。モデルコースを3つ作成してください。」のプロンプトに答えてもらうとか、長い文章を示して、400文字以内の要約文を作成してもらうなどです。
パラメータとは、機械学習モデルが学習中に最適化する必要のある変数のことです。
そのモデルは、膨大な資料から収集した単語の特徴や他の単語との関係を整理してニューラルネットワークになりますが、そのネットワークの重み(ウェイト)やバイアス(バイアス)などがパラメータになります。
パラメータ数はモデルの複雑さを表し、一般には多いほどモデルがより複雑な関数を学習でき、精度の良い結果が得られます。大規模な生成AIでは、数百~数千億個のパラメータをもつといわれています。
しかし、膨大なパラメータ数のモデルを作るには、労力がかかりますし、利用時でも計算負荷が大きくなるとか、過学習のリスクが高まるなどのデメリットが生じます。そのため、用途により機械学習モデルを分割するとか、検索の方法を改善するなどの工夫がなされています。
以降で示す用語の大雑把な相互関係(位置づけ)
自然言語とは、人間が日常でやり取りする日本語や英語などの、いわゆる「言葉」のことで、NLPは自然言語を処理・分析する技術。以降で示すような多数の技術の総称と理解してよい。
RNNは、系列データ(例:テキスト、音声、時系列データ)を処理するためのニューラルネットワーク。
RNNでは、文章を構成する単語列を時系列データという。以前に発生した単語は過去データ、後続する単語を将来データという。
回帰とは、将来データを過去データとして用いることである。この際、単純に将来データを用いると効率が悪いし無限ループになることがある。それを避けるために、今回の出力の計算過程(過去の中間層の状態、これをセルという)を、次の入力に利用する。ループ状のニューラルネットの構造になる。
RNNは、時系列データの文脈により自然言語処理を行うのに適している。しかし、長期的な(文章での位置が遠い)依存関係を学習する際に精度が極端に低下する「勾配消失問題」が発生する。また、並列処理が難しいので処理効率が低い欠点がある。Transformer によりこれらが解決された。
(注)CNN(convolutional neural network, 畳み込みニューラルネットワーク)も生成AIに重要な技術だが、主に画像生成AIで利用されるので、ここでは割愛する。
LLMは、自然言語を理解し、生成する能力を持つAIモデル。膨大なテキストデータを学習し、そのデータに基づいて言語のパターンを把握して、RNNのようなニューラルネットワークを構築する。主な目的は、人間のように自然で流暢なテキストを生成し、理解することである。
LLMは、RNNの一種ともいえるが、LSTM(Long Short Term Memory)などの改良型でより優れた性能を発揮する。
RNNでは、一つの文章(時系列データ)内だけが対象であり、他の文章を参照することはできなかった。Seq2seqでは、Encoder/Decoder という方法により、異なる時系列データの変換を行い、二つのRNN(LSTM)を対象にできる。
しかし、この方法は、変換過程で必要な情報が捨象されること、単語や文章同士の照応関係が利用できないなどの欠点があった。
「Attention」は「注意」の意味。「どこに注目するか」に焦点を当てる。Seq2seqでのEncoder部分から作られる固定長ベクトルが最後の部分しか利用していないことにことに注目する。
単語間の照応関係を、ある単語と複数の単語との関係を確率で表すことができる。例えば「三毛」という単語は。「猫:0.8、地名:0.07、人名:0,05」のような関係になる。その確率を、Attentionスコアという。
そして、Attentionを層にするニューラルネットワークを生成する。RNNのような順番に言葉を読む必要がないため、ネットワークが単純になり、処理効率が向上する。
Transformer は、Attention層だけを用いてEncoder/Decoder を行うニューラルネットワークを構築する技術である。2017年に提案された。
上述のRNNでの欠点であった勾配消失問題や並列化問題は、Transformer により解決された。高速化、並列化、精度向上、汎用的 を実現した画期的なNLPであり、RNNモデルは Transformerモデルへと急速に移行した。
現在の文章生成AIの主流である BERT や GPT は、これをベースにしている。
Transformer を構成する3要素
2018年にGoogleが発表した事前学習モデル。BERTは、大規模教師なしデータを用い、TransformerのEncoder部分を利用した双方向型モデルになっている。
厳密には、BERTは事前学習モデルであり、利用予測モデルではないので、BERT単体ではスクリプトへの回答などはできず、そのための機能(タスク)を追加する必要がある。
逆に、事前学習モデルに注力したので、生成されるパラメータはより汎用性が高く、多くの生成AIで利用されている。
当然、多数のタスクが追加されており、生成AIとしての利用ができ、その全体をBERTということもある。特に、分類、感情分析、要約などの利用に適している。
GPTは、TransformerのDecoder部分のみを用いて、大規模な文章資料から事前学習を行い、自然言語生成の能力を向上させるモデルである。当初から生成AIとしての利用を目的としており、タスクも豊富で、特に文章生成に優れている。
OpenAI が2018年に GPT-1 を発表。逐次新バージョンへ発展、同社開発の画像生成AIモデル DALL-E と連携して、統合的な生成AIになった。特に2022年にGPTシリーズから派生した対話型生成AIの chatGPT は爆発的な利用者増大を獲得、AIの新時代を実現した。
Microsoft の対話型生成AIである Copilot も、chatGPT をベースに自社版にしたものである。
現在の文章生成AIは、大量のテキストデータを分析し、単語や文章の統計的な出現パターンを学習することで、人間のような自然な言葉を生成しますが、因果関係や論理的整合性までは十分に考慮できていません。さらに人間には常識は、それを教える元資料がなく、不十分です。そのため、文法的には自然だが、内容的に誤りのある文章を生成することがあります。
ハルシネーション(Hallucination)とは「幻覚」のこと。事実に基づかない情報や実際には存在しない情報をAIが生成する現象のことです。 ・元資料の誤りのチェック、信頼性評価の機能が不十分 ・因果関係や論理的整合性までは十分に学習できない ・言葉の多義性や文脈によって意味が変化する などが原因になります。
生成AIでは学習する元資料が大量であることが重要です。そのために、多くの生成AIは自らのコピーを作成し、それらがさらにコピーを作成することで増殖し続けています。それを自己増殖AIといいます。
自分が生成した資料を再び学習することが進むと、同じ回答を繰り返すことになり、言語モデルの精度が低下したり多様性が失われたりする現象をモデル崩壊(データの自己増殖問題)といいます。