大規模言語モデル(LLM)とは何ですか?
大規模言語モデルの定義
大規模言語モデル(LLM)は、深層学習アルゴリズムの一種で、さまざまな自然言語処理(NLP)タスクを実行できます。大規模言語モデルは、トランスフォーマーモデルを使用し、膨大なデータセットを使って訓練するため、巨大なものになります。これにより、テキストやその他のコンテンツの認識、翻訳、予測、生成が可能になります。
大規模言語モデルはまた、人間の脳にヒントを得たコンピュータシステムである、ニューラルネットワーク(NN)の一種であるとも言えます。ニューラルネットワークは、多層化したノードのネットワークを使用して作動するため、ニューロンによく似ています。
人間の言語を人工知能(AI)アプリケーションに教えることに加えて、大規模言語モデルはタンパク質構造の理解やソフトウェアコードの記述など、さまざまなタスクを実施するように訓練できます。人間の脳と同様に、大規模言語モデルは事前に訓練し、次に微調整する必要があり、そうしてテキスト分類、質問の回答、文書の要約、テキスト生成の問題を解くことができるようになります。その問題解決能力は医療、金融、娯楽などの分野に適用でき、そこでは大規模言語モデルを翻訳、チャットボット、AIアシスタントなどの、さまざまなNLPアプリケーションに活用しています。
大規模言語モデルは多くのパラメータを持ちますが、それらはモデルが訓練により、学習するにつれて収集する記憶のようなものです。こういったパラメータは、モデルの知識バンクだと考えてください。
こちらの動画を視聴して、LLMについてさらに深く学びましょう。
トランスフォーマーモデルとは
トランスフォーマーモデルは、大規模言語モデルの最も一般的なアーキテクチャであり、エンコーダとデコーダで構成されます。トランスフォーマーモデルは入力をトークン化してデータを処理し、次に数学的方程式を同時に処理してトークン間の関係性を見出します。これにより、コンピュータは、人間が同じクエリを与えられた時に見るものと同じパターンを認識できます。
トランスフォーマーモデルは、自己注意メカニズムと連携するため、モデルは、長・短期記憶モデルのような従来のモデルよりもより迅速に学習できます。自己注意とは、トランスフォーマーモデルがシーケンスのさまざまな部分、またはある文章のコンテクスト全体を考慮して、予測を生み出せるようにするものです。
大規模言語モデルの主要コンポーネント
大規模言語モデルは、複数のニューラルネットワーク層で構成されています。Recurrent層、Feedforward層、Embedding層、Attention層が連携して作動し、入力テキストを処理して出力コンテンツを生成します。
Embedding層は、インプットテキストから埋め込み(ベクトル)を作成します。大規模言語モデルのこの部分で、入力のセマンティック(意味論的)およびシンタクティック(構文的)な意味を把握して、モデルは文脈の意味を理解できます。
大規模言語モデルのFeedforward層(FFN)は複数の全結合層で出来ており、入力の埋め込みを変換します。その際に、この複数の層によって、モデルが高レベルな抽象化を収集できます。すなわち、テキスト入力にあるユーザーの意図を理解します。
Recurrent層は、入力テキスト内の単語を順次解釈します。ここで、文章内の単語間の関係性を把握します。
Attentionメカニズムにより、言語モデルは今扱っているタスクに関係のある入力テキストの一部分に着目できます。この層によって、モデルは最も正確な出力を生成できます。
大規模言語モデルには主に3種類あります。
- GenericまたはRaw言語モデルは、訓練データ内にある言語を基に、次の単語を予測します。この種の言語モデルは、情報検索タスクに使用します。
- 指示チューニング型言語モデルは、入力で指定された指示に対する応答を予測するように訓練します。これにより、センチメント分析が実行できたり、テキストやコードを生成できるようになります。
- 対話チューニング型言語モデルは、次の応答を予測して対話するように訓練します。チャットボットや対話型AIがこれに該当します。
大規模言語モデルと生成AI(ジェネレーティブAI)の違い
生成AIとは、コンテンツを生み出す機能を持つ人工知能(AI)モデルを指す総称です。生成AIはテキスト、コード、画像、動画、音楽を生成できます。生成AIの例としては、Midjourney、DALL-E、ChatGPTがあります。
大規模言語モデルは生成AIの一種で、テキストで訓練しテキストでのコンテンツを作成します。ChatGPTは、生成テキストAIの良く知られた例です。
大規模言語モデルはすべて生成AIです1。
大規模言語モデル(LLM)はどのように機能するのか
大規模言語モデルは、トランスフォーマーモデルに基づいて入力を受け取り、エンコードし、さらにデコードして出力の予測を生成するように機能します。しかし、大規模言語モデルがテキスト入力を受け取って出力の予測を生成する前に訓練が必要で、これにより一般的な機能を果たすことができるようになり、さらに微調整して、特定のタスクを実行できるようになります。
トレーニング:大規模言語モデルは、WikipediaやGitHubなどのサイトから得た大容量のテキストデータセットを使って、事前に訓練します。こういったデータセットは、大量の単語で構成されているため、その品質が言語モデルの性能に影響します。この段階では、大規模言語モデルは人の介入なしで学習を行います。つまりモデルに供給されるデータセットは具体的な指示なしで処理されます。この処理中にLLMのAIアルゴリズムは、単語と単語間の関係性の意味を学習できます。また、文脈に基づいて単語を区別することも学習します。たとえば「right」という単語が「正しい」という意味なのか、「右」という意味なのかを理解するように学習します。
微調整:大規模言語モデルが翻訳のような特定のタスクを実行するためには、その特定のアクティビティに合わせて微調整する必要があります。微調整により、特定のタスクの性能を最適化します。
プロンプト調整も微調整とよく似た機能を果たし、Few-shotプロンプティングやゼロショットプロンプティングによって、特定のタスクを実行できるようにモデルを訓練します。プロンプトとは、LLMに与える指示です。Few-shotプロンプティングは、モデルに、使用例を介して出力を予測するように教えます。たとえば、このセンチメント分析の演習では、Few-shotプロンプトは以下のようになります。
お客様のレビュー:この植物はとても美しいです!
カスタマーセンチメント:ポジティブ
お客様のレビュー:この植物は気味が悪い!
カスタマーセンチメント:ネガティブ
言語モデルは「気味が悪い」のセマンティック(意味論的)な意味を通して理解し、また逆の例も示されているので、第二の例ではカスタマーセンチメント(顧客の感情)は「ネガティブ」であることを理解します。
一方、ゼロショットプロンプティングでは例を使わずに、言語モデルに入力への応答の仕方を教示します。その代わり質問が「『この植物は気味が悪い』である場合のセンチメントは〜である」という形にします。これは、言語モデルがどのタスクを実行すべきなのかを明確に示しますが、問題解決の例は提供しません。
大規模言語モデルのユースケース
大規模言語モデルを使用目的には以下のようなものがあります。
- 情報検索: BingやGoogleが該当します。これらの検索機能を使用する場合は常に、大規模言語モデルに依存していて、それがクエリに対する応答の形で情報を作成しています。情報を検索し、次に要約して、会話調で答えを示すことができます。
- センチメント分析:自然言語処理のアプリケーションである大規模言語モデルによって、企業はテキストデータのセンチメント(感情)を分析できます。
- テキスト生成:ChatGPTのような生成AIの背後には大規模言語モデルがあり、入力に基づいてテキストを生成できます。プロンプトを受けると、テキストの例を作成できます。例:「エミリー・ディキンソン風にヤシの木についての詩を書いてください。」
- コード生成:テキスト生成と同様に、コード生成は生成AIの応用です。LLMはパターンを理解し、コードの生成を可能にします。
- **チャットボットと会話型AI:大規模言語モデルは、顧客サービスチャットボットや会話型AIを使ってお客様に対応し、彼らの問い合わせや受け答えの意味を解釈し、その上で応答します。
関連記事:チャットボットの製作方法:開発者がすべきこと・すべきでないこと
こうしたユースケースに加えて、大規模言語モデルは文章を完成させ、質問に答え、テキストを要約できます。
幅広くさまざまな用途を持つ大規模言語モデルは、以下に挙げるような多くの分野で見出すことができます。
- テクノロジー分野:大規模言語モデルは、検索エンジンの活用からクエリの応答、開発者のコード生成の補助まで、いたるところで使用されています。
- ヘルスケアと科学:大規模言語モデルには、タンパク質、分子、DNA、RNAを理解する能力があります。この機能により、LLMをワクチンの開発、病気の治療法の発見、予防治療薬の改善に役立てることができます。LLMはまた、医療用チャットボットとして使用でき、患者の問診や基本的な診断を行います。
- カスタマーサービス:LLMは、多くの業界にわたって、チャットボットや対話型AIといった顧客サービス目的に使用されています。
- マーケティング:マーケティングチームは、LLMを用いてセンチメント分析を行い、キャンペーンのアイディアや売り込み例としてのテキストなどを迅速に作成します。
- 法律:巨大なテキストデータセットの検索から法律用語の生成まで、大規模言語モデルは弁護士、パラリーガル、法務担当職員を補助します。
- バンキング:LLMは、クレジットカード会社の詐欺検出をサポートできます。
会社で生成AIを始めてみましょう。このウェビナーを視聴して、企業環境における生成AIの課題と機会をご覧ください。
大規模言語モデルの利点
幅広い用途を持つ大規模言語モデルは、問題解決において圧倒的なメリットがあります。LLMは情報を明確な会話形式で提供するため、ユーザーが簡単に理解できるからです。
大規模なアプリケーションセット:これらは、言語翻訳、文章の作成、センチメント分析、質問応答、数式などに使用できます。
断続的改善:大規模言語モデルの性能は、より多くのデータとパラメータが追加されると成長するため、絶えず改善されています。言い換えると、学習すればする程、性能は良くなっていきます。さらに大規模言語モデルは、「コンテクスト内学習(in-context learning)」という機能を備えています。一旦LLMを事前訓練したら、少数ショットプロンプティングによって、このモデルは追加のパラメータなしにプロンプトから学習できるようになります。こうして継続的に学習を続けます。
速い学習速度:コンテクスト内学習を実際に行う場合に、訓練のための追加の負荷、リソース、パラメータが不要なため、大規模言語モデルは迅速に学習します。大量の例を必要としないという点に迅速性があります。
LLMの制限と課題
大規模言語モデルは我々に、意味を理解して正確に返答できるという印象を与えるかもしれません。しかし、大規模言語モデルはやはり技術的ツールにすぎず、それゆえさまざまな課題に直面しています。
ハルシネーション:ハルシネーション(幻覚)とは、LLMが誤った出力、またはユーザーの意図と一致しない出力を生成することを指します。たとえば、自分が人間であるとか、自分には感情があるとか、ユーザーと恋に落ちていると主張することがあります。大規模言語モデルは次に来る構文的に正しい単語や語句を予測しているだけで、人間的な意味を完全に解釈しているわけではありません。結果は時に「ハルシネーション」と呼ばれるものになります。
セキュリティ:大規模言語モデルは、適切に管理または監視されない場合、重大なセキュリティリスクをもたらします。LLMは、人の個人情報の漏洩、フィッシング詐欺への加担、スパムの作成をしてしまうことがあります。悪意のあるユーザーは、AIを彼らのイデオロギーやバイアス寄りに再プログラムし、誤った情報の拡散に利用できます。その影響は、世界的規模で壊滅的な結果をもたらす可能性があります。
バイアス:言語モデルの訓練に使用されるデータは、特定のモデルが生成する出力に影響を与えます。そのため、データが単一の人口統計を表していたり、多様性に欠けたりしている場合、大規模言語モデルが生み出す出力はやはり多様性のないものになります。
同意:大規模言語モデルは数兆ものデータセットで学習しますが、その中には同意を得ずに取得されたものもあるかもしれません。インターネットからデータをスクレイピングする際には、大規模言語モデルは著作権を無視し、著作物を盗用し、本来の所有者やアーティストから許可を得ることなく所有権のあるコンテンツを再利用することが知られています。LLMが結果を生成する時に、データの出どころを追跡する方法がなく、クリエイターに対する出典を記載しない場合もままあり、そのためユーザーは著作権侵害の問題にさらされることになります。
また、写真の説明から被写体や撮影者の名前などの個人データをスクレイピングすることもあり、プライバシーが侵害される可能性があります2。LLMは、すでに訴訟沙汰になっており、これは知的財産を侵害したとするGetty Images3が起こしたものが有名です。
スケーリング:大規模言語モデルのスケーリングと保守は難しく、大量の時間とリソースを必要とする場合があります。
デプロイ:大規模言語モデルのデプロイには、深層学習、トランスフォーマーモデル、分散ソフトウェアとハードウェア、そして包括的な技術的専門知識が必要です。
有名な大規模言語モデルの例
有名な大規模言語モデルは一世を風靡しています。その多くが、さまざまな業界の人々に採用されています。生成AIチャットボットの一種であるChatGPTのことは、すでにご存じでしょう。
その他の人気のあるLLMモデルを、以下に挙げます。
- PaLM: GoogleのPathways言語モデル(PaLM)は、常識的および算術的な推論、ジョークの説明、コード生成、翻訳が可能なトランスフォーマー言語モデルです。
- BERT:Bidirectional Encoder Representations from Transformers(BERT)言語モデルもGoogleで開発されました。トランスフォーマーベースのモデルで、自然言語が理解でき、質問に答えられます。
- XLNet:順列言語モデルであるXLNetは、BERTと異なり順不同で出力予測を生成します。エンコードしたトークンのパターンを評価し、順番ではなくランダムな順序でトークンを予測します。
- GPT:GPT(Generative Pre-trained Transformers)は、おそらく最も有名な大規模言語モデルです。OpenAIが開発したGPTは、人気のある基礎的モデルで、GPT-3、GPT-4といったバージョン番号が、先行モデルの改良を表しています。ダウンストリームで特定のタスクを実行するように微調整できます。その例として、CRM用にSalesforceが開発したEinsteinGPT、ファイナンス分野ではBloombergのBloombergGPTがあります。
大規模言語モデルの今後の発展
ChatGPTの到来により、大規模言語モデルが脚光を浴び、推測が飛び交い、未来はどうなるのかという議論が白熱しました。
大規模言語モデルが成長し、自然言語を自由に扱える能力を改善し続けるにつれて、その進歩が雇用状況に与える影響に関する懸念が沸き起こってきました。大規模言語モデルが、特定の分野の労働者を置き換える能力を獲得するであろうことは明らかです。
大規模言語モデルは生産性を上げ処理を効率的に行う能力を持つ一方、人間社会でこれを使用することに関しては倫理的な疑問が残ります。
Elasticsearch Relevance Engine(ESRE)について
Elasticsearch Relevance Engine(ESRE)は、LLMの現状の制限に対処するため、人工知能による検索アプリケーション用に構築した関連性エンジンです。ESREの力を活用すれば、開発者は独自のセマンティック検索アプリケーションを構築し、自分自身のトランスフォーマーモデルを活用し、NLPと生成AIを組み合わせて顧客の検索体験を向上させることができます。
Elasticsearch Relevance Engineを活用して、関連性を飛躍的に高めましょう
大規模言語モデルのリソースをさらに探る
- Elasticの生成AIツールと機能
- ベクトルデータベースの選び方
- チャットボットの製作方法:開発者がすべきこと・すべきでないこと
- LLMの選択:2024年版オープンソースLLM入門ガイド
- Elasticsearchでの言語モデル
- 2024年の技術トレンド:進化する検索と生成AI技術の現状
- Elastic Stackにおける自然言語処理(NLP)の概要
- Elastic Stack互換のサードパーティーモデル
- Elastic Stackにおける訓練済みモデルガイド
- LLM安全性評価
脚注
1 Myer, Mike. “Are Generative AI and Large Language Models the Same Thing?” Quiq、2023年5月12日、quiq.com/blog/generative-ai-vs-large-language-models/.
2 Sheng, Ellen. “In generative AI legal Wild West, the courtroom battles are just getting started,” CNBC、2023年4月3日、https://www.cnbc.com/2023/04/03/in-generative-ai-legal-wild-west-lawsuits-are-just-getting-started.html(2023年6月29日にアクセス)
3 Getty Imagesの声明、Getty Images、2023年1月17日https://newsroom.gettyimages.com/en/getty-images/getty-images-statement(2023年6月29日にアクセス)