手元のPCで大規模なMoEモデルを動かす推論エンジン「Strata」が、0.2.9(2026年10月31日リリース)で「DeepSeek V4.1-Flash」のUnsloth版に対応しました。
Strataは0.2.4からDeepSeek V4.1-Flashを動かせるようになっていましたが、低ビットのセットはISTA-DASLab版だけでした。0.2.9からは、Unslothが公開している1ビット系の「UD-IQ1_S」と「UD-IQ1_M」も、セットアップで選べます。
今回はRTX 5060 Ti 16GB、RAM 64GBのPCでUD-IQ1_Sを導入しました。導入して使うまでの流れを、このPCの画面で説明します。
- UD-IQ1_Sはダウンロードが241GB、UD-IQ1_Mは258GBです。ISTA-DASLab版をすでに持っていれば、共通のファイルを再利用できるので、ダウンロードは約119GB減ります
- 導入は
strata launchの案内画面で選ぶか、strata launch --family deepseek41 --model ud-iq1_sを実行するだけです - UD-IQ1_Sは今回のPC(Windows、RTX 5060 Ti)で動きました。日本語の回答、画像入力、ツール呼び出しを確認し、生成速度は毎秒5〜7トークンでした
- 公式の評価では、統計的な指標はUD-IQ1_MがISTA-DASLabの2.25bpw版より良く、61課題のテストは2.25bpw版のほうが高得点でした
DeepSeek V4.1-FlashとUnsloth版
DeepSeek V4.1-Flash-1017
DeepSeek V4.1-Flash-1017は、DeepSeekが公開しているMoE(Mixture of Experts)モデルで、ライセンスはMITです。40層それぞれに384個のエキスパートがあり、全部で1万5,360個になります。1トークンを書くたびに、各層から6個を選んで使います。テキストのほか、画像も読み取れます。
「1017」が付くモデルは、もとのV4.1-Flashを小幅に更新したバージョンです。DeepSeekが公開した比較では、Terminal-Bench 4.0が31.2から42.3に、DeepSWE v1.1が74.2から77.0に上がっています。
Unsloth版のUD-IQ1_SとUD-IQ1_M
Unslothはモデルを量子化したGGUFファイルを公開している開発チームです。「UD」は「Unsloth Dynamic」の略で、モデル全体を同じ形式にせず、部分ごとに量子化の形式を変えています。
| セット | エキスパートの形式 | アテンションの形式 | モデル本体のサイズ |
|---|---|---|---|
| UD-IQ1_S | IQ1_S、IQ2_XXS | Q6_K | 122GB |
| UD-IQ1_M | IQ1_S、IQ2_XXS、IQ2_XS、IQ2_S | Q6_K | 140GB |
UD-IQ1_SはISTA-DASLabの1.75bpw版、UD-IQ1_Mは2.00bpw版に近いサイズです。
Unslothのモデルページには、最小の1ビット版でもRAM 128GB以上のPCで動かすよう案内があります。これはUnslothのllama.cpp向けプルリクエストやUnsloth Desktopで動かす場合の案内です。Strataではメモリに載らない部分をSSDから読み込むので、もっと少ないRAMでも動きます。
StrataでのVRAM・RAM・SSDの使い分け
Strataでは、DeepSeek専用のエンジン strata-dsv41 がモデルを動かします。モデルのデータの扱いは次のとおりです。
| データ | 扱い |
|---|---|
| アテンションなどの重み | VRAMに置く |
| エキスパート | VRAMに入るだけ置く |
| 残りのエキスパート | CPUで計算する。よく使うものをRAMに置き、入らない分は必要になったときにSSDから読む |
| n-gram表(Engram、111GB) | NVMe SSDに置き、1トークンごとに数行ずつ読む |
| 先読み用の小さなモデル(DSpark、8GB) | 効果がある場合だけ自動で使う |
RAMに置くエキスパートの量は、Strataが自動で決めます。
どのセットを選ぶか
Strataで選べるDeepSeek V4.1-Flashのセットは次の6つです。「必要なメモリ」はセットアップ画面に表示される値です。
| セット | 提供元 | ダウンロード | 必要なメモリ(RAM+VRAM) | 必要な空き容量 |
|---|---|---|---|---|
| UD-IQ1_S | Unsloth | 241GB | 36GB | 約247GB |
| UD-IQ1_M | Unsloth | 258GB | 40GB | 約264GB |
| IST-DAS 1.75bpw | ISTA-DASLab | 239GB | 34GB | 約245GB |
| IST-DAS 2.00bpw | ISTA-DASLab | 257GB | 40GB | 約265GB |
| IST-DAS 2.25bpw | ISTA-DASLab | 274GB | 44GB | 約280GB |
| UD-Q8_K_XL | Unsloth | 508GB | 306GB | − |
ダウンロードの中身はモデル本体、n-gram表(111GB)、DSpark(8GB)です。n-gram表はUD-IQ1_S、UD-IQ1_M、ISTA-DASLab版でデータが同じなので、どれかを入れてあれば、別のセットを追加するときに再利用されます。
0.2.9のリリースノートには、UD-Q8_K_XLを基準にした品質の比較が載っています。1トークンごとに6エキスパートを使い、各セットを1回ずつ計測した値です。
| 指標 | UD-IQ1_S | UD-IQ1_M | IST-DAS 2.25bpw |
|---|---|---|---|
| KLダイバージェンス(小さいほど良い) | 0.114 | 0.087 | 0.110 |
| 1位の予測の一致率 | 87.2% | 88.8% | 87.4% |
| perplexityの増加(小さいほど良い) | +4.8% | +3.0% | +8.9% |
| 61課題のテスト | 53問 | 53問 | 56問 |
61課題の内訳は次のとおりです。
| 課題 | UD-IQ1_S | UD-IQ1_M | IST-DAS 2.25bpw |
|---|---|---|---|
| 文書からの検索(12問) | 11 | 11 | 12 |
| 情報の抽出(13問) | 11 | 13 | 13 |
| 答えられない質問(9問) | 9 | 9 | 9 |
| 要約(8問) | 8 | 6 | 7 |
| コード(6問) | 6 | 5 | 6 |
| JSON(3問) | 3 | 3 | 3 |
| エージェントの作業(10問) | 5 | 6 | 6 |
エージェントの作業は3つのセットとも10問すべてが最後まで動き、不正なツール呼び出しやツールのエラーはありませんでした。
統計的な指標ではUD-IQ1_Mが最も良く、課題のテストではIST-DAS 2.25bpwが最も高得点です。ただし、どちらも1回ずつの計測で、UD-IQ1_Mの課題のテストだけ別のGPUで実行されています。なお、Strataのドキュメントに載っている2.25bpw版の値(perplexity +7.3%)は基準が違うので、上の表とは直接比べられません。
セットアップの説明文ではUD-IQ1_SとUD-IQ1_Mについて、短い回答やコード、ツール呼び出しは問題なかったものの、長く細かい作業では2.25bpw版より弱い可能性があると書かれています。UD-IQ1_Sの説明には、2.00bpw版か2.25bpw版が入るならそちらを選ぶようにとも書かれています。
ここまでの情報をもとにすると、選び方の目安は次のとおりです。
| 向いている場合 | セット |
|---|---|
| ディスクとメモリを節約して、まず動かしてみたい | UD-IQ1_S |
| 少し大きくても、統計的な指標が良いほうを使いたい | UD-IQ1_M |
| ディスクに余裕があり、長い文書の処理も任せたい | IST-DAS 2.25bpw |
今回は最も小さいUnsloth版のUD-IQ1_Sを動かしました。UD-IQ1_Mは --plan の確認までで、動作は試していません。
必要なPC
| 項目 | 目安 |
|---|---|
| OS | Windows、Linux(Macにも対応。Macでは画像入力は使えません) |
| グラフィックカード | NVIDIA RTX 30、40、50シリーズなど。公式の計測は12GBのカードから |
| メモリ | UD-IQ1_SはRAMとVRAMの合計で36GB、UD-IQ1_Mは40GB |
| ストレージ | 約247GB(UD-IQ1_S)または約264GB(UD-IQ1_M)の空きがあるNVMe SSD |
モデルはNVMe SSDに置きます。n-gram表とRAMに入らないエキスパートを1トークンごとに読むので、HDDには向きません。
検証環境
| パーツ | 内容 |
|---|---|
| GPU | NVIDIA GeForce RTX 5060 Ti 16GB(ドライバー617.42) |
| CPU | AMD Ryzen 9 9900X(12コア24スレッド) |
| メモリ | DDR5-5600 64GB(32GB×2) |
| ストレージ | NVMe SSD 2TB(PCIe 4.0) |
| OS | Windows 11 Pro |
| Strata | ターミナル0.2.9(Control 0.1.55)、DeepSeekエンジン0.1.55 |
| モデル | DeepSeek-V4.1-Flash-1017 UD-IQ1_S |
| 設定 | コンテキスト8K、速度はFaster |
導入手順
今回はターミナル版を使いました。リリースノートでは、UD-IQ1_SとUD-IQ1_Mは「セットアップと strata launch の選択肢」と案内されています。アプリ版の画面は今回確認していません。
1. Strataを入れるか更新する
ターミナル版を初めて入れる場合は、PowerShellで次のコマンドを実行します。インストールの詳しい流れは前回の記事で紹介しています。
irm https://github.com/Niko1221/Strata/releases/latest/download/install.ps1 | iex
インストール後は新しいターミナルを開いてから strata コマンドを使います。すでに入っている場合は、次のコマンドで更新します。
strata update
strata --version
strata 0.2.9 (build 0.1.55; ...) と表示されれば準備完了です。DeepSeekのエンジンは別のパッケージで、次に strata launch でDeepSeekを起動したときに自動で更新されます。
2. --plan で事前に確認する
--plan を付けると、何も変更せずに、このPCでどのように動くかを確認できます。
strata launch --family deepseek41 --model ud-iq1_s --plan

