見出し画像

RouteLLM: LLM(大規模言語モデル)の使用コストを最適化するフレームワーク

本記事は、LLM関係の論文を紹介する記事になります。



LLMのルーティングを取り扱った論文

先日、以下の記事を書きました。

LLM(大規模言語モデル)をまるでドラゴンボールの「元気玉」のようにみんなで協力し合って作るという論文「The Future of Large Language Model Pre-training is Federated」を紹介したものです。なかなか面白い内容でした。

今回紹介する論文は、複数LLMを使用するコストをいかに最適化するか、LLMのルーティングについて取り扱ったものになります。

論文の著者たちによる、わかりやすい解説をしているブログ記事もあります。論文の前にこちらを先に読むと理解がしやすいと思います。


LLMのコスト最適化問題

LLM(大規模言語モデル)は様々なタスクで驚異的な能力を発揮していますが、LLMによって使用する際のコストの大小があります。大体は、OpenAI、Meta、Mistral 等のLLMプロバイダーからAPIを介して商用モデルにアクセスするケースと、HuggingFaceのようなサイトからダウンロードしたオープンソースモデルをセルフホスティングするケースに別れるかと思います。

一般的に、より能力の高いモデルは、能力の低いモデルよりも高価です。これにより、LLMを実際に適用し、運用していく際には葛藤が生じます。すべてのタスクにおいて最も能力の高いモデルを使い続けると、得られる応答の品質は高く維持することができますが、相応のコストがかかります。一方、リーズナブルなモデルを使っていくとコストを削減するこどできますが、応答の品質も低いままになってしまう可能性があります。

つまるところ、常に高品質かつ高価なモデルであるGPT-4o や Claude の最新バージョンに頼るのではなく、タスクによってはより手頃で高速なモデルを使うことが大切になります。そこで、タスクの内容によってどのLLMを使うかを選択することでコストを最適化する、自動化ソリューションが登場してくるのは必然的な流れなのかもしれません。

LLMのルーティングはこの最適化・自動化を実現するための試みになります。各クエリは最初にどのLLMにルーティングするかを決定するシステムで処理されます。理想的には、リーズナブルなモデルで処理できるすべてのクエリ(プロンプト、タスク)はこれらにルーティングされ、他のすべてのクエリは強力なモデルにルーティングされることで、コストを抑えつつ応答の品質を高く維持します。一般的にこれは入力されたクエリの特性と異なるモデルの能力をインテリジェントに推測する必要があるため、困難な問題となります。


RouteLLM

これに対処するために、著者は、論文でLLMのルーティング手法を説明し、その効果を示しつつつ、RouteLLMというルーティングシステムを実装しています。また、Github にて公開しています。

論文では、Chatbot Arena (LLMを比較評価するオープンプラットフォーム)からの公開データをベースにデータ拡張も行い用意したデータセットで、4つのルーティングシステムを訓練しています。ここでは使用するLLMの最適化に対し、強力で高価なモデルと弱くても安価なモデルの2つの組み合わせを考えています。まずは強力なモデルとしてGPT-4 Turbo、弱いモデルとしてMixtral 8x7Bを使用しており、この組み合わせにおいて、コストを最小限に抑えつつ高品質を実現することがてきるかを検証することになります。

訓練された4つのルーティングシステム(モデル)は以下です。

・類似度加重ランキングルーター:類似度に基づく「加重Elo Rating計算」を行う
・行列分解モデル:プロンプトに対してモデルがどれだけうまく応答できるかのスコア関数を学習
・BERT分類器:どのモデルがより良い応答を提供できるかをBERTモデルで予測
・因果LLM分類器:どのモデルがより良い応答を提供できるかをLLM分類器によって予測

著者によって、この訓練で用いたデータセットとトレーニングした4つのモデルも公開されています。

検証の結果として、タスクに対する回答のクオリティを損なうことなく、使用するLLMを最適化してコストを大幅に削減できることを示しています。代表的LLMベンチマークのMT Benchで85%以上、MMLUで45%、GSM8Kで35%のコスト削減を達成し、GPT-4の性能の95%を維持しています。

特筆すべきこととして、Chatbot Arena による公開データを拡張したトレーニングデータによるこのアプローチは、予測モデルの汎用性を高めることにもつながっており、フレームワークの堅牢性を示してもいます。実際、評価は追加訓練なしでの異なるモデルペア(Claude OpusとLlama-3 8B)間でも検証されており、モデルペアが置き換えられても元のモデルペアと同等の結果を得ています。すなわち、ある程度の一般化が示唆されているわけで、興味深いです。


終わりに

前述したように、著者により、ルーティングシステムの実装と評価のためのオープンソースフレームワーク、すべてのモデルとデータセットがGithub と HuggingFaceで公開されており、試すことができます。今後もしばらくの間は、世界中で様々なLLMモデルが登場し、その性能を競い続けるこのトレンドは続くでしょう。そのため、一見華やかには感じられないかもしれませんが、LLMモデルの使用を最適化したい、運用コストを下げたいと思っている人にとってはRouteLLMは試す価値があるといえるでしょう。

厳密に考えれば、何をもってLLMとタスクの相性をよいとするかに関しては判断基準は様々ありえますし、コストが下がるからといってパフォーマンスが最適化されているかというとそれはタスクがそもそもどのようなコンテキストと目的で企図されているかによるというのはあります。それを踏まえても、実行してもらうタスクの品質を踏まえながら使用コストを最適化していく、このようなルーティングを含んだ最適化アプローチは、個人での利用だけでなく、企業のRAGシステムにおけるLLM活用のユースケースにおいても重要になってくるかもしれません。また、クラウドサービスとしてもこのような最適化を進めていくマネジメントレイヤーが登場してくるというのは面白い展開であろうかと思います。


関連手法

コスト最適化の手法としては、本記事で紹介した方法の他にもRAGにおけるコンテキストを削減していくことでプロンプトのトークン数を減らしていく、以下の手法もあります。このように多様なアプローチの開拓もしばらくは期待できそうです。

https://jpn.nec.com/techrep/journal/g23/n02/230219.html



この記事が気に入ったらサポートをしてみませんか?