最終更新日:2025年10月1日

ローカル環境で大規模言語モデル(LLM)を動かしていると、「応答が思ったより遅い…」と感じることはありませんか? ローカルLLMの応答速度は、ユーザー体験の質を左右するだけでなく、大量データのバッチ処理時間やインフラコストにも直結する、ビジネス上の重要な課題です。

高性能なモデルを手元で動かせるようになった一方で、クラウドサービスのような快適な速度を得るには、マシンスペックだけでなく「賢い使い方」が求められます。実は、その解決策の一つが、私たちが日常的に使っている「プロンプト」に隠されています。

本コラムでは、LLMへの指示(プロンプト)を少し工夫するだけで、推論速度を劇的に向上させるテクニックを、Ollamaを使った具体的な検証デモを交えてご紹介します。「プロンプトエンジニアリングは品質のためだけ」という常識を覆し、ローカルLLMをより快適に活用するための一歩を踏み出しましょう。

なぜプロンプトで速度が変わるのか?

プロンプトの工夫が、なぜ推論の「速度」にまで影響を与えるのでしょうか?

LLMがテキストを生成するプロセスは、次に続く単語を確率的に予測する作業の連続です。ここで、プロンプトが出力形式や内容に具体的な「制約」を与えると、LLMの選択肢は限定されます。

  • 制約なし: 「要約して」という曖昧な指示では、LLMは「どのような形式で、どのくらいの長さで、どの情報を重視するか」を自ら考え、可能性のある膨大な選択肢の中から最適な答えを探す必要があります。この思考プロセスには時間がかかります。
  • 制約あり: 「3つの箇条書きで、各200字以内」と指示すれば、LLMの仕事は「与えられた枠を埋める」ことに単純化されます。思考の探索範囲が狭まるため、結果として応答が高速化されるのです。

つまり、明確な指示は、LLMの思考の「迷い」を減らし、より直線的にゴールへ向かわせる効果があると言えます。

検証:プロンプトによる速度比較

では、この仮説が本当か、Ollamaを使って検証してみましょう。

検証環境

今回の検証で使用した環境は以下の通りです。

  • ハードウェア:
    • CPU: Intel(R) Core(TM) Ultra 9 185H
    • GPU: NVIDIA GeForce RTX 5090 (VRAM 32GB)
    • メモリ: 64GB
  • ソフトウェア:
    • OS: Windows 11
    • ツール: Ollama
  • 使用モデル:
    • qwen3:8b (パラメータ数: 80億)
    • gpt-oss:20b (パラメータ数: 200億)

検証方法

2026年の大河ドラマの主人公は「豊臣秀長」らしいです。せっかくなのでどのような人物か要約してもらいましょう。

Wikipediaの「豊臣秀長」のテキストを要約させるタスクを、2種類のプロンプトで推論速度を比較しました。

  • 要約対象テキスト: 豊臣秀長.txt(Wikipediaの内容をファイルに保存)
  • プロンプトA (要約方法の指定なし):
1与えられたテキストを要約してください。
2
3{豊臣秀長のテキストの内容}
  • プロンプトB (要約方法の指定あり):
1与えられたテキストを、以下の制約に従って3つの箇条書きで要約してください。
2・各箇条書きは200文字以内とする。
3
4{豊臣秀長のテキストの内容}

「指定あり」のプロンプトでは、文字数や出力形式に具体的な制約を設けています。これが推論時間にどう影響するかが今回の検証のポイントです。 一つのモデルだけだと、固有の事象の可能性があるため、2つのモデル(qwen3, gpt-oss)で検証しました。

Pythonデモ:推論時間を計測する

Ollamaは、Pythonから非常に簡単に利用できます。今回の検証で使用した実際のスクリプトは以下の通りです。

プロンプトA(要約方法の指定なし) ※qwen3

main.py

1import time
2from langchain_ollama import OllamaLLM
3
4PROMPT = """
5与えられたテキストを要約してください。
6
7{topic}
8"""
9
10with open("豊臣秀長.txt", encoding="utf-8") as reader:
11hidenaga = reader.read()
12
13prompt = PROMPT.format(
14topic=hidenaga
15)
16
17llm = OllamaLLM(model="qwen3:8b") #gpt-ossの場合はここをgpt-oss:20bに変更
18start = time.perf_counter()
19response = llm.invoke(prompt)
20print(response)
21print(f"{time.perf_counter() - start:.2f}秒")
プロンプトB (要約方法の指定あり)

※プロンプトの部分を次のように書き換えます