ダウンロードの内訳、使うエキスパートの数、RAMとSSDの使い方が表示されます。空き容量が足りないときは、次のような警告が出ます(UD-IQ1_Mで実行した例)。
[!] The download needs about 264 GB of free disk space and 53 GB are free where the files go.
Use --models-dir on a bigger drive, or --gguf-dir for files you already have.
Strataは容量を10進数のGB(1GB=10億バイト)で数えるので、PowerShellで調べた値とは少し異なります。別のNVMe SSDに置く場合は、--models-dir で保存先を指定します。
3. strata launch でセットアップする
strata launch を実行すると、ターミナル上で案内画面が開きます。矢印キーで選んでEnterで進みます。プリセットを保存済みの場合は、最初の画面で「Set up from the beginning」を選びます。DeepSeekを選ぶと全部で10ステップになります。
Step 1:Model

一覧の下のほうにある「DeepSeek-V4.1-Flash UD-IQ1_S」を選びます。右端の列にはこのPCに収まるかどうかが表示されます。今回のPCは「fits · SSD 51 GB」でした。収まるものの、51GB分はSSDから読む見積もりと見られます。空き容量が足りないセットには「tight: needs more disk space」と出ます。
Step 2:Folder

保存先にはNVMe SSD上のフォルダーを指定します。上の画像は導入後に撮ったので、「Already downloaded」と表示されています。
Step 3:Context

