大規模言語モデル(LLM)とは何ですか?
大規模言語モデルの定義
大規模言語モデル(LLM)は、深層学習アルゴリズムの1種で、さまざまな自然言語処理(NLP)タスクを実行できます。大規模言語モデルは、変換器モデルを使用し、膨大なデータセットを使って訓練するため、巨大なものになります。これにより、テキストやその他のコンテンツの認識、翻訳、予測、生成が可能になります。
大規模言語モデルはまた、人間の脳にヒントを得たコンピュータシステムである、ニューラルネットワーク(NN)の1種であるとも言えます。ニューラルネットワークは、多層化したノードのネットワークを使用して作動するため、ニューロンによく似ています。
人間の言語を人工知能(AI)アプリケーションに教えることに加えて、大規模言語モデルはタンパク質構造の理解やソフトウェアコードの書くなど、さまざまなタスクを実施するように訓練できます。人間の脳と同様に、大規模言語モデルは事前に訓練し、次に微調整する必要があり、そうしてテキスト分類、質問の回答、文書の要約、テキスト生成の問題を解くことができるようになります。その問題解決能力は医療、金融、娯楽などの分野に適用でき、そこでは大規模言語モデルを翻訳、チャットボット、AIアシスタントなどの、さまざまなNLPアプリケーションに活用しています。
大規模言語モデルは多くのパラメータを持ちますが、それらはモデルが訓練により学習するにつれて収集する記憶のようなものです。こういったパラメータは、モデルの知識バンクだと考えてください。
では変換器モデルとは何でしょうか?
変換器モデルは、大規模言語モデルの最も一般的なアーキテクチャです。これはエンコーダとデコーダで構成されます。変換器モデルは入力をトークン化してデータを処理し、次に数学的方程式を同時に処理してトークン間の関係性を見出します。これにより、コンピュータは、人間が同じクエリを与えられた時に見るものと同じパターンを見えるようになります。
変換器モデルは、自己注意メカニズムと連携するため、モデルは、長・短期記憶モデルのような従来のモデルよりもより迅速に学習できます。自己注意とは、変換器モデルがシーケンスのさまざまな部分、またはある文章のコンテクスト全体を考慮して、予測を生み出せるようにするものです。
大規模言語モデルの主要コンポーネント
大規模言語モデルは、複数のニューラルネットワーク層で構成されています。Recurrent層、Feedforward層、Embedding層、Attention層が連携して作動し、入力テキストを処理して出力コンテンツを生成します。
Embedding層は、入力されたテキストから埋め込み(ベクトル)を作成します。大規模言語モデルのこの部分で、入力のセマンティック(意味論的)でシンタクティック(構文的)な意味を把握して、モデルは文脈の意味を理解できます。
大規模言語モデルのFeedforward層(FFN)は複数の全結合層で出来ており、入力の埋め込みを変換します。その際に、この複数の層によって、モデルが高レベルな抽象化を収集できます。すなわち、テキスト入力にあるユーザーの意図を理解します。
Recurrent層は、入力テキスト内の単語を順次解釈します。ここで、文章内の単語間の関係性を把握します。
Attentionメカニズムにより、言語モデルは今扱っているタスクに関係のある入力テキストの1部分に着目できます。この層によって、モデルは最も正確な出力を生成できます。
大規模言語モデルには主に3種類あります。
- GenericまたはRaw言語モデルは、訓練データ内にある言語を基に、次の単語を予測します。この種の言語モデルは、情報検索タスクに使用します。
- 指示チューニング型言語モデルは、入力で指定された指示に対する応答を予測するように訓練します。これにより、センチメント分析が実行できたり、テキストやコードを生成できるようになります。
- 対話チューニング型言語モデルは、次の応答を予測して対話するように訓練します。チャットボットや対話型AIがそうです。
大規模言語モデルと生成AI(ジェネレーティブAI)の違いは何ですか?
生成AIとは、コンテンツを生み出す機能を持つ人工知能(AI)モデルを指す総称です。生成AIはテキスト、コード、画像、動画、音楽を生成できます。生成AIの例としては、Midjourney、DALL-E、ChatGPTがあります。
大規模言語モデルは生成AIの1種で、テキストで訓練しテキストでのコンテンツを作成します。ChatGPTは、生成テキストAIの良く知られた例です。
大規模言語モデルはすべて生成AIです1。
大規模言語モデル(LLM)はどのように作動しますか?
大規模言語モデルは、変換器モデルに基づいて入力を受け取り、エンコードして、さらにデコードして出力の予測を生成するように作動します。しかし、大規模言語モデルがテキスト入力を受け取って出力の予測を生成する前に訓練が必要で、これにより一般的な機能を果たすことができるようになり、さらに微調整して、特定のタスクを実行できるようになります。
訓練:大規模言語モデルは、WikipediaやGitHubなどのサイトから得た大容量のテキストデータセットを使って、事前に訓練します。こういったデータセットは、大量の単語で構成されているため、その品質が言語モデルの性能に影響します。この段階では、大規模言語モデルは人の介入なしで学習を行います。つまりモデルに供給されるデータセットは具体的な指示なしで処理されます。この処理中にLLMのAIアルゴリズムは、単語と単語間の関係性の意味を学習できます。また、文脈に基づいて単語を区別することも学習します。例えば「right」という単語が「正しい」という意味なのか、「右」という意味なのかを理解するように学習します。
微調整:大規模言語モデルが翻訳のような特定のタスクを実行するには、その特別な用途に合わせて微調整する必要があります。微調整により、特定のタスクの性能を最適化します。
プロンプト調整も微調整とよく似た機能を果たし、少数のショット(Few-shot)プロンプティングやゼロショットプロンプティングによって、特定のタスクを実行できるように、モデルを訓練します。プロンプトとは、LLMに与える指示です。少数ショットプロンプティングは、モデルに、使用例を介して出力を予測するように教えます。例えば、このセンチメント分析のエクササイズでは、少数ショットプロンプトは以下のようになります。
Customer review: This plant is so beautiful!
Customer sentiment: positive
Customer review: This plant is so hideous!
Customer sentiment: negative
言語モデルは「おぞましい(hideous)」のセマンティック(意味論的)な意味を通して理解し、また逆の例も示されているので、第二の例ではカスタマーセンチメント(顧客の感情)は「否定的(negative)」であることを理解します。
一方、ゼロショットプロンプティングでは例を使わずに、言語モデルに入力への応答の仕方を教示します。その代わり質問を「『この植物は実におぞましい』という場合のセンチメント(感情)は....である」という形にします。 これは、言語モデルがどのタスクを実行すべきなのかを明確に示しますが、問題解決の例は提供しません。
大規模言語モデルのユースケース
大規模言語モデルを使用目的には以下のようなものがあります。
- 情報検索:BingやGoogleを思い浮かべてください。これらの検索機能を使用する場合は常に、大規模言語モデルに依存していて、それがクエリに対する応答の形で情報を作成しています。情報を検索して、次に要約して、会話体で答えを示すことができるのです。
- センチメント分析:自然言語処理のアプリケーションである大規模言語モデルによって、企業はテキストデータのセンチメント(感情)を分析できます。
- テキスト生成:大規模言語モデルは、ChatGPTのような生成AIの背後にいて、入力に基づいてテキストを生成できます。プロンプトを受けた時に、テキストの例を作成できます。以下にプロンプトの例を示します。「椰子の木についての、エミリー・ディキンソン風の詩を書いてください。」
- コード生成:テキスト生成同様に、コード生成も生成AIの用途のひとつです。LLMはパターンを理解し、コードの生成を可能にします。
- チャットボットと対話型AI:大規模言語モデルは、顧客サービスチャットボットや対話型AIを使ってお客様に対応し、彼らの問い合わせや受け答えの意味を解釈し、その上で応答します。
こうしたユースケースに加えて、大規模言語モデルは文章を完成させ、質問に答え、テキストを要約できます。
幅広くさまざまな用途を持つ大規模言語モデルは、以下に挙げるような多くの分野で見出すことができます。
- 技術:大規模言語モデルは、検索エンジンの活用からクエリの応答、開発者のコード生成の補助まで、いたるところで使用されています。
- 医療と科学:大規模言語モデルには、タンパク質、分子、DNA、RNAを理解する能力があります。この機能により、LLMをワクチンの開発、病気の治療法の発見、予防治療薬の改善に役立てることができます。LLMはまた、医療用チャットボットとして使用でき、患者の問診や基本的な診断を行います。
- カスタマーサービス:LLMは、多くの業界にわたって、チャットボットや対話型AIといった顧客サービス目的に使用されています。
- マーケティング:マーケティングチームは、LLMを用いてセンチメント分析を行い、キャンペーンのアイディアや売り込み例としてのテキストなどを迅速に作成します。
- 法律:巨大なテキストデータセットの検索から法律用語の生成まで、大規模言語モデルは弁護士、パラリーガル、法務担当職員を補佐します。
- 銀行業務:LLMは、詐欺行為の検出において、クレジットカード会社をサポートします。
大規模言語モデルの利点
幅広い用途を持つ大規模言語モデルは、問題解決において圧倒的なメリットがあります。LLMは情報を明確な会話形式で提供するため、ユーザーが簡単に理解できるからです。
幅広い用途:言語の翻訳、文章の慣性、センチメント分析、質問の解答、数式などに使用できます。
継続的な改善:大規模言語モデルの性能は、より多くのデータとパラメータが追加された時に高まるため、絶えず改善されています。言い換えると、学習すればする程、性能は良くなっていきます。さらに大規模言語モデルは、「コンテクスト内学習(in-context learning)」という機能を備えています。 一旦LLMを事前訓練したら、少数ショットプロンプティングによって、このモデルは追加のパラメータなしにプロンプトから学習できるようになります。こうして継続的に学習を続けます。
迅速な学習:コンテクスト内学習を実際に行う場合に、訓練のための追加の負荷、リソース、パラメータが不要なため、大規模言語モデルは迅速に学習します。それには非常に多くの例を必要としないという意味で、高速に実行できます。
大規模言語モデルの制限と課題
大規模言語モデルは我々に、意味を理解して正確に返答できるという印象を与えるかもしれません。しかし、大規模言語モデルはやはり技術的ツールにすぎず、それゆえさまざまな課題に直面しています。
幻覚:幻覚とは、LLMが誤った出力、またはユーザーの意図と一致しない出力を出す時のことを言います。例えば、自分が人間であるとか、自分には感情があるとか、ユーザーと恋に落ちていると主張することがあります。大規模言語モデルは次に来る構文的に正しい単語や語句を予測しているだけで、人間的な意味を完全に解釈しているわけではありません。結果は時に「幻覚」と呼ばれるものになります。
セキュリティ:大規模言語モデルは、適切に管理・監視されていない場合、重大なセキュリティリスクをもたらせます。LLMは、人の個人情報の漏洩、フィッシング詐欺への加担、スパムの作成をしてしまうことがあります。悪意のあるユーザーは、AIを彼らのイデオロギーや偏見寄りに再プログラムし、誤った情報の拡散に利用できます。その影響は、世界的規模で壊滅的となる可能性があります。
偏り:言語モデルの訓練に使用するデータは、そのモデルが生み出す出力に影響します。そのため、データが単一の人口統計を表していたり、多様性に欠けたりしている場合、大規模言語モデルが生み出す出力はやはり多様性のないものになります。
同意:大規模言語モデルは、膨大な量のデータセットで訓練しますが、その中には同意が得られていないものがあるかもしれません。インターネットからデータをスクレイピングする際には、大規模言語モデルは著作権を無視し、著作物を盗用し、本来の所有者やアーティストから許可を得ることなく所有権のあるコンテンツを再利用することが知られています。LLMが結果を生成する時に、データの出どころを追跡する方法がなく、クリエイターにクレジットを与えない場合もままあり、そのためユーザーは著作権侵害の問題にさらされることになります。
またLLMは、写真の説明から被写体や写真家の名前を得るなど、個人データを取得してプライバシーを侵害する可能性があります2。LLMは、すでに訴訟沙汰になっており、これは知的財産を侵害したとするGetty Images3が起こしたものが有名です。
スケーリング:大規模言語モデルの規模の拡大や維持管理は、時間とリソースを消費する難題となっています。
デプロイ:大規模言語モデルのデプロイには、深層学習、変換器モデル、分散ソフトウェアとハードウェア、包括的な技術関係の専門知識が必要となります。
有名な大規模言語モデルの例
有名な大規模言語モデルは一世を風靡しています。その多くが、さまざまな業界の人々に採用されています。生成AIチャットボットの1種であるChatGPTのことは、すでにご存じでしょう。
その他の人気のあるLLMモデルを、以下に挙げます。
- PaLM:GoogleのPathways Language Model(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)の導入
LLMの現状の制限に対処するため、Elasticsearch Relevance Engine(ESRE)は、人工知能による検索アプリケーション用に構築した関連性エンジンです。ESREの力を活用すれば、開発者は独自のセマンティック検索アプリケーションを構築し、自分自身の変換器モデルを活用し、NLPと生成AIを組み合わせて顧客の検索体験を向上させることができます。
関連性をElasticsearch Relevance Engineに思う存分つぎ込みましょう
大規模言語モデルの資料
- Elasticsearchでの言語モデル
- Elastic Stackにおける自然言語処理(NLP)の概要
- Elastic Stack互換の第三者モデル
- Elastic Stackにおける訓練済みモデルのガイド
- 画像の類似検索の5つの技術要素
脚注
1Myer、Mike。『生成AIと大規模言語モデルは同じものですか?』 Quiq、2023年5月12日、quiq.com/blog/generative-ai-vs-large-language-models/
2Sheng、Ellen。『生成AIの法的最前線、法定での戦いが始まったばかり』、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日にアクセス)
3Getty Imagesの声明、Getty Images、2023年1月17日https://newsroom.gettyimages.com/en/getty-images/getty-images-statement(2023年6月29日にアクセス)