vLLM と Ollama の違い
大規模言語モデル (LLM) を AI アプリケーションに統合する場合、vLLM は高性能プロダクションに適しており、Ollama はローカル開発に最適です。LLM デプロイを規模で分類した場合、vLLM はエンタープライズ環境、Ollama は小規模プロジェクトに最適であり、これらのツールの性格は対極に位置しています。
vLLM と Ollama の違いを考える場合、Ollama をスポーツカー、vLLM を超特急列車と捉えることができます。Ollama を使用すると、高速で移動することはできますが、多くの人を連れて行くことはできません。vLLM を使用した場合、迅速に移動し、かつ一度に多くの人々にサービスを提供することができます。
最終的に vLLM と Ollama のどちらを選択するかは、開発者としての専門知識と、プロジェクトの規模および範囲によって決まります。ローカルで実験する開発者にとって、Ollama は素晴らしい開始点となります。しかし、大規模なプロダクションに移行するチームにとって信頼性が高く効率的な方法は vLLM であり、LLM を大規模に提供するのに必要な基盤となります。
vLLM とは
vLLM はオープンソースコードのライブラリであり、LLM が迅速かつ効率的に大規模な計算を行う上で役立ちます。vLLM の全体的な目標は、スループット (1 秒あたりに処理されるトークン) を最大化して、多くのユーザーに一度にサービスを提供することです。
vLLM には、推論サーバー (ネットワークトラフィックを管理する) と推論エンジン (計算速度を最大化する) の両方が含まれています。
- 推論サーバーコンポーネントは、サービスを待機しているユーザーのキューを管理し、外部ネットワークトラフィックを処理します。推論サーバーの役割は、集中的な計算を実行することではなく、システムにおけるデータの入出力で使用される通信プロトコルを処理することです。
- 推論エンジンコンポーネントは、グラフィックス・プロセッシング・ユニット (GPU) の使用を最適化することで生成を高速化します。PagedAttention などのアルゴリズムを適用してキー値 (KV) キャッシュを管理し、連続バッチ処理によってリクエスト・スケジューリングを最適化することで計算速度を向上させます。
推論サーバーと推論エンジンの両方が、低レイテンシー、つまりユーザーが「送信」ボタンを押してから出力が配信されるまでの時間を短縮する役割を担っています。推論サーバーは、不必要なレイテンシーを追加しない設計になっており、リクエストを受け入れてエンジンに渡し、応答をネットワーク経由で送り返すまでを可能な限り高速に処理します。推論エンジンは、GPU の計算を整理することで、レイテンシーを積極的に排除する役割を担います。このように処理を高速化することで、vLLM は 1 つのインスタンスで同時に数百のユーザーにサービスを提供できます。
市場では LLM ベースのアプリケーションに必要なハードウェアの価格が高騰していますが、vLLM により、組織はより少ないコストでより多くを達成できます。vLLM は大量のトラフィックを処理することができ、大規模なシナリオ向けに設計されています。そのため、レイテンシーに関して厳しい要件が課されるマルチユーザーデプロイに最適です。概して、複数のリクエストを同時に処理する場合、vLLM は Ollama よりも優れたパフォーマンスを発揮します。
AI テクノロジーの導入に関する 4 つのキーポイント
Ollama とは
Ollama は、ユーザーが LLM をローカルかつプライベートに実行できるようにするオープンソースツールです。そのため、ユーザーは個人情報をクラウドに送信することなく、ノートパソコンで LLM をダウンロード、更新、管理できます。
Ollama は、さまざまな LLM で推論を実行するオープンソース・ライブラリである llama.cpp プロジェクトから派生したものです。Ollama では、基礎となるコンポーネントのコンパイル、構成、管理に伴う難度の高い手順の一部が自動化されているため、ユーザーはそうした難しい操作を行う必要がありません。
シンプルさを重視して構築された Ollama は、セットアップが最小限で済み、一般的に、直感的で初心者に適していると考えられています。経験豊富な開発者は、さまざまな LLM の実験や迅速なプロトタイピングに Ollama を使用できます。
vLLM と Ollama に共通する機能
vLLM と Ollama はどちらも、開発者が AI アプリケーションの構築に使用できる LLM へのアクセスを提供する LLM サービスフレームワークです。具体的には、LLM サービスフレームワークとは、大規模なアプリケーション・アーキテクチャ内で推論を実行するソフトウェア・コンポーネントです。
vLLM と Ollama は異なるタイプのユーザーに対応していますが、いくつかの基本的な機能は共通しています。
- どちらもオープンソースツールです。
- どちらにも推論サーバーコンポーネントが含まれています。
- どちらも、ユーザーはサードパーティの API に依存せずに独自のハードウェア上で LLM を実行できます。
- どちらも、ユーザーが利用できるハードウェアを最大限に活用して推論速度を加速するように設計されています。
- どちらもマルチモーダルモデルをサポートしており、テキスト以外の処理も可能です。
- どちらも検索拡張生成 (RAG) をサポートしています。このテクニックにより、開発者は選択した外部の知識/データを使用して LLM 内の既存のデータを補足できます。
vLLM を選択するケース
vLLM が提供する高度な機能を活用するには、技術に関するより深い理解が必要です。このため、vLLM は熟練した開発者向けであり、使用するには Ollama の場合よりも多くの学習が必要になります。
たとえば、vLLM は数十億のパラメーターを持つモデルを含め、あらゆるサイズのモデルを処理できます。このテクノロジーを最大限に活用するには、開発者は分散推論などの概念を実行する方法を理解する必要があります。
また、特定のユースケースに合わせてファインチューニングできる可能性も大いにあります。最高のパフォーマンスを得るには、開発者は高パラメーター効率ファインチューニング (PEFT) や LoRA/QLoRA などの手法に精通している必要があります。
要約すると、vLLM は、サーバーから最大限のパフォーマンスを引き出すとともに、信頼性が高くスケーラブルなアプリケーションをデプロイする必要がある開発者に最適です。超特急列車の例えを思い出してください。vLLM は、短時間で多くのユーザーにサービスを提供するのが得意です。
Ollama を選択するケース
Ollama を使用すると、ユーザーは個人のコンピューターに LLM をダウンロードして実行でき、簡単な方法で AI モデルをテストすることができます。しかし、Ollama の主な目的はスケーラビリティではなくアクセシビリティです。リクエストの処理中に追加のリクエストを行うと、新しいリクエストはキューに追加されて処理待ちとなります。このため、開発者が利便性を求めていて、多くのユーザーにサービスを提供する必要がない場合に Ollama が選択されます。
Ollama は、デフォルトではオフラインで動作します。つまり、モデルをダウンロードしたら、インターネットに接続しなくても機能します。vLLM でもプライバシーを最大限に高めることはできますが、プライベートサーバーをセットアップするか、セキュリティで保護されたクラウド環境を構成する必要があります。この追加の手順にはさらなる専門知識が必要となります。
推論における vLLM の使用とOllama の使用
vLLM と Ollama は両方とも推論サーバーコンポーネントを備えています。つまり、vLLM と Ollama はどちらもリクエストを受け取り、データを解凍してエンジンに送信し、応答をパッケージ化してエンドユーザーのアプリケーションに送り返します。
ただし、vLLM は推論エンジンであるのに対し、Ollama はそうではありません。つまり vLLM は、Ollama ではできない方法で推論を最適化できます。推論エンジンである vLLM は、メモリーの管理と複数のユーザーの同時処理 (同時実行) に優れています。
メモリーの管理:vLLM は PagedAttention アルゴリズムを使用して GPU のメモリー構造を操作します。これにより GPU 上のスペースが解放され、一度により多くのリクエストを実行できます。このプロセスによって高い同時実行性が得られます。
同時実行性:vLLM は連続バッチ処理を使用してデータフローを管理し、GPU を最大限に活用するため、一度に多数のユーザー/リクエストを処理できます。
Red Hat でできること
Red Hat® AI は、大規模なエンタープライズ AI の課題に対応するためにオープンソースのイノベーションを活用しており、vLLM は Red Hat のツールボックスに欠かせないツールです。
Red Hat AI を使用すると、Red Hat AI Inference Server にアクセスしてハイブリッドクラウド全体でモデル推論を最適化し、より迅速でコスト効率の高いデプロイメントを実現できます。推論サーバーには vLLM が搭載されており、GPU を効率的に実行し、応答時間を短縮します。
Red Hat AI Inference Server には Red Hat AI リポジトリが含まれています。これは、サードパーティによって検証および最適化されたモデルのコレクションであり、モデルの柔軟性を実現し、チーム間の一貫性を促進します。サードパーティのモデルリポジトリにアクセスすることで、企業は市場投入時間を短縮し、AI の成功に対する財務上の障壁を減らすことができます。
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere