JetBrainsのMellum2.1は、120億パラメーターのうち25億がアクティブなモデルとして提供されています。BF16リポジトリと別のGGUFリポジトリはどちらもHugging Faceで公開されています。初めてローカルで実行する場合、GGUFリポジトリが案内するllama.cppの手順は、必要に応じて量子化ファイルをダウンロードし、ローカルサーバーを起動してpromptを送り、コーディングagentにリポジトリへのアクセスを許可する前に応答を確認するというものです。

これはドキュメントに基づくセットアップガイドです。BIG CHANGEはMellum2.1をインストールしておらず、以下のコマンドも実行していません。サーバーからローカルcompletionが返ることが成功の確認です。コードの品質、agentの信頼性、使用するハードウェアでの性能を示すものではありません。

必要なもの

  • 選んだモデルとランタイムに十分なメモリーとストレージを備えたWindows、macOS、またはLinuxのコンピューター。JetBrainsのカードでは、元のモデルはBF16でコンテキスト長は131,072トークンとされています。GGUFリポジトリが推奨するQ4_K_Mファイルは8.1 GBです。これはファイルサイズであり、実行時メモリーの総量ではありません。ランタイム、コンテキスト、ほかのプロセスにも追加のリソースが必要です。JetBrainsは最低メモリー要件を公開していません。
  • ソフトウェアとモデルを最初にダウンロードするにはインターネット接続が必要です。推論リクエスト自体はローカルサーバーに送れます。
  • llama.cppとターミナル。リポジトリにはWindows用の winget install llama.cpp と、ローカルでサーバーを提供するための llama serve コマンドが記載されています。

モデルはApache 2.0で公開されています。重みの利用料金は記載されていません。ハードウェア、電気、ストレージ、レンタルするインフラの費用はJetBrainsが定量化していません。現行のBF16モデルカードには、このリポジトリを提供する推論プロバイダーはないと記されています。GGUFリポジトリは別の量子化アーティファクトで、独自のllama.cppクイックスタートがあります。

ステップ1:llama.cppをインストールしてローカルサーバーを起動する

WindowsのPowerShellで、llama.cppをインストールするには、公式Mellum2.1 GGUFクイックスタート:

PowerShell
winget install llama.cpp

コマンド llama がまだPATHにない場合は、新しいターミナルを開きます。推奨されるQ4_K_Mビルドを起動し、ポート8080でローカルコンピューターに明示的にバインドします。

PowerShell
llama serve -hf JetBrains/Mellum2.1-12B-A2.5B-Thinking-GGUF:Q4_K_M --host 127.0.0.1 --port 8080

GGUFリポジトリには、このモデルIDと量子化を llama serve に使う方法とWindowsでのインストール手順が記載されています。llama.cppサーバーのリファレンスには --host と --port が記載され、リポジトリのサンプルエンドポイントは http://localhost:8080/v1 です。macOSとLinuxでは、同じGGUFリポジトリが curl -LsSf https://llama.app/install.sh | sh を使ったllama.cppのインストールと、その後の同じサーバーコマンドを案内しています。

最初の応答前にプロセスがモデルをダウンロードします。Q4_K_Mファイルは8.1 GBとされています。このテストではサーバーを自分のコンピューターだけにバインドしてください。ネットワークに公開したり、promptに認証情報を入れたりしないでください。リポジトリには、より小さい7.0 GBのMXFP4_MOEファイルと、より大きいQ6_K、Q8_0、BF16の各バリアントも記載されています。量子化によってモデルアーティファクトは変わります。ファイルサイズだけでは、特定のコンピューターで実用的なコンテキスト長や速度で動くかどうかは分かりません。

コマンドが起動しない場合は、正確なモデルID、空きディスク容量、llama.cppのバージョン、完全なエラーメッセージを確認してください。メモリー割り当てエラーが出たら停止し、現在のllama.cppドキュメントでランタイムのオプションとコンテキスト設定を確認してください。モデルに欠陥があることを示すものではありません。公開されている131,072トークンのコンテキストが自分のコンピューターに収まると想定しないでください。

ステップ2:スモークテスト用promptを送る

サーバーを起動したままにします。2つ目のPowerShellウィンドウから、ローカルAPIに短いリクエストを送ります。

PowerShell
$body = @{
  model = "JetBrains/Mellum2.1-12B-A2.5B-Thinking-GGUF"
  messages = @(
    @{ role = "user"; content = "Reply with exactly: MELLUM21-LOCAL-OK" }
  )
  # Author-selected budget for this short smoke test; not a JetBrains recommendation.
  max_tokens = 512
  temperature = 0.6
  top_p = 0.95
  top_k = 20
} | ConvertTo-Json -Depth 5

$response = Invoke-RestMethod -Uri "http://localhost:8080/v1/chat/completions" -Method Post -ContentType "application/json" -Body $body

$choice = $response.choices[0]
[pscustomobject]@{
  finish_reason = $choice.finish_reason
  has_reasoning_content = -not [string]::IsNullOrWhiteSpace($choice.message.reasoning_content)
  content = $choice.message.content
}

モデルID、ローカルエンドポイント、サンプリング値はリポジトリのAPI例に従います。max_tokens = 512 は、この短い確認のために選んだ上限値であり、モデルカードの推奨値ではありません。Mellum2.1は思考モデルです。GGUFカードによれば、reasoningを <think>...</think> ブロックで出力します。コードは別の reasoning_content フィールドが空でないかを報告しますが、内容は表示しません。ランタイムのreasoning形式によっては、content に <think> テキストが含まれることもあります。このpromptはスモークテストであり、モデル品質のベンチマークではありません。

基本チェックに合格するのは、接続またはサーバーエラーではなくcompletionが返り、finish_reason が length ではなく、最終 content に MELLUM21-LOCAL-OK が含まれる場合だけです。HTTP成功だけでは不十分です。思考モデルは、要求した最終テキストを出す前に小さな出力予算を使い切ることがあります。出力が空、マーカーがない、または finish_reason が length の場合は、モデルの失敗と診断せず、判定不能として上限付き出力予算を増やして再試行してください。PowerShellで接続失敗が報告されたら、最初のターミナルでサーバーが動作中か、リクエストがポート8080を使っているか確認します。サーバーがエラーを返した場合は、正確なメッセージを保存し、コーディングagentを試す前に解決してください。応答が成功すれば、このローカル推論経路が1つのリクエストに答えられることは確認できますが、モデルが安全にコードを編集できることは確認できません。

ステップ3:agentに接続する前に確認する

最初の評価は実際のプロジェクトから切り離してください。既知の小さなタスクがある使い捨てリポジトリを使い、モデルアーティファクトと量子化、llama.cppのバージョン、OS、コンテキスト設定、prompt、出力、所要時間、リソース使用量を記録します。範囲を限定した変更を依頼し、提案されたdiffを確認して、リポジトリ既存のテストを自分で実行してください。比較したい場合は現在のベースラインでも同じタスクを行います。prompt1つやテスト1回の成功はベンチマークではありません。

モデルサーバーはテキストを返します。ランタイムやリクエスト形式によっては、構造化されたツール呼び出しワークフローに対応する場合もあります。どのツールをagentが使えるかをサーバー自体が決めたり、安全に実行したりするわけではありません。周囲のagentがリポジトリへのアクセス、シェルコマンド、ファイル編集、テスト実行を制御します。まず読み取り専用または厳しく制限したアクセスにし、書き込みやコマンドには承認を求め、すべてのdiffを確認し、テスト用リポジトリやpromptに秘密情報を入れないでください。agentがタスクの範囲を超える、無関係なファイルを変更する、失敗したテストを説明できない場合は停止します。

非公開のコードで使う場合、推論がどこで行われ、agentがどう設定されているかを確認してください。リクエストがローカルエンドポイントにとどまれば、ローカルモデルのプロセスはpromptを自分のコンピューター内に保てますが、agentはほかの機能のために外部サービスを呼ぶ場合があります。非公開のコードやデータを使う前に、アプリのネットワークアクセス、ログ、テレメトリー、ツール権限を確認してください。

ステップ4:公開された証拠が示すこと、示さないこと

JetBrainsはMellum2.1を、アクティブパラメーター2.5B、BF16精度、131,072トークンのコンテキストを持つ12B mixture-of-expertsモデルと説明しています。モデルカードによればApache 2.0で公開され、隔離されたソフトウェア環境での強化学習を含む事後学習が行われました。JetBrainsはagentによるコーディング評価を含むベンチマーク結果も公開しています。これらはJetBrains自身が報告したスコアであり、BIG CHANGEの測定値ではなく、使用するハードウェアの処理量やプロジェクトの成果を予測するものでもありません。

公開場所によってリリースの詳細が変わりました。JetBrainsの10月8日のローンチ記事はGGUFビルドについて「近日公開」としていました。10月9日には公式のHugging Face GGUFリポジトリにアクセスでき、llama.cpp、Ollamaなどのクイックスタートが掲載されています。このガイドでは現在公開されているGGUFリポジトリを使います。BF16リポジトリは別のアーティファクトです。手順を再度実行する前に両方のリポジトリを確認してください。

大きな変化

量子化したMellum2.1ビルドについて、公開済みのllama.cppクイックスタートに従い、OpenAI互換のローカルエンドポイントから問い合わせられるようになりました。BF16リポジトリ向けに推論プロバイダーをデプロイしなくても、セルフホスト推論を初めて実際に確認できます。応答が証明するのはサーバー経路が動くことだけです。agentの品質、適合性、ツールチェーン全体のプライバシー、本番運用への準備状況を証明するものではありません。

出典と参考資料