1PROMPT = """
2与えられたテキストを、以下の制約に従って3つの箇条書きで要約してください。
3・各箇条書きは200文字以内とする。
4
5{topic}
6"""

このように、ollamaを使えば、ファイル操作や時間測定を含めても、直感的なコードでローカルLLMを操作できます。

結果

推論時間の比較

各モデルとプロンプトの組み合わせで50回ずつ推論を実行し平均所要時間を表にまとめました。

モデル プロンプト 平均推論時間 (秒)
qwen3:8b (80億) 指定なし 7.43
qwen3:8b (80億) 指定あり 4.00
gpt-oss:20b (200億) 指定なし 7.69
gpt-oss:20b (200億) 指定あり 7.07

ご覧の通り、いずれのモデルにおいても、具体的な指示を与えた「指定あり」プロンプトの方が推論速度が向上していることがわかります。 特にqwen3:8bでは約46%の高速化が見られました。一方gpt-oss:20bではわずか8%の高速化でした。 モデルごとの差がありそうです。

生成された要約の比較

速度だけでなく、生成された要約の質も見てみましょう。

  • 指定なし: モデルによって、要点のまとめ方が異なりました。以下は要約例です。

    qwen3:8b

1**豊臣秀長の要約**
2
3豊臣秀長(羽柴秀長)は、戦国から安土桃山時代に活躍した武将で、豊臣秀吉の異父弟(または同父弟)として知られる。秀吉の弟として織田信長の家臣となり、戦功を積み、天下統一に貢献。最終的に大和・紀伊・和泉の3ヶ国(約110万石)を領し、従二位権大納言の官位を歴任。大和大納言と尊称され、政権の安定に欠かせない人物として重用された。
4
5**戦功と統治**
6- **織田時代**:信長の家臣として活躍。浅井氏滅亡や長島一向一揆討伐に参戦し、羽柴家の重臣となる。
7- **秀吉時代**:備中高松城の包囲戦や九州平定に参戦。紀州征伐で秀吉の副将となり、紀伊・和泉の所領を与えられる。
8- **統治手腕**:大和での土地調査(検地)、法令制定、陶器産業の振興など、内政改革を進め。しかし、高利貸し(「ならかし」)などの強引な政策も実施。
9
10**問題と死**
11- **腐敗の影**:紀伊の材木取引事件や「ならかし」の継続が問題視される。
12- **死後遺効**:死後も旧臣を通じて政策が継続。享年52(1591年)。家督は養嗣子の秀保に継いだが、後に断絶。
13
14**評価**
15温厚で寛仁な性格で、秀吉の補佐役として活躍。大和の統治で実務能力を発揮し、豊臣政権の安定に貢献。しかし、強引な政策も残り、後世への影響は二面的。
16
17**結論**
18秀長は豊臣政権の中枢として戦功と統治手腕を発揮し、天下統一の基盤を築いたが、死後もその政策は影響を残した。彼の生涯は戦国時代の権力構造と統治の難しさを象徴する。

gpt-oss:20b

1**豊臣秀長(とよとみ ひでなが/羽柴 ひでなが)**
2(1540年頃–1591年2月15日)
3豊臣秀吉の異父弟(あるいは同父弟)で、戦国・安土桃山時代を通じて武将・大名として活躍。秀長は信長・秀吉の家臣として数多くの戦いに参加し、特に但馬・播磨の征服で功績を上げる。後に紀伊・和泉・大和を含む約110万石の領地を与えられ、官位は従二位権大納言に昇進。大和郡山城を居城とし、名号は「大和大納言」。
4
5**主な業績と役割**
6- 但馬・播磨の征服で領地拡大、後に紀伊・和泉を含む10万石以上の領地を獲得。
7- 大和・紀伊・和泉地方の治めは寺社勢力が強く難解だったが、治め方に実務的かつ厳格な手法を用い、長期的な安定を図った。
8- 秀吉の軍事・政治の重要補佐役として、徳川家康や伊達政宗ら外様大名との調整、そして大規模な征伐(中国・越前・四国・九州等)に携わった。
9- 大和・和泉の土地改革や盗賊対策、検地・掟制定など内政政策にも力を入れ、領土経済を整備。
10
11**人柄と評価**
12温厚で寛容だが、強硬な高利貸や金銀蓄積を行うなど、財政面での争点もあった。秀吉に対しては「異を唱える」側面も持ち、両者のバランスを取りつつ政権安定に寄与。死去後は家督を養嗣子へ継いだが、家系は後に絶縁。
13
14**死去**
151591年2月15日、郡山城で病死(享年52)。当時の文献では「金銀充満」と記され、政治・経済的影響の大きさが示唆される。
16
17総じて、豊臣政権の支柱として大和大納言を務め、天下統一の過程で重要な役割を担った人物である。
  • 指定あり: 箇条書きと文字数制限のおかげで、どのモデルでも簡潔で要点がまとまった出力が得られました。プロンプトで出力形式を制御することが、安定した品質を得る上で有効であることが確認できます。

    qwen3:8b

