モデル別実行レシピ

MiniCPM5-2B Q4_K_Mをローカルで動かす安全な始め方

MiniCPM5-2Bで議事録をローカル要約します

MiniCPM5-2Bはテキストを受け取り、要約や担当者・日付などを回答する言語モデルです。公式GGUF1 Q4_K_Mファイルをダウンロードし、4096token contextとローカルaddressでllama.cpp serverを起動して、議事録の要約が原文と一致するか確認します。

3ページの議事録を入力すると、モデルは本文を読み要約と作業候補を生成します。決定事項が保たれ、担当者や期限が原文に実在するか照合すれば、小さな基準作業になります。

実行条件と要点
  • 公式file名と実際の保存pathを確認します。
  • 初回試験は4096token contextとローカル専用addressで始めます。
  • MLXとDSparkはGGUF serverのoptionではなく別の実行経路です。
機器別の実行設定へ移動

公式GGUFファイルを1つだけ取得します

MiniCPM5-2Bは2.51675648B parameterのdense modelです。公式配布にはGGUF、Apple Silicon向け4bit MLX2、GPTQがありますが、まずMiniCPM5-2B-Q4_K_M.ggufとllama.cppのllama-serverを組み合わせます。file形式とruntime3を固定すると問題を診断しやすくなります。

リポジトリ全体ではなくQ4_K_Mだけを取得すれば、F16やQ8を重複して保存せずに済みます。ダウンロード後、ファイルのパスと名前を下のサーバーコマンドに合わせてください。起動ログでモデル読み込みとリクエスト待機状態を確認してから質問を送ります。

公式GGUF fileを取得
hf download openbmb/MiniCPM5-2B-GGUF MiniCPM5-2B-Q4_K_M.gguf --local-dir ./models/minicpm5-2b
小型PCの横のモニターに緑のブロック構造が映っています。
小さなモデルで実際の議事録を先に処理します。

4096token contextでローカルserverを起動します

最新のllama.cppでモデルpathを指定し、-c 4096を初期context長にします。これは入力と出力が共用するruntime設定で、モデルのnative context上限131072tokenとは異なります。短い議事録が安定してから実際の文書長に合わせて増やします。

--host 127.0.0.1は同じコンピューターからだけ接続できるようにします。サーバーがlistening状態になったら、そのコンピューターのブラウザーでhttp://127.0.0.1:8080を開きます。-ngl 99はGPU4への配置を要求するため、CUDA5またはMetal6ビルドを使い、ログでbackendとGPUに配置された層数を確認します。

ローカル専用サーバーを起動
llama-server -m ./models/minicpm5-2b/MiniCPM5-2B-Q4_K_M.gguf -ngl 99 -c 4096 --host 127.0.0.1 --port 8080
デスクトップとノートPCの間にノートと色付きブロックがあります。
runtimeが扱えるfile形式を選びます。

起動待ちと要約の正確さを分けて確認します

初回はmodel fileの読み込みとメモリへの配置があるため、server準備時間とrequest応答を別に測定します。準備用requestを1回送ってから議事録を入力し、初回準備、最初のrequest、起動済みserverの追加回答を分けます。同じsessionのcache効果を見るか、requestごとに新processを起動するかも記録します。

速度比較では質問、入力長、出力予算、backendを固定して同じrequestを3回実行し、中央値を記録します。入力を読むprefill7と回答を生成するdecode8を分けます。回答に根拠のない決定がないか、担当者と期限が議事録にあるかも別に照合します。

緑のブロック4個と色々なブロックが台とトレイにあります。
回答速度と原文との一致をそれぞれ確認します。

MLXとDSparkには専用の実行経路があります

Apple Siliconではopenbmb/MiniCPM5-2B-MLX 4bit配布を選べますが、GGUFではないためllama-serverには指定しません。MLX対応runtimeでmodel IDを使います。比較では議事録、質問、context長、backendを記録します。形式やkernelが異なるため、一方の速度を他方の実測として扱えません。

DSparkは専用MiniCPM5-2B-DSpark checkpoint9と互換SGLang経路が必要な別配布です。まずGGUF serverで基準を作り、その後checkpoint、engine version、commandを揃えて試します。機器別の検証値がない加速倍率は適用しません。

用語の注釈

  1. GGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。

    本文に戻る
  2. MLX — Appleが開発する機械学習フレームワークで、Apple SiliconのCPUとGPUが共有するメモリを使ってモデルを実行します。

    本文に戻る
  3. ランタイム — プログラムの実行時に必要な機能を提供するソフトウェア環境です。ローカルAIではモデル実行エンジンを指すこともあります。

    本文に戻る
  4. GPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

    本文に戻る
  5. CUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。

    本文に戻る
  6. Metal — Apple機器でグラフィックスやGPUの並列計算を実行する低水準の技術です。

    本文に戻る
  7. プリフィル — LLMが入力プロンプトを読み、各トークンの内部表現を計算する段階です。プロンプトが長いほど処理するトークンが増えます。

    本文に戻る
  8. トークンのデコード — 入力とそれまでの回答をもとに、次の出力トークンを順に生成する段階です。

    本文に戻る
  9. チェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。

    本文に戻る

よくある質問

この記事で最初に確認すべきことは何ですか?
MiniCPM5-2Bはテキストを受け取り、要約や担当者・日付などを回答する言語モデルです。公式GGUF Q4_K_Mファイルをダウンロードし、4096token contextとローカルaddressでllama.cpp serverを起動して、議事録の要約が原文と一致するか確認します。

実行レシピ

機器別の設定

1人で使う場合

使う機器を選ぶと、起動コマンドと調整できる設定が表示されます。

使用可能メモリ: 56GB / 帯域幅: 307GB/s

プロファイル

Apple MacBook Pro M5 Pro (64GB)