一度に扱えるコンテキストの長さです。推奨は8Kで、1Mまで選べます。512Kと1Mには「not tested yet」と表示されています。長くすると使うメモリが増え、長い会話の最初の回答も遅くなります。今回は8Kで動かしました。
Step 4:Speed

「Faster」は1トークンごとに使うエキスパートを6個から5個に減らす設定で、品質の変化は小さいとされています。VRAMが合計16GB以下のPCでは、こちらが既定です。すべて使う場合は「Full quality」を選びます。
Step 5〜6:Pictures・Parallel
Step 5は画像入力のオン・オフです。既定はオンで、モデルに付属する約1GBのファイルと約0.3GBのVRAMを使います。
Step 6は同時に処理するリクエスト数ですが、Strataのドキュメントによると、今のDeepSeekエンジンは1件ずつ処理します。推奨のまま進めます。
Step 7:Tuning

このPCに合う設定を測定して探す機能です。最初のカーソルは「Quick」にあるので、Enterだけで進むとチューニングが始まります。今回は既定の設定で動かすため、「Skip」を選びました。
Step 8〜9:Advanced・Access
Step 8はエンジンの細かい設定と、実際に実行するコマンドの確認画面です。ここではEnterが項目の編集になるので、変更がなければ n で次へ進みます。
Step 9は接続できる範囲です。「This computer only」のほか、ローカルネットワーク、Cloudflareトンネル、Tailscaleを選べます。このPCの中だけで使うなら「This computer only」のままで問題なく、APIキーも不要です。
Step 10:Save

