LLMを選択する:2024年版オープンソースLLM入門ガイド

139686_-_Elastic_-_Headers_-_V1_1.jpg

どんなに控え目に見積もっても、2023年はAIが急成長した1年でした。無数のAIツールが新たにリリースされ、AI機能が既存のアプリに追加され、ハリウッドにはこの技術に対する警鐘が響き渡りました。中には、どこまでフレディ・マーキュリーそっくりに歌えているかを評価してくれるAIツールまで登場しています。

しかしどんなAIツールやAI機能にも、裏方として面倒な作業を一手に引き受けてくれる存在があります。それが大規模言語モデル(LLM)です。LLMの多くが、オープンソースとして提供されています。LLMは、膨大な量のデータを処理して言語を理解し、生成できるディープラーニングアルゴリズムです。その基盤はニューラルネットワークアーキテクチャーです。このアーキテクチャーは、トレーニングをさせることでコンテンツ生成、翻訳、分類、その他のユースケースなど、多様な自然言語処理(NLP)のタスクを実行できるようになります。そのようなLLMをオープンソースで利用できることにより、カスタマーサポート用チャットボットの開発、不正行為の検出、ワクチン開発などのR&D支援といった主要なビジネスタスクだけでなく、他にも複数の業界にわたる多様なユースケースを、以前よりもはるかに簡単に自動化できます。また、データの処理方法と分析方法の幅を広げてくれるLLMは、クラウドのセキュリティ、検索、オブザーバビリティを強化するうえでも重要な役割を果たします。

新しいテクノロジーの例に漏れず、LLMにも検討と解決が必要な課題が伴います。出力の品質は、もっぱら与えられるデータの品質に左右されます。LLMの多くが大規模な公開データレポジトリでトレーニングされており、分野固有のデータでトレーニングされていない場合には、言わば"幻覚"のような、応答や不正確な応答を返す傾向があります。個人情報やユーザー生成コンテンツの収集、保管、保持については、プライバシーや著作権に関する懸念もあります。

LLMについてさらに詳しくは、「大規模言語モデル(LLM)とは何ですか?」のページをご覧ください。

オープンソースLLMとは?

オープンソースLLMとは、無料で利用でき、誰でも変更やカスタマイズが可能なLLMです。

オープンソースLLMは、あらゆる個人や企業がライセンス料金を支払うことなく、自由な用途で使用できます。これには、LLMをインフラストラクチャーにデプロイして、独自のニーズに合うように微調整することも含まれます。

対極にあるのが、クローズドソースLLMです。クローズドソースLLMは、個人や組織が単独で所有する独占的なモデルで、一般公開はされません。その最も有名な例が、OpenAIのGPTシリーズのモデルです。

LLMに最適なユースケース

LLMには無限の可能性がありますが、ここではLLMで実現できるさまざまなことのうち、主なものを少しだけ紹介します。

  • センチメント分析:LLMを使用して、フィードバックやソーシャルメディアなどから収集した主観的な意見を識別したり、分類したりできます。

  • コンテンツ作成:記事、マーケティングコピー、製品の説明など、コンテキストに関連したコンテンツを生成できるLLMもあります。

  • チャットボット:LLMを細かく調整してチャットボットとして使用したり、お客様とやり取りしたりできます。

  • 翻訳:多言語テキストデータを使用すれば、人間の言語を翻訳し、コミュニケーションを支援するためにLLMを活用できます。

  • 調査:LLMにより、膨大な量のデータを取り込んで処理し、関連度の高い情報を入手できるようになるので、調査が楽になります。

人気のオープンソースLLM(2024年版)

皆様の会社やプロジェクトに合ったオープンソースLLMを選びやすくするため、現在提供されているオープンソースLLMを、注目に値する8つのものに絞って紹介します。活発なAIコミュニティにして機械学習レポジトリであるHugging Faceのランキングに基づいて選出しました。

1.GPT-NeoX-20B

EleutherAIが開発したGPT-NeoX-20Bは、GPT-3と似たアーキテクチャーで設計された自己回帰型言語モデルです。GPT-NeoXライブラリを使用して、The Eyeによってホストされる800 GBのオープンソースデータセットであるThe Pileのデータでトレーニングされています。