メモリに収まる

推奨ランタイム: LM Studio (MLX 4ビット(GGUF Q4_K_Mとは別形式)) · ドキュメントに基づくランタイム設定

インストール後の初回実行や、毎日安定して使いたいときに

プロファイルのコンテキスト長

16,384 トークン

ランタイムの文書に基づく設定MBP M5 Pro 64GB · Q4 · 要求 1個

ランタイムのドキュメントに基づく初期設定です。下の手順に沿って調整し、速度を比べてください。

デコード速度の推定値

148.3 ~ 164.8 tok/s

1人で使う場合の推定値

最初のトークンまでの推定時間

5.7 ~ 12.3秒

プリフィル: 1,331 ~ 2,890 tok/s

推定メモリ使用量

約 2.59GB / 56GB

残余の余裕:少ない 53.4GB

サーバーアドレス

http://127.0.0.1:1234

ローカルのみ · 127.0.0.1

推定値は、計算ツールが推奨する量子化・高速化設定と 16,384トークンを基準にしています。上記の実行設定を測定した値ではありません。

このプロファイルの設定

設定値この設定にする理由
重みMLX 4ビット(GGUF Q4_K_Mとは別形式)MLXモデルのディレクトリを使います。Q4_K_MのGGUFとはファイル形式が異なります。
入力長の確認16,384lms loadのcontext-length設定と、実際に読み込まれたコンテキスト長を合わせて確認します。
KVキャッシュモデル設定で確認この起動コマンドではKVキャッシュの精度を指定していません。
プリフィルのバッチサイズランタイム設定で確認llama.cppのbatch-sizeとubatch-sizeを、MLXの設定値としてそのまま使わないでください。
同時リクエスト数11件のリクエストの速度を測ります。複数リクエストを合わせた処理量とは分けて確認します。
メモリの余裕2GB以上モデルの読み込み後に、実際のメモリ使用量とスワップの有無を確認します。

MBP M5 Pro 64GB 実行コマンド(LM Studio)

LM Studio MLXエンジン · ローカルMLX 4ビットモデル
# lms ls에서 확인한 MLX 4비트 모델 식별자를 입력
MODEL_ID=""
lms ls
: "${MODEL_ID:?MLX 모델 식별자를 입력하세요}"
lms load "$MODEL_ID" --gpu=max --context-length=16384
lms server start --port 1234
まずこの設定で基準速度を記録し、その後は下の手順に沿って一項目ずつ変更します。

起動後の確認

  1. 01起動ログで、モデルの読み込み完了と実際のコンテキスト長を確認します。
  2. 02ウォームアップ後はリクエストを1件ずつ送ります。同じ長さの異なる入力を3つ使い、キャッシュを再利用しない初回の処理時間を記録します。
  3. 03同じ入力を繰り返した結果は、キャッシュ再利用の記録として分けます。初回入力の結果と混ぜないでください。
  4. 04プリフィルtok/s、デコードtok/s、ピークメモリをまとめて記録し、その後は一項目ずつ変更します。

変わる点と注意点

  • コンテキスト長と同時リクエスト数を控えめにしているため、機器の最大処理量より低い結果になることがあります。

1つずつ調整

高速化の手順

複数の値を一括で変更すると原因を特定するのが難しいです。

  1. STEP 1

    基準値を保存

    初回入力とキャッシュ再利用を分け、それぞれ3回記録します。プリフィル、デコード、ピークメモリを一緒に比較します。

    とき: エラーがある場合やメモリの余裕が2GB未満の場合は、次の段階へ進まないでください。

  2. STEP 2

    プリフィルのチャンクサイズを調整

    1,024 → 2,048 → 4,096の順に増やし、長い入力のTTFTとピークメモリを比べます。

    とき: TTFTが短くならない場合やピークメモリが急増する場合は、直前の値へ戻します。

  3. STEP 3

    KVキャッシュ調整

    コンテキスト長を確保したいときだけ、同じ質問でQ8キャッシュとF16/BF16の基準値を比較します。

    とき: 出力に差が出る場合や、必要なコンテキスト長をすでに確保できている場合は、標準の精度を維持します。

  4. STEP 4

    MTP・投機的デコーディング

    対応モデルだけで有効にし、コードと通常の文章を分けて、採用率と実際のデコードtok/sを測定します。

    とき: 3回の中央値が基準値より良くならなければ、無効に戻します。

  5. STEP 5

    コンテキスト拡張

    実際に必要な長さまで段階的に2倍ずつ伸ばし、入力途中の情報を見つけられるかと、スワップの有無を確認します。

    とき: 情報を探す精度が落ちたり、スワップ・メモリ圧縮が始まったりしたら、一段階短くします。

自分の機器の測定記録を送る

同じ条件で3回以上測定したJSONを読み込んでください。送信ボタンを押すまでは、このブラウザ内でのみ確認します。

受け付けるのは機器・モデル・実行条件と測定値だけです。プロンプト・回答・元のログ・ファイルパスは含めないでください。

記録ファイルがなければ、起動中のローカルサーバーと測定ツールで作成できます。Node.js 20以上が必要です。結果の自動送信は行いません。

内容を確認したユーザーの投稿記録です。このサイトが直接測定した結果とは区別しています。

設定の問題を報告

この設定でどこにつまずいたかを教えてください。報告を読めるのは管理者だけです。

報告する設定 · MBP M5 Pro 64GB · MiniCPM5-2B · バランス

変更履歴

サイトの説明を変更した記録です。インストール済みのエンジンやモデルのバージョンを自動で確認した結果ではありません。

  1. MiniCPM5の実行レシピを追加

    公式GGUFの起動コマンドとMLX配布版を区別して案内します。機器別の測定を確認するまでDSparkの高速化率は適用しません。