ベンチマークだけじゃない!ドメイン特化LLMで切り拓く次世代AI戦略
目次[非表示]
- 1.ごあいさつ
- 2.ドメイン特化LLMとは何か
- 3.なぜドメイン特化するのか
- 4.リスクの観点から考える
- 5.LLMをある領域に特化させるための方法
- 6.RAG VS Fine-Tuning
- 7.LLMにおけるベンチマークとは
- 8.ベンチマークが高い=他の何よりも素晴らしい?
- 9.まとめ
- 9.1.参考文献
ごあいさつ
こんにちは。DIVXの山坂です。今回はドメイン特化LLMについてお話ししたいと思います。
汎用的なタスクや推論を行う大規模言語モデル(LLM)は、すでに多くの場面で利用されていますが、特定の領域に特化した知識やタスクの遂行に特化したLLM、ドメイン特化LLMというものも活発に開発や研究が行われています。
ドメイン特化LLMの話を通して、なぜドメインに特化する必要があるのか、どのように特化するのか、実運用ベースではどうするのかといった課題に対して筆者の意見を述べたいと思います。
この話を通してLLMにより興味を抱いてくださる方が増えると嬉しいです。
ドメイン特化LLMとは何か
ドメイン特化LLMとは、特定の領域における知識や推論能力を向上させるために、既存の大規模言語モデル(LLM)を特定のデータセットでファインチューニングしたモデルのことを指します。
例えば、金融系に特化したLLMとして、BloombergGPTやFinGPTなどが有名です。
また医療の分野に特化したLLMとしてはMedLM、Meditron-7Bなどが有名です。
特化させる領域の違いや学習の程度によってモデルの方向性は異なります。例えば、クローズドなモデルは内部データを使用してファインチューニングされることが多く、外部には公開されません。一方、オープンなモデルは、一般に利用可能なデータセットで追加学習を行い、Hugging Faceなどのプラットフォームで公開されることが一般的です。
(クローズドとは、内部ソースを秘匿しているという意味です。逆に、オープンはその逆で、ソースコードが公開されています。)
なぜドメイン特化するのか
汎用的に学習したLLMに、追加でドメインに特化した情報を学習させることで、各分野の高度な要求や複雑な問いに対応することができるようになります。
また、ドメイン特化LLMを例えば自社のサーバーなどにホストしておけば、自社で管理できる分、安全性の高い環境を得ることができます。
このように、従来の汎用LLMにドメイン特化の情報を加えることで、より正確で、安全で、信頼性が高い回答を得ることが可能になるでしょう。
例えばgoogleはドメイン特化LLMの利点について、下記のように主張しています。
- 精度と専門性
- 法律や医療などの専門分野のデータセットでファインチューニングまたはグラウンディングを行うことで、LLMは正確であるだけでなく、その分野のニュアンスをより深く捉えた、関連性の高い結果を生み出すことができます。汎用LLMよりもはるかに優れた結果が期待できます
- 信頼性の向上
- 特定の分野に焦点を当てることで、外部からの無関係な情報の影響を受けにくくなり、より一貫性と信頼性の高い出力が得られます
- 安全性と責任
- 医療や法律などの分野では、リスクが高くなります。誤った情報は有害となる可能性があります。ドメイン特化LLMは、多くの場合、追加の安全メカニズムが組み込まれており、より信頼性の高い洞察を提供できます
- ユーザーエクスペリエンスの向上
- 特定の専門用語や文脈を理解できる、その分野の言語を話すモデルと関わることで、より満足度の高いユーザーインタラクションにつながります
- モデルの効率性
- 大規模な汎用モデルに頼るのではなく、多くの場合、ドメイン特化のデータセットでより小さなモデルをファインチューニングする方が効率的です。この小さなモデルは、大幅に低いコストでより高品質の出力を提供できます
リスクの観点から考える
例えば、金融に特化したLLMを運用する場合について考えてみましょう。
LLMに送る指示やタスクは機密性の高い情報などセンシティブなものが含まれる可能性があります。
またLLMの運用をするということは、LLM自体も金融業界全体のセキュリティやコンプライアンス、ガバナンスなど業界基準に適したものであるべきでしょう。
例として、金融庁のHPから、下記のような図を拝借しました。
これはモデル・リスク管理に関する原則と呼ばれるもので、ここでいう「モデル」とは言語モデルのことではなく、市場データや自社のポートフォリオなど、なんらかのインプットデータに対して処理を行い、それを推計値や予測値として結果を返すものを指しています。
さて、LLMを金融業界で運用することを考えた時に、「モデル・リスク管理に関する原則」を参照して考えると、LLMもインプット(ユーザーからの指示や質問)に対して、推論などを行うことでアウトプット(回答生成)をするわけですから、「モデル」に当てはめることができると考えられるでしょう。
だとすれば、LLMに対して少なくとも次のようなものを管理・運用することが求められます。
- モデルの開発プロセス
- モデルのテスト
- 外部リソースと連携する場合の統制
- 承認プロセス
- モニタリング
では、これら全ての課題をクローズドなLLMを活用して解決・運用することができるでしょうか?
不可能ではないかもしれませんが、データの秘匿性やモデルの透明性、運用コストなどの観点から、かなりのハードルが存在する可能性があります。
ChatGPT4などに代表される、大規模でクローズドなLLMに汎用的な運用や推論では劣っていたとしても、オープンなLLMをドメインに特化させて追加で学習させることで回答の精度を向上させた方が、業界に適した運用に近づけるのかもしれません。
LLMをある領域に特化させるための方法
LLMはさまざまな目的や仕組みをもったものがありますが、多くは汎用的な回答や一般的な推論を目的としています。特定の領域に特化した知識を有したり、よりドメインに特化した推論を行ったりするためには、汎用的に作成されたLLMを何らかの手法を用いて、知識のアップデートや、パラメータのチューンアップをする必要があるといえるでしょう。
LLMをアップデートする手法は様々あり、現在も活発に研究や検証がされています。
今回は、それらの手法の中でも特にメジャーと思われる3つの手法について紹介したいと思います。
1つはプロンプトを与えること、2つ目は最近流行しているRAG(Retrieval-Augmented Generation)、3つ目はFine-Tuningです。
これらの違いについてみていきましょう。
先ほど引用したgoogleの同サイトによると、このような図を用いて3つの手法の違いについて説明しています。
日本語の方がわかりやすいと思いますので、簡単ではありますが翻訳してみると、下記のようになります。
それぞれのアプローチについて、例によってgoogleの記事になぞらえて、学生が専門分野を学ぶ過程に例えて理解を深めてみましょう。
プロンプトエンジニアリング
これは、学生(LLM)の持つ知識自体は変わらないですが、うまく誘導して回答を導くための指示を与えることに似ています。
たとえば、「次の質問に答えるときは、常にプロンプトとして与えた内容を踏まえて、包括的な回答を提供してください」のように指示する(プロンプトを与える)ことができます。
学生(LLM)が回答しやすいように前提知識を与えたり、誘導するように調整したりすることはできても、専門知識(内部のデータ)は変わりません。
プロンプトエンジニアリングは、LLMのアーキテクチャを変更したり再トレーニングすることなく、汎用LLMからドメイン固有の知識を抽出する最も手軽でスピーディーな方法です。
メリット:リソース(労力、コスト、時間など)が少なくて済み、スピーディーなプロトタイピングと、ある程度の応用が可能
デメリット:モデルの専門知識は変わらない
RAG (Retrieval Augmented Generation)
ここでは、学生(LLM)に専門分野の本を渡して、その本を開いた状態で試験を実施することに似ています。試験中、学生は各質問に関連する情報を取得するために本に目を通すことができます。学生は自分の回答を事実に基づいていることを確認したあとに試験に回答したり、回答するために専門書のどこを参照したのかも答えることができます。
RAGは、情報検索と大規模言語モデル(LLM)の強みを融合させ、外部知識ソースから情報を取得し、応答を生成するための特定の技術的手法を指します。
メリット:最新の情報を取得できる。専門的な質問にも正確な回答を生成できる
デメリット:実稼働レベルのRAGシステムの開発には、適切な埋め込みの選択、最適なベクトルデータベースの選択、効果的なチャンキングアルゴリズムの決定など、複数の技術的課題が伴う
ファインチューニング
ここでは、学生(LLM)に専門分野の本を渡して、しっかり勉強したあとに本を閉じて試験を実施することに似ています。試験が始まると、学生は本を参照することはできません。そのため、回答するときは自分で学習した記憶のみに頼らなければなりません。この場合、学生(LLM)は専門書について学習をしたため専門知識も回答できますし、また試験中に本を参照する必要もないため、短時間で回答をすることができます。しかし、専門分野の本についての学習が不十分だと誤った回答をしてしまう可能性があります。
メリット:モデルは特定の分野に精通するようになる
デメリット:十分な大きさで多様なデータセットが必要。誤った回答を提供してしまう可能性がある。正確な参考文献を提供できない可能性がある
補足:LLMの活用や特定のドメイン特化ということで、記載した以外の方法(継続事前学習など)もありますが、本記事では割愛します。
RAG VS Fine-Tuning
2023年12月に初出の挑戦的なタイトルの論文「Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs」に、詳細は割愛しますが概ね下記のようなことが書かれています。
RAGは、新しい知識をインプットする場合に、ファインチューニングと比較して効果的であることが多いとされている。
ファインチューニングは、適切な条件下でモデルの推論能力を高めることができる場合がある。
RAGもFine-TuningもLLMをチューンアップする方法ですが、新しい知識のインプットではRAGが優勢で、推論などのタスクではFine-Tuningに軍配が上がることが示唆されています。
もちろん、RAGが良いかFIne-Tuningが良いか、もしくは別の手法が良いかは元のモデルの性能に依存する部分や達成したいゴールによって異なります。
また、大変興味深いことにLLMに新しい知識を教えるには、その知識を様々な形で繰り返し提示することが重要であるとも主張されています。
つまり情報を様々な形で提示することで、データ内の様々な関係性(例えば、AならばB、BならばCではない)が自然に現れやすくなり、LLMが情報をより深く理解できるようになるのではないか、とこの論文では考察されているわけです。
このようにLLMの学習過程は、人間の効率的な学習過程に類似しており、非常に興味深いです。
LLMにおけるベンチマークとは
さて、ここで少し切り口を変えます。
LLMを効果的に活用するためには、そのモデルが持つ特性を正確に把握することが重要です。特に、モデルが持つ知識の鮮度や推論能力、さらに出力におけるハルシネーション(幻覚)と呼ばれる誤情報の出現頻度をどの程度抑えられているかを定量的に評価する必要があります。このような評価を行うための手段として「ベンチマーク」が存在します。
ベンチマークとは、特定のタスクに対する言語モデルの性能を測定し、その強みや弱みを明示するための基準です。数多くの著名なベンチマークが存在し、特定の言語や分野に特化した評価指標もあります。例えば、日本語の大規模言語モデル(LLM)を評価するために代表的なベンチマークに「ELYZA-tasks-100」があります。このベンチマークには100件のデータセットが含まれており、そのデータを用いてモデルに指示や質問を行い、その出力を人の手または別のLLMによって評価します。
金融分野に特化したベンチマークとしては、「FinBen」が広く知られています。FinBenは金融タスクにおける大規模言語モデルの性能を全面的に評価するために開発されたものであり、以下の7つの主要な側面をカバーする24の金融タスクから成る36のデータセットを含んでいます。
- 情報抽出(IE): 金融テキストから重要な情報を抽出する能力
- テキスト分析: 感情分析、ニュースの分類、リスク評価などを含む分析タスク
- 質問応答(QA): 金融文書に基づいた質問への回答能力
- テキスト生成: 財務報告書や市場分析のテキストを生成する能力
- リスク管理: ポートフォリオの最適化や信用リスクの評価
- 予測: 株価や経済指標の予測能力
- 意思決定: 投資戦略や取引の意思決定サポート
加えて、「FinBen」には株式取引評価、エージェントおよびRetrieval-Augmented Generation(RAG)評価、テキスト要約、質問応答、株式取引用に新たに設計された3つのオープンソース評価データセットなど、過去の金融系LLMベンチマークにはない革新的な機能が提供されています。
このように、LLMの性能を評価するための重要な指標としてベンチマークがありますが、果たしてベンチマークスコアが高いことだけがLLM選定の基準となるのでしょうか?
ベンチマークが高い=他の何よりも素晴らしい?
よくネット記事などをみて回っていると、「〜モデルのベンチマークスコアが〜だ!」といった内容の記事が散見されます。確かに、ベンチマークはLLMの性能を定量的に示す一つの方法ですから、ベンチマークスコア自体は重要な概念です。
しかし、LLMを実運用ベースで考える際は、必ずしもベンチマークスコアが高いからといってそのモデルを採用するかというと、そうではないでしょう。
一般的にはLLMの性能は学習に使うデータセットの量、推論や学習に用いるパラメータ、計算資源(GPU)が多ければ多いほど、高い性能を示すといった経験則があります。
この経験則は、特に大規模なモデルにおける性能向上の法則を指す「Scaling Law」と呼ばれ、モデルのサイズやデータセットの規模が性能に与える影響を定量的に示すものです。(参考:Scaling Laws for Neural Language Models)
ですので、ベンチマークスコアや推論の結果だけをみてそのモデルを自社に導入したいと思って導入したとしても、想定以上にリソースを消費してしまう可能性があり、特に計算資源や電力コストが予想を上回ることがあるため、事前にリソースの見積もりを行うことが重要です。
さらに追加でFine-Tuningなどを追加で行ってチューンアップする場合、学習済みのモデルの重みを変更するため、事前学習ほどではないですがそれでも計算リソースがかかってしまいます。
そういった事態を避けるためには、自社や所属組織が使えるリソース(マシンの性能、電力、場合によっては冷却設備、あるいはクラウド環境、予算)を入念に調べてそれにフィットしたものを選ぶ必要があるといえるでしょう。
また、パラメータを調整せずにRAGなどを用いたり、転移学習と呼ばれる比較的軽めのパラメータ調整で達成可能な場合には、そのような選択肢も積極的に考慮に入れるべきです。
まとめ
ドメイン特化LLMは、特定の分野における専門知識や高度なタスクの遂行において、汎用LLMを上回る性能を発揮する可能性を秘めています。特化することで、モデルのサイズやパラメータが小さくても、特定の領域では高性能を実現できることが示されています。また、RAGやファインチューニングなどの手法を活用することで、リソースを抑えつつモデルを最適化することも可能です。
また、ベンチマークのスコアが高いことだけがモデル選定の基準になるわけではありません。実運用においては、リソース制約やセキュリティ、コンプライアンスといった要素も重要です。自社の目的や環境に合わせて、適切なモデルや手法を選択することが求められます。
LLMの活用が進む中で、ドメイン特化LLMは新たな可能性を広げる手段となります。本記事を通じて、皆様がLLMに対する理解を深め、自社に適したアプローチを検討する一助となれば幸いです。