設定を確認し、「Save as a preset and launch」でプリセットを保存して起動します。次回からは strata launch の最初の画面でこのプリセットを選ぶだけで起動できます。
4. ダウンロードと起動
ここから先は自動で進みます。
- DeepSeekエンジンの取得、または更新
- モデルファイルのダウンロード(途中で止めても続きから再開)
- SHA-256によるファイルの確認
- Strata用にモデルを準備(初回のみ)
- モデルの読み込みと、動作の確認

今回のPCではISTA-DASLab版を入れてあったので、n-gram表とDSparkが再利用され、ダウンロードは約122GBで済みました。ここまでの所要時間は約1時間35分です(回線速度によって変わります)。なお、--plan の内訳にはファイルがあっても「241 GB」と表示されますが、実際には足りない分だけがダウンロードされました。
2回目以降は、ダウンロードと準備がなくなります。モデルの読み込みは、今回のPCでは約5分のときと約7分半のときがありました。
案内画面を使わず、コマンド1行で同じように起動することもできます。
strata launch --family deepseek41 --model ud-iq1_s
UD-IQ1_Mの場合は --model ud-iq1_m に置き換えます。
使ってみる
ブラウザーでチャットする
起動すると、http://127.0.0.1:8080/ でチャット画面が使えます。モニターで b を押しても開きます。今回の環境では英語で表示されました。

「ローカルLLMのメリットを3つ、簡潔に教えてください。」と聞いたところ、自然な日本語で答えました。157トークンを毎秒5.4トークンで生成しています。
入力欄の「Chat settings」では、思考の量やtemperatureなどを変更できます。

先ほどの回答は思考を「Off」にしたものです。このときの「Thought」の欄は開いても中身がありませんでした。既定の「High」で計算問題を聞くと、次のようになりました。

答えの140円は正解です。質問と回答は日本語ですが、思考は英語でした。
モニターで状態を見る
起動したターミナルにはモニターが表示されます。キーの1〜7で7つの画面を切り替えられます。

上の画像は回答の生成を始めたところです。VRAMは16GB中15.6GB、RAMは62GB中45.5GBを使っていました。ここに表示されるVRAM上のエキスパートは713個で、--plan の見積もり(約1,522個)より少なくなっています。
APIで使う
OpenAI互換の /v1/chat/completions とAnthropic互換の /v1/messages で使えます。アドレスとモデルIDは次のとおりです。
| 項目 | 値 |
|---|---|
| OpenAI互換のURL | http://127.0.0.1:8080/v1 |
| Anthropic互換のURL | http://127.0.0.1:8080(/v1 は付けない) |
| モデルID | deepseek-v4.1-flash |
PowerShellの curl.exe で試す場合は、--% を付けると引用符の問題を避けられます。
curl.exe --% -s http://127.0.0.1:8080/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\":\"deepseek-v4.1-flash\",\"reasoning_effort\":\"none\",\"max_tokens\":64,\"messages\":[{\"role\":\"user\",\"content\":\"Say hello in five words.\"}]}"
Windows PowerShell 5.1の Invoke-RestMethod では、日本語の回答が文字化けしました。次のように Invoke-WebRequest で受け取り、UTF-8として読み直すと正しく表示されます。
$body = @{ model = "deepseek-v4.1-flash"; reasoning_effort = "none"; max_tokens = 200; messages = @(@{ role = "user"; content = "日本で一番高い山は?一文で答えてください。" }) } | ConvertTo-Json -Depth 5
$res = Invoke-WebRequest http://127.0.0.1:8080/v1/chat/completions -UseBasicParsing -Method Post -ContentType "application/json; charset=utf-8" -Body ([Text.Encoding]::UTF8.GetBytes($body))
$r = [Text.Encoding]::UTF8.GetString($res.RawContentStream.ToArray()) | ConvertFrom-Json
$r.choices[0].message.content

APIの主な設定は次のとおりです。
- 思考は既定でオンです。オフにするには
reasoning_effort: "none"かchat_template_kwargs.enable_thinking: falseを指定します - 思考の量は
low(50)、medium(62)、high(75、既定)、max(100)、または1〜100の数値で指定します - 思考の内容はレスポンスの
reasoning_contentに入ります - temperatureとtop_pの既定値は、APIではどちらも1.0です
- ツール呼び出しはOpenAIの
tool_callsとAnthropicのtool_useの形式で返ります - 同じ会話を続けるエージェント向けに、前の会話を保存しておき、読み直さずに再開します
コーディングエージェントにつなぐ
モニターの「7 Connect」ではOpenCode、Codex CLI、Claude Codeなどの設定を確認できます。c で設定をコピーし、w でバックアップを取って設定ファイルに書き込み、h でこのサーバーに実際にリクエストを送って確認します。

