[開発者向け]MiniCPM5-2B——2Bクラス最高水準スコアの仕組みと実装方法を解説

目次

はじめに

 オンデバイス向け軽量モデルを手がけるOpenBMBが、「MiniCPM5」シリーズ第2弾「MiniCPM5-2B」を公開しました。IT之家の報道によれば、2026年7月19日に世界人工智能大会(WAIC)で発表されたモデルです。前作のMiniCPM-V 4.6に続くモデルで、本稿では特徴と実装方法を解説します。

参考記事

メイン記事:

関連情報:

  • タイトル: 面壁智能发布端侧模型MiniCPM5-2B,AA-Index榜单4B以下性能第一
  • 著者: IT之家
  • 発行元: IT之家(ITHome)
  • 発行日: 2026年7月19日
  • URL: https://www.ithome.com/0/978/796.htm

関連記事

あわせて読みたい
[開発者向け]MiniCPM-V 4.6 完全実装ガイド——1.3Bパラメータでスマートフォン搭載可能なマルチモーダ... はじめに  清華大学NLPグループとModelBestが2026年5月11日にオープンソース公開した「MiniCPM-V 4.6」は、総パラメータ数1.3BながらQwen3.5 2Bレベルの視覚言語性能を...

要点

  • MiniCPM5-2Bは、OpenBMBが2026年7月に発表した「MiniCPM5」シリーズ第2弾のオンデバイス向け言語モデルである。
  • パラメータ数は約25.2億(埋め込み層を除くと約19.8億)、42層のTransformer構造で、コンテキスト長は131,072トークンである。
  • OpenBMBの比較セットにおいて2Bクラス最高水準の平均スコア53.9を記録し、比較対象内の4Bクラスモデルの最高スコア51.1を上回っている。
  • 学習はSFT・強化学習(RL)・On-Policy Distillation(OPD)の3段階で構成され、16種のRL専門モデルを1つのチェックポイントへ統合している。
  • vLLM・SGLang・Transformersなど主要な推論フレームワークに対応し、標準的なLlamaForCausalLMアーキテクチャを採用している。

詳細解説

概要・位置づけ

 MiniCPM5-2Bは、清華大学自然言語処理研究室(THUNLP)などと共同で研究開発を行うOpenBMBが手がける「MiniCPM5」シリーズの2番目のモデルです。2026年5月に公開された「MiniCPM5-1B」に続く位置づけで、端末上での動作やリソースが限られた環境での利用を想定した高密度(dense、専門家分岐を持たない通常のTransformer構造)なモデルとして設計されています。パラメータ数は約25.2億(埋め込み層を除く非埋め込みパラメータは約19.8億)、層数は42、コンテキスト長は131,072トークンです。

 1Bクラスの前作からパラメータ数を増やしたことで、コーディングやツール呼び出しなど、より複雑なタスクへの対応力を高める狙いがあると考えられます。

性能・ベンチマーク

 OpenBMBの発表によれば、MiniCPM5-2Bは同社が用意した比較セットの中で2Bクラス最高水準となる平均スコア53.9を記録しました。比較対象にはLFM2.5-2.6B、Qwen3.5-2B、Gemma-4-E2B-itなどの同規模モデルに加え、Qwen3.5-4Bやgranite-4.2-3Bといった4Bクラスのモデルも含まれており、その中で最高となる51.1を上回ったとされています。特に差が大きいのはコード推論、数学推論、長文脈理解、ツール利用、複数のエージェント系タスクです。個別のベンチマークでは、SWE-bench Verifiedで46.4点、AIME 2025で86.5点を記録しています。

 この比較はOpenBMBが選定したモデル群の中での結果であり、比較対象の選び方によって順位は変わり得る点には留意が必要だと考えています。

学習手法(RL+OPD)

 学習は事前学習(ベーストレーニング)・中間学習(ミッドトレーニング)・事後学習(ポストトレーニング)の3段階で構成されています。事後学習ではSFT(教師ありファインチューニング)、RL(強化学習)、OPD(On-Policy Distillation)を順に実施し、数学・コード・エージェント動作など領域別に訓練した16個のRL専門モデルを、最終的に1つのチェックポイントへ統合しています。OpenBMBによれば、RL+OPDの導入により推論・汎用タスクの平均スコアが10.96点、エージェント系タスクのスコアが6.96点、それぞれ向上したとしています。

 OPDは各生成位置でのトークン分布の差(逆KLダイバージェンス)を学習信号として使う手法で、追加のデータ収集をせずに複数の専門モデルの強みを1つのモデルへ集約できる点が特徴だと考えられます。