GPT-NeoX-20Bは主に調査のために開発された、200億個のパラメーターを使用したりカスタマイズしたりできます。

適する利用者
GPT-NeoX-20Bは、マーケティング代理店やメディア企業など、高度なコンテンツ生成が必要な中規模/大規模企業に最適です。GPT-NeoX-20Bを利用する場合は、高度なスキルを備えた人材と、大規模なLLMを実行するための演算処理能力がどちらも必要になります。

適さない利用者
このLLMは、演算処理上の要件に耐えうる経済的、技術的リソースを持たない小規模企業や個人には向いていません。 

使用上の難易度
そのままデプロイすることが想定されていないため、具体的なタスクとニーズに合わせてGPT-NeoX-20Bをデプロイして微調整するための技術的専門知識が必要になります。

2.GPT-J-6b

同じくEleutherAIが開発したGPT-J-6bは、プロンプトから人間らしいテキストを作り出すように設計された、生成的な事前トレーニング済み変換器(GPT)モデルです。GPT-Jを使用して構築されており、トレーニング可能なパラメーターが60億個あります(これが名前の由来です)。

英語のみのデータセットでトレーニングされているので、翻訳や英語以外の言語でのテキスト生成には向いていません。

適する利用者
使いやすくて比較的サイズが小さいGPT-J-6bは、パフォーマンスと消費リソースのバランスを重視するスタートアップ企業や中規模企業に向いています。

適さない利用者
このLLMは、より高度なモデルのパフォーマンスとカスタマイズ性を求める大企業にとっては、最適な選択肢ではないかもしれません。また、多言語サポートが必要な企業にも向いていません。

使用上の難易度
サポートコミュニティの恩恵を受けられるGPT-J-6bは、適度に使いやすいLLMで、中級レベルの技術的ノウハウがある企業であれば使いこなせます。

3.Llama 2

GoogleやOpenAIの人気LLMに対してMetaが開発したのがLlama 2です。一般公開されているデータソースでトレーニングされており、AIドリブンのエクスペリエンスを創出するために設計されています。具体的なタスクに合わせて微調整でき、調査目的でも商用目的でも完全に無料です。

MetaのLLaMAでの経験をベースにしたLlama 2には、3サイズのモデル(パラメーター数70億/130億/700億)が用意されており、動的でスケーラブルな選択肢となっています。

適する利用者
モデルのサイズを選べるLlama 2は、拡張性の高い言語モデルを活用したいと考えている研究者や教育開発者にとって魅力的な選択肢です。コンシューマーグレードのコンピューターでも動作するので、趣味での利用にも向いています。

適さない利用者
Llama 2は、高度に専門的なタスクでの使用が想定されておらず、また、出力の信頼性に若干の懸念があるので、高リスクの用途やニッチな用途には向いていません。

使用上の難易度
教育用途に重点を置いているLlma 2は比較的使いやすいLLMですが、最適な結果を得るためにはカスタマイズが必要になると思われます。

4.BLOOM

BLOOMは、1,760億個という膨大なパラメーター数が自慢の、デコーダーのみの変換器言語モデルです。プロンプトからテキストを生成したり、テキスト生成、要約、埋め込み、分類、セマンティック検索といった特定のタスクを実行するために微調整したりできる設計になっています。

46種類の言語のソース数百個で構成されるデータセットでトレーニングされているので、言語翻訳や多言語出力に適した選択肢でもあります。

適する利用者
BLOOMは、グローバルなオーディエンスがターゲットの、多言語サポートを必要とする大規模企業に適しています。モデルのサイズが大きいので、実行するためには十分なリソースを用意しておく必要があります。

適さない利用者
英語圏の市場のみで事業を展開する企業にとって、BLOOMの多言語機能は余計なものに感じられるかもしれません。また、特にこのような大規模なモデルでは、カスタマイズとトレーニングに膨大なリソースが必要となります。

使用上の難易度
言語のニュアンスを理解する必要があり、さまざまな言語的コンテキストにデプロイしなければならないBLOOMは、中から高レベルの複雑さが伴うと言えます。

5.Falcon

Falconは、BLOOMを指して「1,760億個のパラメーターだけですか?」と言いだしそうなLLMです。

