限られたリソース下で高速にLLMの推論が出来るOllamaを活用したシステム構築例

CCCMKホールディングス株式会社 / Ryoichi.Miura
開発部長 / テックリード / 従業員規模: 51名〜100名 / エンジニア組織: 501名〜1,000名
ツールの利用規模 |
---|
10名以下 |
ツールの利用規模 | 10名以下 |
---|
アーキテクチャ

アーキテクチャの意図・工夫
Ollamaの活用事例の一つとして、Ollama上で稼働させたLLMを使って大量のテキストデータに対し分類や要約処理を施すために構築したシステムのアーキテクチャです。Databricks上に構築しました。
Databricksのコンピューティングノード起動時にOllamaをインストールし、LLMをダウンロードします。処理はLangChainで実装し、中間処理のトレーシングにはDatabricksに統合されたmlflowを利用しています。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
現在様々な大規模言語モデル(LLM)がリリースされ、一部はオープンソースで利用することが出来ます。それらはモデルのパラメータが公開されていて、ダウンロードすることで推論機能を利用することが出来ますが、LLMをロードして高速に処理を実行するためには相応のコンピュータリソース、特にGPUが必要になります。しかしGPUリソースはクラウドでも利用に制限がかかることが多く、コストも非常に高いためLLMを稼働できるようなGPUを用意することにはハードルがあります。
様々なLLMを動かして実験や検証をしてみたいが、それをするためのGPUの用意が難しい。 これがツール導入前に持っていた課題でした。
どのような状態を目指していたか
当時確保することが出来たA100 GPUを搭載した仮想サーバ上で、32BサイズのLLMの推論処理を出来るようにしたいと考えていました。
比較検討したサービス
- llama.cpp
比較した軸
llama.cppはOllamaの推論処理のbackendで使われているため、llama.cppを直接使用するか、Ollamaを経由して使うかどうかを検討しました。
検討の際には今後常に新しくリリースされていくLLMを如何に容易に利用することが出来るかを重要視しました。
選定理由
Ollamaではコマンド1つで様々なLLMをダウンロードし、すぐに利用できる点が魅力的だと感じました。OllamaのModel Registryには様々なLLMが存在し、新しいものが追加されています。Model Registryを見ながら試してみたいLLMを選び、表示されているコマンドを実行すればすぐにそのLLMを使った推論が可能です。
またOllamaにはサーバー機能も備わっており、ダウンロードしたLLMの推論をAPI経由で実行することが出来ます。さらにLLMアプリケーション開発フレームワークLangChainもOllamaに対応しており、RAGやAgentのエンジンをOllamaを使って実装することが出来る点も魅力的だと感じました。
導入の成果
改善したかった課題はどれくらい解決されたか
A100のGPUを搭載した仮想サーバー上で32BのサイズのLLMを動かし、問題なく利用できることが確認できました。特に気になっていたレスポンス速度については、Ollamaを起動して最初のレスポンスはやや遅いものの、それ以降は気にならない範囲に収まっています。
どのような成果が得られたか
まずOpenWebUIを使ってチャットインターフェースを設け、社内ネットワークに閉じたLLM利用環境を構築することが出来ました。さらにLangChainと組み合わせることで大量のテキストデータを社外に出すことなくLLMを使用して一括で処理するといったことも実現することが出来ました。
導入時の苦労・悩み
Ollamaは公式のドキュメントが少なく、導入は比較的容易に出来たものの細かいチューニングなどは色々な情報を自分で探して対応する必要がありました。
導入に向けた社内への説明
上長・チームへの説明
Ollamaを利用することで、LLMを稼働させるサーバーなどすべて自社内のリソースで構築できる点を導入するメリットとして伝えました。それによって自社のデータを社外のネットワークに出すことなく、LLMを使って活用出来るようになる点を特に強調しました。
活用方法
よく使う機能
- Model Registry
どのようなLLMが利用できるのかを確認する際に利用しています。
ツールの良い点
- 簡単に最新のオープンソースLLMを実行出来る
- LLMは量子化が施されており限られたGPUリソース下でも高速に推論が実行できる
ツールの課題点
- 公式ドキュメントが少ない
- Dockerコンテナで起動した際に動作が不安定なことがあった
ツールを検討されている方へ
次のような方にお勧めします。
- 最新のオープンソースのLLMを試してみたい
- 外部のネットワークに情報を出すことなくLLMを使った処理を行いたい
- 大きなGPUリソースが手に入らない
今後の展望
回答を生成する前に深い思考を実行する"thinking model"がいくつか利用可能になっており、それらのLLMを使ってどんなことが出来るのかを検証していきたいです。

CCCMKホールディングス株式会社 / Ryoichi.Miura
開発部長 / テックリード / 従業員規模: 51名〜100名 / エンジニア組織: 501名〜1,000名

CCCMKホールディングス株式会社 / Ryoichi.Miura
開発部長 / テックリード / 従業員規模: 51名〜100名 / エンジニア組織: 501名〜1,000名
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法