ローカルLLMにエージェント8個を同時接続してみた — Ollama同時実行スループット実測
サブエージェントを並列で回せばローカルモデルもその分速くなると思っていた。実際に測ると既定のOllamaはリクエストを順番待ちで捌くので、8個つないでも総スループットは変わらなかった。OLLAMA_NUM_PARALLELを上げたときの利得とその代償をM1 16GBで実測した。
タグ
9件の記事
サブエージェントを並列で回せばローカルモデルもその分速くなると思っていた。実際に測ると既定のOllamaはリクエストを順番待ちで捌くので、8個つないでも総スループットは変わらなかった。OLLAMA_NUM_PARALLELを上げたときの利得とその代償をM1 16GBで実測した。
前回の記事でgemma4:12bの空応答をパッケージングのバグと断定した。違った。推論モデルだったのだ。そこで推論ON/OFFで13問を回した。 推論は正解を1つ多く出したが、出力トークンを68倍、時間を19倍消費した。エージェントでいつ点けていつ消すかを実測でまとめる。
ローカルエージェントが長い会話で急に指示を無視しはじめた。プロンプトの先頭に秘密コードを隠し、長さを伸ばしながらrecallを測った。 num_ctxを超えるとOllamaはエラーも出さずプロンプトの前方を切り落とす。そして「既定値は4096」という通説も私のMacでは外れていた。
少し離れてからエージェントを呼び直すと、最初の応答だけやけに重い。Ollamaが応答ごとに返すload_durationをモデルサイズ別に 分解すると、2GBで1.5秒、9.6GBで最大9.7秒だった。しかも「コールド」には二種類あった。keep_alive一つでこの費用が どう分かれるかを実測してまとめた。
同じ9,700トークンのプロンプトが私のノートPCで最初のトークンまで55秒かかったのに、2回目の呼び出しは65ミリ秒だった。Ollamaのタイムスタンプを直接取り出してprefillとgenerationを分離測定し、prefixキャッシュがなぜ396倍速かったのか、エージェントのコンテキスト設計にどう活かすかをまとめた。
同じプロンプトをローカルのGemma 4へ数十回投げ、出力がどれだけ再現するかを測定した。temperature=0は決定的で、 temperatureを上げてもseedを固定すると出力は一行に収束した。評価とCIにすぐ使える結論までまとめる。
Ollama 0.3+のJSONスキーマ強制モードとPydanticを組み合わせ、ローカルLLMのレスポンスを型安全にパースする実践ガイド。 直接測定した結果、構造化出力は通常テキストより6倍速く、パース成功率もほぼ100%。
Ollama REST APIをFastAPIでラッピングし、SSEストリーミング・ヘルスチェック・Docker Composeデプロイを備えたプロダクション用ローカルLLMサーバーを段階的に構築する実践ガイド。Llama 3.2やMistralなど複数モデルの実行ログとAPIテスト例も掲載しています。
Ollama + Gemma 4 + FastMCPで、インターネットなしで動作するオフラインAIツールパイプラインの構築方法。 医療・法律・金融環境でデータを外部に送らずMCPツールを使う実践実装ガイド。