本記事は、当社オウンドメディア「Doors」に移転しました。
約5秒後に自動的にリダイレクトします。
今回は、LLMの流行が起きている今だからこそ、改めてLLM以前の代表的な言語モデルの概要や活用時に想定されるメリット/デメリットをまとめたので、ご紹介します。
こんにちは、アナリティクスサービス部の小澤です。
ChatGPTをはじめとするLLM(Large Language Models)には、再現性の問題や、偏見などを含む不適切な文章の入出力への対応、プロンプトの入力制限数、再学習のリソース問題など、案件や事業での活用に際に発生する課題点がいまだ多く残っています(以前のBlogでも紹介しています)。また前述の課題点のいくつかは、N-gramモデルをはじめとするGPT-3登場以前のモデルで解決できる場合があります。
特に、電子カルテやアナリストレポート、日銀レポートなどのように専門性が高く、慣用表現や定型文の多いテキストデータを扱う場合は、N-gramのようなよりシンプルなモデルや、ルールベースまたは統計的手法による分析手法の相性が良いことがあります。
実際、近年のSIG-FIN(金融情報研究会)の発表においても、統計的な分析手法が用いられている研究テーマが多く存在しています。
そういった背景のもと、ChatGPTの登場からLLMの流行が起きている今だからこそ、改めてLLM以前の代表的な言語モデルの概要や、活用時に想定されるメリット/デメリットについてまとめました。
まとめ
以下に続くモデルの比較が長くなってしまったため、まとめを最初に記載します。
LLMの長所を活かせる事例としては、QAシステムの構築や文章校正または編集、情報抽出のような、大規模なデータセットの事前学習や長い文脈の意味理解を活かせるような事例が考えられます。
一方で、LLMの複雑なモデル構造は、厳密性やモデルの構造または出力の説明性とトレードオフな場合がほとんどなため、そういった場面でLLM以前のモデルの活用可能性を考える必要が出てくると思われます。
長い文脈の理解を必要とせず、単純な文構造の理解や分析をしたい場合、厳密性または説明性が求められるような事例では特にシンプルなモデルの採用が考えられます。
N-gramモデル
モデル概要
N-gramモデルは最も基本的な統計的言語モデルの一つで、テキスト中の単語(または文字)の順序を捉えるために使用されます。"N"は連続した単語の数を表し、その数に応じてユニグラム(1-gram)、バイグラム(2-gram)、トリグラム(3-gram)などと呼ばれます。例えば、バイグラムモデルでは、各単語の出現は前の単語にのみ依存すると仮定されます。
メリット
- 解釈性: 各n-gramの頻度に基づいて次の単語を予測するだけなため、モデルの構造理解や結果の解釈方法も多様です。
- 効率性: N-gramモデルは比較的小さいデータセットで訓練でき、推論も高速です。これは、LLMが必要とする大量の計算リソースとは対照的です。
- データプライバシー観点: ユーザーからの入力データを利用して言語モデルを訓練する場合、LLMでは、特定のユーザーや固有名詞などの情報を保持する可能性があります。これは、データプライバシーに関わる問題となりえます。しかし、N-gramモデルは特定のフレーズの発生確率を記録するだけなので、個人を特定する情報が含まれる可能性は低いです。
デメリット
- 文脈の理解: N-gramモデルは、n-1個の直前の単語だけを考慮して次の単語を予測します。これは、より広い文脈を理解する能力を欠いています。一方、GPTは文脈全体を見て予測を行います。
- 長期的な依存性: N-gramモデルは、文の構造における長期的な依存関係を捉えることが困難です。一方、GPTはそのような長期的な依存関係を捉えることが可能です。
【参考文献】
活用可能性
以上から、リソース制限があり、かつ短いテキストフレーズの生成や単純な予測タスクであればN-gramモデルが比較的良い結果をもたらしつつ早いレスポンスを実現可能なことが多いと思われます。具体的には、文章の自動補完や単純なチャットボットへの応用などが考えられます。
リカレントニューラルネットワーク (RNN)
モデル概要
RNNは時系列データを扱うための深層学習モデルで、各時点の出力が前の時点の状態に依存するという特性を持っています。そのため、時間的な順序に従って情報を処理することができます。そのため、言語モデリングに限らず、時系列データでの活用事例も多く存在します。ここでは、メモリゲート構造は含めず、シンプルなRNNモデルについて言及します。
メリット
- シーケンスデータ処理: RNNはシーケンスデータを自然に扱うことができ、過去の情報を現在の予測に統合できます。
- 効率性: N-gramと同様に、LLMと比較すればかなり小さいモデルなので、比較的少量の計算リソースでモデルの学習および出力が可能です。
デメリット
- 勾配消失/爆発: RNNは訓練中に勾配消失/爆発の問題に直面する可能性があります。これは長期依存性の学習を困難にします。一方、GPTはTransformerアーキテクチャを使用してこの問題を克服します。
活用可能性
元々は時系列データの処理を目的としているため、自然言語処理に限らず、需要予測やマーケティング分析のような時系列分析で応用されることが多いです。またルールベースに近いモデルなため、金融や医療業界のような専門性が高く説明性を求められる場合には特にモデル候補として挙がりやすいです。
【参考文献】
- A Learning Algorithm for Continually Running Fully Recurrent Neural Networks
- Generating Text with Recurrent Neural Networks
LSTMとGRU
モデル概要
LSTMとGRUはRNNの一種で、RNNが持つ長期的な依存性を学習する際の問題を緩和するために設計されました。LSTMとGRUは、ゲートと呼ばれる構造を通じて、どの情報を記憶し、どの情報を忘れるかを学習します。これにより、長いシーケンスにわたる情報の流れを制御することが可能となります。
メリット
- 長期依存性の学習: LSTMとGRUは、勾配消失問題を緩和するゲート機構を導入することで、長期依存性を学習する能力を向上させました。
- 計算コスト: LSTMとGRUはRNNよりも計算コストが高くなります。一方、GPTのようなTransformer構造のLLMと比べれば、比較的小さなモデルで計算コストも低くなります。
デメリット
- 並列化の困難性: RNNはその構造上、系列の各時間ステップを順次的に処理する必要があります。これはモデルの訓練や予測を並列化することが困難であることを意味します。そのため、大規模なデータセットを使用する際の計算効率がLLMに比べて劣ることがあります。
- 文脈の取り扱い: RNN系のモデルは基本的に一方向(通常は過去から未来へ)の文脈しか扱えません。これに対し、トランスフォーマーベースのLLMはより広範な文脈を取り扱うことができます。
活用可能性
N-gramの場合と同様に、計算コストやレスポンス時間に制限がある場合には候補モデルとして挙がりやすいです。また通常のRNNやN-gramよりも文脈理解が優れているため、より複雑な文章構造のテキストデータに対しても活用可能です。そのため、大規模なテキストデータや時系列データの学習を0の状態(事前学習なし)でさせたい場合に有効と考えられます。
【参考文献】
- Long Short-Term Memory
- Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
- Sequence to Sequence Learning with Neural Networks
- Neural Machine Translation by Jointly Learning to Align and Translate
LLMについて
モデル概要
LLMの多くはTransformerというアーキテクチャに基づく深層学習モデルが採用されています。一般的には、大規模なテキストデータによって事前学習されたモデルをチューニングやプロンプト入力などによって微調整することで、特定タスクに活用できるモデルを構築できます。
メリット
- 包括的な文脈理解: LLMは文中の各単語をその全体的な文脈の中で理解します。これにより、単語の意味の曖昧さを解消し、文全体の意味をより正確に推論することが可能になります。
- 転移学習の利用: LLMは事前学習と微調整の2段階で学習され、多くのタスクで優れた結果を達成します。一度学習したモデルを様々なタスクに転用することが可能で、大量のラベル付きデータを必要とせずに新たなタスクを解決できます。
- 優れた性能: LLMは多くの自然言語処理タスクにおいて優れた性能を示します。これは主に、LLMが大量のテキストデータから多様な文脈パターンを学習することによるものです。
デメリット
- 解釈性と制御性: これらのモデルは、解釈性と制御性が低いという課題も抱えています。モデルの出力が何に基づいているのか、またどのように出力を制御できるのかは明確ではありません。
- リソースの消費: これらのモデルは膨大な量のデータと計算リソースを必要とします。訓練はコストがかかり、実装も困難です。
活用可能性
GPTやBERTのようなLLMを用いることが特に有効な場合は、大規模なデータセットから抽象的なパターンや複雑な文脈依存の関係を学習する必要があるタスクです。以下、具体的な活用事例をいくつか挙げてみます。具体的には、QAシステムの構築や文章校正または編集、情報抽出などが特に得意な分野と思われます。
【参考文献】