Claude Codeを選んで h を押すと、プロンプトとツール呼び出しの2つのチェックが成功し、「Passed (2/2)」になりました。今回確認したのはこのチェックまでで、Claude Codeで実際の作業はしていません。
エージェントで使うときは、コンテキストの長さに注意が必要です。Connect画面にはOpenCodeのシステムプロンプトとツールだけで約7.4Kトークンを使うと表示されています。既定の8Kではほとんど余裕がないので、エージェントで使う場合はStep 3か --context で長くします(今回は8K以外を試していません)。Claude Codeでは CLAUDE_CODE_MAX_CONTEXT_TOKENS をサーバーのコンテキスト長に、CLAUDE_CODE_MAX_OUTPUT_TOKENS を4096にするよう案内されます。
止める
モニターで q を押すと、次の確認が表示されます。

「Stop serving and free the memory」を選ぶと、モデルを読み込み解除してメモリを解放します。別のターミナルから止める場合は、次のコマンドです。
strata launch --stop
動作確認と速度の目安
動作確認
リリースノートには、Unsloth版のWindowsでの動作は未テストと書かれています。今回のPCでは次の項目を確認できました。
| 確認した内容 | 結果 |
|---|---|
| 英語の質問(フランスの首都) | 「Paris」と回答 |
| 日本語の質問(日本で一番高い山) | 「富士山です。」と回答 |
| コード(Pythonで文字列を反転する式) | s[::-1] と回答 |
| 思考あり(17×23) | 思考のあとに「391」と回答 |
| 画像入力(赤い画像の色) | 「Red」と回答 |
Anthropic互換の /v1/messages | 正常に応答 |
| ツール呼び出し(OpenAI互換) | get_weather を呼び出し、結果を受け取って回答 |
| ツール呼び出し(Anthropic互換) | tool_use を正しく返却 |
生成速度
Fasterの設定で、思考はオフ、temperatureは0とし、各項目を3回測った中央値です。ほかのアプリも開いたままで計測しました。
| 内容 | プロンプトの長さ | 生成速度 | 最初のトークンまで |
|---|---|---|---|
| 短いチャット | 33トークン | 毎秒6.82トークン | 8.3秒 |
| コード生成 | 87トークン | 毎秒6.32トークン | 18.4秒 |
| エージェント風の会話(1ターン目) | 2,110トークン | 毎秒6.05トークン | 46.8秒 |
| エージェント風の会話(2ターン目以降) | 約2,500〜2,800トークン | 毎秒5.16トークン | 11.6秒 |
チャット画面で試したときの表示は、毎秒5.2〜5.4トークンでした。Qwen3.8-Flash-Next(前回の記事では毎秒約90トークン)と比べると、生成はかなりゆっくりです。241GBのモデルをRTX 5060 TiとRAM 64GBのPCで動かせることが利点で、短い質問やコードの相談なら、読みながら待てる速さでした。
エージェント用途では初回に長いプロンプトを読むので、答え始めるまでに時間がかかります。2ターン目以降は前の会話を再利用するので短くなります。
リリースノートやドキュメントに載っている公式の計測値は次のとおりです。構成が違うので、目安として見てください。
| 環境 | セット | 生成速度(毎秒) | プロンプトの読み込み(毎秒) |
|---|---|---|---|
| Radeon AI PRO R9700×4 | UD-IQ1_S | 48〜88トークン | 1,204〜1,296トークン(4K) |
| RTX A6000×2 | UD-IQ1_M | 41〜82トークン | 304〜415トークン(4K) |
| M5 Max | UD-IQ1_S | 15.4〜18.5トークン | 230〜314トークン(3K) |
| DGX Spark | UD-IQ1_S | 15〜26トークン(コード) | 377〜397トークン(約4K) |
| DGX Spark | UD-IQ1_M | 7.6〜13トークン | 330〜345トークン(約4K) |
| RTX 5070 12GB、RAM 64GB | IST-DAS 2.00bpw | 約4.7トークン | 121トークン(4K) |
最後の行は一般的なPCに近い構成の参考値です。Unsloth版ではなく2.00bpw版の値です。速度はグラフィックカード、RAM、NVMe SSDの性能によって変わります。

コメント