実際にはそのようなことは言っていませんが、Falconのオープンソース言語モデルには、70億、400億、1,800億という魅力的な3つのサイズ展開があります。

Apache Licence 2.0のライセンスのもとで提供されるFalconは、プロンプトからテキストを生成するために設計された自己回帰型LLMで、高品質のRefinedWebデータセットをベースにしています。

適する利用者
高度なパフォーマンスとスケーラビリティを備えたFalconは、Webサイトのような多言語ソリューション、マーケティングクリエーション、投資分析、サイバーセキュリティに関心がある規模の大きな企業に最適です。

適さない利用者
70億パラメーターのオプションがあるとはいえ、Falconは、すぐに使えるシンプルなソリューションでのコンテンツ生成を求める企業に最適とは言えません。その種のタスクにしては、モデルのカスタマイズとトレーニングに要するコストが高くなりすぎるでしょう。

使用上の難易度
最大級のサイズのモデルにしては、Falconは他の一部のLLMと比べて使いやすいですが、その力を最大限に引き出すには具体的なタスクのニュアンスに関する知識が必要になります。

6.CodeGen

Salesforceが提供するこのLLMは、今回紹介する他のLLMとは異なり、回答テキストやコンテンツを出力するのではなく、コンピューターコードを出力します。CodeGenという名称は"Code Generation"を省略したものであり、その名のとおりコードを生成します。既存のコードと自然言語プロンプトのいずれかに基づいてコードを出力するようにトレーニングされています。

パラメーター数70億、130億、340億のサイズ展開があるCodeGenは、ソフトウェア開発に対する洗練されたアプローチを創出するために誕生しました。

適する利用者
Code Genは、コーディングのタスクを自動化して開発者の生産性を高めることを考えているテクノロジー企業やソフトウェア開発チーム向きです。

適さない利用者
コンピューターコードを書いたり扱ったりしない企業には、このLLMは不要です。

使用上の難易度
Code Genは、既存の開発ワークフローへの統合が複雑になる可能性があり、ソフトウェアエンジニアリングに関する確かな知識が求められます。

7.BERT

初期に登場した先進的なLLMの1つであるBERTは、2018年にGoogleが生み出したエンコーダーのみの変換器アーキテクチャーです。人間の言語を理解、生成、操作するための設計になっています。

BERTは、他ならぬGoogleが検索クエリの理解度向上のために使用しており、テキスト生成、質問への回答、感情分析といった他のタスクでも活躍しています。

適する利用者
Googleそのものの検索で重要な役割を担っていることを考えると、BERTは、サイトとコンテンツを検索エンジン向けに最適化したり、コンテンツの関連度を高めたりするSEOスペシャリストやコンテンツ制作者にぴったりの選択肢です。

適さない利用者
登場してからの期間の長さに由来する冗長化が見られるBERTは、SEO以外の分野では、より大規模で新しい別の選択肢に比べて魅力的ではないと思われます。

使用上の難易度
BERTは、SEOとコンテンツ最適化に馴染みのある人にとっては非常にわかりやすいLLMですが、Googleの最新のSEO向け推奨事項にキャッチアップしていくための微調整が必要になる可能性があります。

8.T5

T5(Text-to-Text Transfer Transformerというフックが効いた名称の略語)は、テキストからテキストへの変換というアプローチを採用した、変換器ベースのアーキテクチャーです。T5では、NLP問題が入力と出力が常にテキスト文字列になるフォーマットに変換されます。これにより、翻訳、質問への回答、分類といった多様なタスクでT5を活用できます。パラメーター数6,000万個から110億個まで、5サイズの展開があります。

適する利用者
T5は、要約、翻訳、分類など、テキストからテキストへの変換を伴う多様なタスクのために、汎用性の高いツールを求めている企業に適しています。

適さない利用者
比較的柔軟性が高いT5ですが、テキスト以外の出力が求められるタスクには向いていません。 

使用上の難易度
幅広いトレーニング済みモデルが用意されているT5は、一般に他のLLMと比べて使いやすいと考えられます。とはいえ、ニッチなタスクや特殊なタスクになじませるには、ある程度の専門知識が必要になる可能性があります。

