• Skip to main content
  • Skip to primary sidebar

bloggggggggggggggg

// コードと趣味の境界線上

プロンプトテンプレート沼 — ChatML, Alpaca, Llama 3形式の違い

ローカルLLMで「なんだか回答がおかしい…」って時、原因の8割はプロンプトテンプレートの間違いだ。各モデルには決まった会話フォーマットがあって、これがずれるとモデルは迷子になる。

このフォーマットの違いを知らずに、3日間「なんでこのモデル、こんなにバカなんだ?」って悩んだことがある。原因はLlama 3モデルにAlpaca形式でプロンプトを投げてただけ。フォーマットを直した瞬間、モデルが突然賢くなった。

主要なプロンプトテンプレート:

  • ChatML(OpenAI系)
    <|im_start|>system
    あなたは優秀なアシスタントです。<|im_end|>
    <|im_start|>user
    こんにちは<|im_end|>
    <|im_start|>assistant
  • Llama 3
    <|begin_of_text|><|start_header_id|>system<|end_header_id|>
    あなたは優秀なアシスタントです。<|eot_id|>
    <|start_header_id|>user<|end_header_id|>
    こんにちは<|eot_id|>
    <|start_header_id|>assistant<|end_header_id|>
  • Alpaca(古いモデルで多い)
    ### System:
    あなたは優秀なアシスタントです。
    
    ### User:
    こんにちは
    
    ### Assistant:
  • Mistral(シンプル)
    <s>[INST] こんにちは [/INST]

Ollamaは内部的にテンプレートを持ってるから、基本的に気にしなくていい。でもllama.cppを直接使うときや、APIを叩くときは自分でテンプレートを指定する必要がある。

プロンプトテンプレートの自動判別。HuggingFaceのモデルカードに書いてあるし、GGUFファイルのメタデータにもテンプレートが埋め込まれてる。`ollama show ` で確認可能。

このテンプレート問題、慣れれば大したことないけど、最初は本当に沼。僕みたいに「モデルがアホ」と勘違いしないように注意してほしい。

← Open WebUIでChatGPT風UIを自前で — ローカルLLMにリッチな顔をつける
コンテキスト長の壁 — 128kって実際どこまで使えるのよ →

Primary Sidebar

最近の投稿

  • インフラエンジニアのキャリアパス — 手動運用からSREへ
  • 障害対応の心得 — 本番で焦らないために
  • 監視設計の基本 — 何をどう見るべきか
  • ログ管理 — ELKスタック入門
  • HTTPSと証明書管理 — Let’s Encryptの恩恵を最大限に

アーカイブ

  • May 2026

カテゴリー

  • AI
  • Linux
  • OS
  • Windows
  • インフラ・DevOps
  • おうちサーバー
  • サーバー・インフラ
  • ツール・環境
  • プログラミング
  • 未分類
  • 開発哲学

最近のコメント

No comments to show.

© 横山鉄工所 & まめたろう重工