1- 豊臣秀長は秀吉の異父弟で、戦国時代から安土桃山時代に活躍した大名。内外の政務・軍事で貢献し、約110万石の領地を獲得。大和大納言と尊称された。
2- 織田信長の家臣として成長し、羽柴家を支える要人物。備中高松城攻略や紀州征伐で活躍。秀吉の代理として四国攻めを主導した。
3- 病弱となり大坂城を最後に死去。大和の統治で寺社と経済政策を実施し、豊臣政権の安定に貢献。死後も影響力は続き、遺産の金銀蓄積も。

gpt-oss:20b

1- 豊臣秀長(羽柴秀長)は戦国期から安土桃山期にかけて豊臣政権を支える重要人物で、秀吉の異父弟・同父弟とされ軍事・内政を統括し天下統一に寄与した。
2- 領地は大和・紀伊・和泉を含め約110万石に達し、従二位権大納言へ昇進。大和大納言と称され、官位・地位で秀吉と同等に尊重された。
3- 1589年に病死し享年52、家督は甥秀保に継がれ羽柴家はその後文禄4年に断絶。業績は豊臣家の安定と政務調整に大きく貢献した。

考察

今回の結果から、以下の3点が考察できます。

  1. プロンプトによる高速化の可能性: 出力形式に制約を与えることで、LLMは「何をすべきか」が明確になり、思考プロセスが短縮されるため、推論が高速化されたと考えられます。自由作文よりも、穴埋め問題の方が回答が速いのと似ているかもしれません。

  2. モデルサイズと速度の関係: 今回は要約という比較的簡単なタスクだったため、qwen3については32bではなく8bを使用しました。 このように、タスクの複雑さに応じて適切なサイズのモデル(パラメータ数)を選択することが、速度と精度のバランスを取る鍵となります。パラメータ数が大きいモデルは表現力が高い反面、推論に時間がかかる傾向があります。

  3. 出力品質の安定化: 明確な指示は、速度だけでなく品質の安定化にも寄与します。複数のLLMを試す際や、システムに組み込む際には、プロンプトで出力形式を固定化することが重要です。

  4. 継続的な最適化の必要性: LLMの世界は日進月歩であり、今日最適なモデルやプロンプトが明日も最適とは限りません。ビジネスで継続的に成果を出し続けるには、こうした技術の進化を追いかけ、システムを常に最適化していく専門的な知見が不可欠です。

終わりに:ローカルLLMは「使い方」次第で高速になる

本コラムでは、プロンプトに具体的な制約を加えることで、ローカルLLMの推論速度が向上し、出力品質も安定することを、Ollamaを使った検証を通じて示しました。

「応答が遅い」という課題は、必ずしも高価なハードウェアを必要とするわけではなく、LLMの思考プロセスを最適化する「プロンプトの工夫」によって解決できる場合があります。これは、ローカルLLMを業務で活用する上で非常に重要な視点です。

しかし、いざ自社の業務に適用しようとすると、次のような、より具体的で実践的な課題に直面するかもしれません。

お客様の課題 私たちのPoCサービスによる支援
「どのモデルを選べば良いかわからない」 多数のオープンソースモデルから、お客様の業務要件(速度・精度・コスト)に最適なモデルを選定・評価します。
「プロンプトをどう作ればいいかわからない」 業務データに基づき、本コラムで紹介した高速化技術を応用した最適なプロンプトを設計・提供します。
「費用対効果をどう判断すればいいかわからない」 お客様の環境で実際にモデルを動作させ、具体的な処理時間やアウトプットの品質を測定し、投資対効果を見える化します。

これらの実践的な課題に対し、モデル選定から、業務データに特化したプロンプトの最適化、そして費用対効果の測定までを専門家がワンストップで支援するのが、私たちの「ローカルLLM PoCサービス」です。今回の高速化テクニックを含め、お客様の環境でその効果を直接体感いただけます。「まずは一歩を踏み出してみたい」とお考えでしたら、ぜひお気軽にご相談ください。