”Perplexity ProのPlaygroundで llama-3.1-sonar-large-128kが実用的”という私の最近の記事で、llama-3.1-sonar-large-128kを称賛しましたが、そもそも llama-3.1-sonar-large-128kとは本家Meta社のopen source LLMである LLama 3.1 405Bをベースとして Perplexityが作った PerplexityのLLMであると言われています。「ベースとして作った」というのは、改善版なのか、単なるブランディングでそう言っているのか、どちらなのでしょうか?” この点についてPerplexityに質問し、掘り下げてみました。
Llama-3.1-Sonar-Large-128KとLlama 3.1 405Bモデルの比較
ベースモデル
- Llama 3.1 405B: このモデルはMetaによって開発されたベースモデルで、405億のパラメータを持っています。Llama 3.1シリーズの中で最大で最も高性能なモデルです。
- Llama-3.1-Sonar-Large-128K: このモデルはPerplexityによって405Bモデルのコスト効率、速度、全体的な性能を最適化したファインチューニング版です。
パラメータと性能
- Llama 3.1 405B:
- 405億のパラメータを持つため、利用可能な最も大規模で高性能な言語モデルの一つです。一般知識、操作性、数学、ツール使用、多言語翻訳などのタスクで優れています。
- Llama-3.1-Sonar-Large-128K:
- 405Bモデルのファインチューニング版ですが、具体的なパラメータ数は明示されていません。ただし、コスト効率と速度の向上を目指した最適化が行われており、性能を妥協せずに効率的に動作するように調整されています。
トレーニングとデータ
- Llama 3.1 405B:
- 15兆トークン以上のデータでトレーニングされており、トレーニングスタックの多段階トレーニング、広範な事前処理、厳格な品質保証とフィルタリング手法が含まれています。
- Llama-3.1-Sonar-Large-128K:
- Perplexityによるファインチューニングが行われており、元の405Bモデルの上で特定の性能指標(コスト効率、速度など)を改善するための追加トレーニングと最適化が行われています。
コンテキストウィンドウ
- 両モデル:
- 両モデルともに128Kトークンのコンテキストウィンドウがあり、長いドキュメントや包括的な会話などの拡張入力を処理することができます。
性能指標
- Llama 3.1 405B:
- 小規模なモデルを上回る多くのベンチマークで優れています。数学的推論(GSM8K、MATH)、ツール使用、多言語翻訳で競合するクローズドソースモデルのGPT-4oやClaude 3.5 Sonnetと競合しています。
- Llama-3.1-Sonar-Large-128K:
- コスト効率と速度の向上を目指した最適化が行われており、各アプリケーションでロバストな選択肢となります。遅延が低く、前身モデルよりも優れた性能を提供するように設計されています。
コストとアクセシビリティ
- Llama 3.1 405B:
- オープンソースモデルとして、ローカルや各プロバイダーのホストバージョンで動作可能であり、プロプライエタリモデルに比べてコスト効率が高いです。ただし、405Bモデルのフル動作には大規模な計算リソースが必要です。
- Llama-3.1-Sonar-Large-128K:
- コスト効率が高く、入力トークン1ミリオンあたり$5、出力トークン1ミリオンあたり$5のプライシングモデルが提供されています。このモデルはリソース効率が高く、より広範なハードウェア構成でアクセス可能です。
用途
- Llama 3.1 405B:
- シンセティックデータ生成、モデル蒸留、複雑な問題解決などの高度な用途に適しています。長文要約、多言語会話エージェント、コードアシスタントなどのサポートも提供しています。
- Llama-3.1-Sonar-Large-128K:
- 高性能でコスト効率の高いLLMを求める開発者や企業にとって最適です。コンテンツ作成、会話AI、企業レベルのタスクなどの各アプリケーションに最適化されています。
遅延とスループット
- Llama 3.1 405B:
- スループットは約100-120トークン/秒と報告されており、デプロイ環境によって変動します。
- Llama-3.1-Sonar-Large-128K:
- 平均よりも遅延が低く、最初のトークンを受信するまで約0.36秒かかります。出力速度は他のモデルに比べると遅く、約58.8トークン/秒です。
結論
Llama-3.1-Sonar-Large-128KとLlama 3.1 405Bモデルは、最適化とデプロイ特性が異なります。そもそもLlama 3.1 405Bは 標準版のLlama 3.1 70Bと比較して非常に大きいモデルであり、ローカルで走らせるには Llama 3.1 70Bが64GBのRAMを持つハードウェア(例:私が今この記事を書くのに使っている一般人向けとしてはハイエンドなPC)で動作するのに対して、405Bは少なくとも192GBのRAMが必要です。405BはOpenAIのGPT-4oやAnthropicのClaude 3.5 Sonnetともろに競合する、しかもopen sourceのAIという位置づけなのですが、大規模な計算リソースが必要であり、これに対してLlama-3.1-Sonar-Large-128Kはコスト効率、速度、全体的な性能を最適化するように「最適化した」、リソース効率が高く、アクセスしやすいツールという位置づけのようです。(平たく言えば、実際には4050億パラメータより小さい規模で同等の性能を出すようにPerplexityが作り上げたということか。)
Llama 3.1 405BはPerplexity ProのLLM選択メニューでGPT-4oやClaudeの代わりに選択すれば実際に使えるので、Perplexity Playgoundから使ったLlama-3.1-Sonar-Large-128kと比較してみましたが、非常によく似ているという印象(当然ですが)でした。Perplexity Proのメイン画面で使うと、Perplexityとしての preprocessを経て処理されるため、ミスの少ない回答が出やすくなりますが、その代償としてcontents policyのフィルターがかかることによって自由度が損なわれるという点は、”Perplexity Playgroundで llama-3.1-sonar-large-128kが実用的”の記事で述べた通りです。
Playgroundで llama-3.1-sonar-large-128k に慣れてくると、Perplexity Proメイン画面で GPT-4oやSonnet Opusを使う機会が大きく減少しました。裸の llama-3.1-sonar-large-128kの方が、格段に回答速度が速く(本一冊を処理する場合、従来40分かかっていたのが20分で済むほど速い)文書処理以外の用途でも、GPT-4oとの差を感じないほど高性能だからです。Open sourceで使えるAIがこのレベルになってくると、OpenAI、AnthropicやGoogleもやりくりが大変だと思います。
Open Sourceと言っても実際にはLlama 3.1 405Bが満足に走るPC(サーバー)を自前で用意するのは百万円仕事であり、個人にはお勧めできません。PerplexityにAPI使用料を払って llama-3.1-sonar-large-128kを自分のPCかオンラインで走らせるか、Perplexity Playgroundから使うのが現実的です。実際にllama-3.1-sonar-large-128kを丸1日使いまくったところ、かかったAPI使用料は$0.5程度であり、Perplexity Proのサブスク料US$20を払えば月額$5までの使用料が免除されるので、いずれにしても Perplexity ProにUS$20を払うのがお勧めです。
ChatGPTのAPIもほぼ同じぐらい安価であり、数多くのアプリ、プラグイン、オンラインサービスで使えるAPIはChatGPTのものが最もポピュラーなので、APIが好きな方はChatGPTも並行して使うのがよいでしょう。但し、ChatGPT ProにUS$20のサブスク料にはAPI使用料は含まれておらず、あくまで別建てとなります。(ChatGPT Proを新規登録すると3ヶ月間有効な5ドルのAPI無料枠が1回だけ提供されます。)