前提条件・環境構成

 実装にはPython 3.10以上が推奨されます。利用する推論フレームワーク(vLLM・SGLang・Transformersのいずれか)によって必要なライブラリが異なります。GPU環境で実行する場合はCUDAに対応したPyTorchが必要です。仮想環境(venvやcondaなど、Pythonのライブラリをプロジェクトごとに分離する仕組み)をあらかじめ作成しておくと、他のプロジェクトとライブラリのバージョンが競合するのを防げるため安心です。

インストール・セットアップ

 MiniCPM5-2Bは標準的なLlamaForCausalLMアーキテクチャ(Metaが開発したLlamaシリーズと同じモデル構造)を採用しているため、独自のカーネルや専用コードを追加しなくても、主要な推論フレームワークでそのまま読み込めます。ここでは3つの代表的な方法を紹介します。

 vLLMを使う場合(OpenAI互換のAPIサーバーを立てる方法)です。

# vLLM(高速推論に特化したサーバーライブラリ)をインストールします

pip install "vllm>=0.21"

# MiniCPM5-2Bをポート8000でサーバーとして起動します

vllm serve openbmb/MiniCPM5-2B --port 8000

SGLangを使う場合(ツール呼び出しに対応した推論サーバー)です。


# SGLang(推論サーバーライブラリ)をインストールします

pip install "sglang[srt]>=0.5.16"

# MiniCPM5-2Bをポート30000でサーバーとして起動します

python -m sglang.launch_server --model-path openbmb/MiniCPM5-2B --port 30000

Transformersを使う場合(ローカルでPythonから直接呼び出す方法)です。

# Hugging Face Transformers(モデル読み込み用のライブラリ)などをインストールします

pip install -U "transformers>=5.6" accelerate torch

 注意: GPU環境で実行する場合はCUDAに対応したPyTorchが必要です。CPUのみでも動作しますが、応答速度は遅くなります。

実装例・コードサンプル

 Transformersを使ってローカルで応答を生成する例です。

# 必要なクラスを読み込みます

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "openbmb/MiniCPM5-2B"

# トークナイザー(文章をモデルが扱える数値列に変換する仕組み)を読み込みます

tokenizer = AutoTokenizer.from_pretrained(model_id)

# モデル本体を読み込みます。torch_dtype="auto"で環境に合った精度を自動選択します

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [{"role": "user", "content": "Who are you? Please briefly introduce yourself."}]

# チャット形式のプロンプトをモデル用の入力形式に変換します

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    enable_thinking=True,  # 深く考えるモード(Thinkingモード)を有効にします
    return_dict=True,
    return_tensors="pt",
).to(model.device)

# 応答を生成します(最大128トークンまで)

outputs = model.generate(**inputs, max_new_tokens=128)

print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

 参考記事のサンプルコードをもとにしており、筆者による動作確認は行っていないため、実行結果は環境によって異なる可能性があります。

実行・動作確認

 vLLMやSGLangでサーバーを起動した場合は、以下のようにcurlコマンドでAPIを呼び出して動作を確認できます。

# 起動したサーバーに質問を送り、応答を受け取ります

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openbmb/MiniCPM5-2B",
    "messages": [{"role": "user", "content": "Who are you? Please briefly introduce yourself."}],
    "max_tokens": 128,
    "temperature": 1.0
  }'

 注意: ポート番号はサーバー起動時に指定した番号(vLLMなら8000、SGLangなら30000など)に合わせてください。

パラメータ・設定オプション

 OpenBMBは生成時のパラメータとしてtemperature=1.0、top_p=0.95を推奨しています。ツール呼び出し(外部の関数やAPIをモデルに実行させる機能)を使う場合はSGLangが推奨されています。MiniCPM5-2BはXML形式でツール呼び出しを出力するため、SGLang起動時に–tool-call-parser minicpm5を指定すると、OpenAI互換のtool_calls形式に自動変換されます。

python -m sglang.launch_server --model-path openbmb/MiniCPM5-2B --port 30000 \

    --tool-call-parser minicpm5

 また、推論を高速化する投機的デコーディング(Speculative Decoding、小さなドラフトモデルで候補を先に生成し、本体モデルが検証することで全体の生成速度を上げる手法)用に、専用のドラフトモデル「MiniCPM5-2B-DSpark」も公開されています。SGLangで–speculative-algorithm DSPARKを指定すると有効化できますが、具体的な速度向上の数値は参考記事内では確認できませんでした。

まとめ

 MiniCPM5-2Bは、OpenBMBが公開した「MiniCPM5」シリーズ第2弾のオンデバイス向け言語モデルです。2Bクラスとしての高い評価スコアと、vLLM・SGLang・Transformersへの対応を備え、端末上でのエージェント活用に向けた選択肢の一つになり得ると考えています。前作のMiniCPM-V 4.6の実装ガイドもあわせてご覧いただければと思います。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次