免責事項:パラメーター数とモデルのサイズは、すべて本記事の公開時における正確な情報ですが、公開後に変更される可能性があります。

ビジネスに適したLLMを選択する

使用するオープンソースLLMを決める際に検討するべき重要な基準がいくつかあります。

  • コスト:これらのLLMはオープンソースなので、モデル自体にコストは発生しません。とはいえ、ホスティング、トレーニング、リソース、その他のコストについては考慮する必要があります。LLMのサイズが大きく、複雑になればなるほど、コストが増加する可能性があります。LLMのサイズが大きいほど、より大規模なデータストレージ、演算処理能力、インフラストラクチャー、メンテナンスが必要になるからです。

  • 精度:候補となるLLMの精度に関する評価は欠かせません。それぞれのLLMが、求めているタスクをどの程度の精度でこなせるのかを比較する必要があります。たとえば、領域特化型のモデルもあれば、微調整や検索拡張生成(RAG)で改善できるモデルもあります。

  • パフォーマンス:LLMのパフォーマンスは、言語の流暢性、一貫性、コンテキスト理解度などで測定されます。これらの点に優れたLLMほど、パフォーマンスも良くなります。パフォーマンスが良ければ、ユーザーエクスペリエンスとタスクの実効性も向上し、競争力も高まります。 

  • データセキュリティ:データのセキュリティも、鍵となる検討事項です。機密データやPIIデータを扱う場合には、特に重要になります。ここでも、ドキュメントレベルのセキュリティを使用してデータへのアクセスを制御したり、特定のデータに対するセキュリティ権限を制限したりできるRAGが効果を発揮するかもしれません。

  • 専用タスクか多目的か:より限定的なユースケースを扱えるLLMなのか、幅広い多様なタスクに対応できるLLMなのかを考える必要があります。領域特化型のモデルもあるので、特定の領域内でモデルを選ぶのか、カバー範囲の広いモデルを探すのか、慎重になる必要があります。 

  • トレーニングデータの品質:データの品質が悪いと、結果も悪くなります。それぞれのLLMが使用するデータを評価して、信頼できるモデルを選びましょう。ここでもRAGが役に立ちます。RAGでは、作成して微調整したカスタムデータを使用して出力品質を直接改善できるからです。

  • スキルセット:もう1つ検討するべき重大な要素が、プロジェクトチーム内の既存のスキルセットです。データサイエンス、ML Ops、NLPなどに関する経験は必須です。LLMが複雑になるほど、チームに求められるスキルセットは高度になります。この方面で限界がある場合は、シンプルなLLMに目を向けましょう。または、より専門的な人材の採用も選択肢の1つかもしれません。

これらの基準を使用すれば、今回紹介したLLMのうち、どれが自分の環境に最もフィットするのかを見極められるはずです。

時間を取って、掲載されているオプションを見て、問題の解決に最も役立つ方法に基づいて評価を行うことをお勧めします。これらのオープンソースLLMはどれも非常にパワフルで、効果的に活用すれば革新をもたらしてくれるはずです。

本記事に記述されているあらゆる機能ないし性能のリリースおよびタイミングは、Elasticの単独裁量に委ねられます。現時点で提供されていないあらゆる機能ないし性能は、すみやかに提供されない可能性、または一切の提供が行われない可能性があります。

このブログ記事では、それぞれのオーナーが所有・運用するサードパーティの生成AIツールを使用したり、参照したりしている可能性があります。Elasticはこれらのサードパーティのツールについていかなる権限も持たず、これらのコンテンツ、運用、使用、またはこれらのツールの使用により生じた損失や損害について、一切の責任も義務も負いません。個人情報または秘密/機密情報についてAIツールを使用する場合は、十分に注意してください。提供したあらゆるデータはAIの訓練やその他の目的に使用される可能性があります。提供した情報の安全や機密性が確保される保証はありません。生成AIツールを使用する前に、プライバシー取り扱い方針や利用条件を十分に理解しておく必要があります。 

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine、および関連するマークは、米国およびその他の国におけるElasticsearch N.V.の商標、ロゴ、または登録商標です。他のすべての会社名および製品名は、各所有者の商標、ロゴ、登録商標である場合があります。