ChibihamChibiham
Qwen3.8-27BをMac miniとRTX 3090で動かしてみた
🤖

Qwen3.8-27BをMac miniとRTX 3090で動かしてみた

Qwen3.8-27BのQ4_K_M量子化版を、M4 Mac miniとRTX 3090搭載の自作PCで動かしてみた。結論から言えば、32GBのMac miniでも128Kコンテキストを確保して問題なく起動できた。ただし生成速度は約5.6 tokens/secで、RTX 3090環境の約40 tokens/secとは大きな差が出た。

この結果は「モデルがメモリに載るか」と「載ったモデルが速く動くか」が別の問題だとよく示している。容量は実行可能性を決め、帯域は主に生成速度を決める。

今回動かしたモデル

対象は公式のQwen3.8-27BをQ4_K_Mへ量子化したGGUF版である。以下では、配布元による数十〜数百MB程度の差を含め、16GB台のQwen3.8-27B Q4_K_Mを同じハードウェアクラスとして扱う。

項目内容
モデルQwen3.8-27B
形式GGUF
量子化Q4_K_M
ファイルサイズ約16.5〜16.8GB
推論エンジンllama.cpp
ベースモデルQwen/Qwen3.8-27B

Q4_K_Mは、すべての重みを機械的に4bitへ丸めるのではなく、重要度に応じて精度を配分するK-quants系の量子化方式だ。27BのBF16重みは約55GBを必要とするが、Q4_K_Mでは16GB台まで小さくなる。32GBのユニファイドメモリへ現実的に載せられたのは、この圧縮のおかげである。

動作環境

Mac mini

項目仕様
機種Mac mini(Mac16,10)
SoCApple M4
CPU10コア(高性能4+高効率6)
GPU10コア
Neural Engine16コア
ユニファイドメモリ32GB
メモリ帯域120GB/s
推論バックエンドMetal
llama.cppNixで導入(build 10408)

Apple SiliconではCPUとGPUが同じユニファイドメモリを共有する。そのため「システムRAMには入るがGPUのVRAMには入らない」という分断がなく、16GB台のモデル全体をMetalへオフロードできた。一方、その32GBはブラウザや通常のデスクトップアプリとも共有する。専用VRAMではないので、残りをすべて推論専用に使えるわけではない。

RTX 3090搭載の自作PC

項目仕様
種別ASUSベースのデスクトップPC
マザーボードASUS TUF GAMING B760M-PLUS D4
BIOS / UEFIVersion 1220(2023-08-03)
CPUIntel Core i7-13700KF
CPU構成16コア / 24スレッド、最大5.4GHz
CPUキャッシュL2 24MiB / L3 30MiB
メモリ64GB(OS認識値62GiB)
GPUNVIDIA GeForce RTX 3090
VRAM24GB(24,576MiB)
VRAM帯域約936GB/s
NVIDIAドライバー595.84
OSUbuntu 24.04.4 LTS(64-bit)
Linuxカーネル6.8.0-138-generic
実行環境ベアメタル
スワップ8GiB
システムストレージFanxiang S101 2T、1.9TiB SATA SSD、ext4/LVM

RTX 3090の24GB VRAMには、16GB台のQ4_K_Mモデルが丸ごと収まる。システムメモリも64GBあるため、GPU専用メモリと普段のアプリが使うメモリを分離できるのがMac miniとの大きな違いだ。

Nixで「必要なときだけ」起動する

Mac miniではllama.cppllama-serverをNix / Home Managerで管理した。設定の正本はnix-configに置き、Mac mini固有設定として次の条件を与えている。

  • Metalへ全レイヤーをオフロード
  • コンテキスト上限は131,072トークン(128K)
  • KVキャッシュのK/VをQ8_0へ量子化
  • Flash Attentionを有効化
  • 並列スロットは1
  • 127.0.0.1:8080でOpenAI互換APIを公開
  • ログイン時には自動起動せず、必要なときだけqwen38 startで起動

自動起動を避けたのは、Mac miniをLLM専用機にはしていないからだ。モデルを読み込んだ状態では当然ながら普段使えるメモリが減る。ブラウザや開発環境を並行利用するなら、常駐させるよりオンデマンドで立ち上げる方が扱いやすい。

OpenAI互換なので、利用側は特殊な実装を必要としない。OpenAI SDKの接続先をローカルへ変えれば、自作ツール、チャットUI、エディタ拡張、エージェントなどから同じ形で呼び出せる。

bash
curl http://127.0.0.1:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "local-model",
    "messages": [{"role": "user", "content": "こんにちは"}],
    "reasoning_effort": "none"
  }'

今回使ったチャットテンプレートは思考モードを標準で開くため、短い通常回答が欲しい場合はreasoning_effort: "none"を指定した。指定しないと、出力予算を内部の思考トークンに使い切ることがある。

実測結果

同じQ4_K_Mモデルを動かしたときの体感差は明確だった。

環境コンテキスト上限生成速度
M4 Mac mini / 32GB8K約5.58 tokens/sec
M4 Mac mini / 32GB128K約5.65 tokens/sec
RTX 3090 / 24GB VRAM128K約40 tokens/sec

Mac miniでは128K設定でモデルのロードに約17秒かかった。短い生成時のメモリプレッシャーはgreenのままで、通常の画面操作もできた。プロセスには約15GBのモデルがマッピングされ、全体としておよそ20GB規模が見えていた。ただし、これは短いプロンプトでの状態である。実際に会話履歴を128K近くまで埋めればKVキャッシュが成長し、メモリ消費とPrefill待ち時間は増える。

2,048トークンの長文生成

短い応答だけでなく、両機へ同じ日本語プロンプトを渡し、2,048トークンを上限まで生成させた。temperature: 0reasoning_effort: none、並列数1で条件を揃えている。

性能測定に使用した実ファイルはQwen3.8-27Bの派生版Q4_K_M(16.81GB)である。正規版由来のQ4_K_M(手元のファイルは16.46GB)との差は約2.1%で、アーキテクチャと量子化クラスは同じだ。そのため本稿では回答内容の比較には使わず、モデルサイズとメモリ帯域に支配されるハードウェア性能の参考値として扱っている。

環境入力出力生成時間平均生成速度
M4 Mac mini / 32GB91 tokens2,048 tokens376.1秒(6分16秒)5.44 tokens/sec
RTX 3090 / 24GB VRAM91 tokens2,048 tokens49.6秒41.30 tokens/sec

速度比は約7.59倍だった。Mac miniは短文時の約5.6から5.44 tokens/sec、RTX 3090は約40から41.30 tokens/secであり、少なくとも2,048トークンまでの連続生成では、出力が長くなったことによる明確な速度低下は見られない。RTX 3090側では別の実行で7,773トークン生成時点にも約40.3 tokens/secを維持していた。

ここで測ったのは長い出力であり、128Kに近い資料を最初に読み込ませる長い入力ではない。今回、最終的に使ったコンテキストは入力と出力を合わせて約2,139トークンにとどまる。長い入力ではPrefill時間とKVキャッシュ容量が別に効くため、「128K全域でも同じ使用感」とまでは結論できない。

また、これは厳密な総合ベンチマークではなく、手元の実運用設定による観測値である。モデル品質、128K近辺の長文Prefill、消費電力、同時実行数まで含めた比較ではない。

なぜ約7倍も違うのか

最初はGPUの演算性能差が主因に見える。しかしLLMのDecodeは、1トークンを生成するたびに重みを読み出すため、演算能力よりメモリ帯域の影響を強く受ける。大まかな上限は次の式で見積もれる。

Code
tokens/sec ≈ メモリ帯域 ÷ モデルサイズ

今回実測した16.8GBモデルで単純計算すると、次のようになる。

環境メモリ帯域理論上限の概算実測
M4120GB/s約7.1 tokens/sec約5.6 tokens/sec
RTX 3090936GB/s約55.7 tokens/sec約40 tokens/sec

帯域比は約7.8倍、実測の速度比は約7.1倍である。もちろん実際にはキャッシュ、カーネル効率、テンソルごとの量子化形式などが入るため式どおりにはならない。それでも、今回の差を説明する一次近似としては驚くほどよく合う。

M4は内蔵GPUとしては広い120GB/sの帯域を持つが、RTX 3090のGDDR6Xは約936GB/sある。「ユニファイドメモリだから速い」のではなく、「CPUとGPUの間でコピーせず、大きな共有領域へモデルを載せられる」のが利点だ。載った後の逐次生成速度は、その共有メモリの帯域上限から逃れられない。

コンテキストを小さくしても速くならなかった

8Kと128Kで短い回答を比較しても、約5.58と5.65 tokens/secでほぼ同じだった。ここで混同しやすいのは、「コンテキスト上限」と「実際に使用中のコンテキスト長」である。

上限を128Kに設定しても、短い会話で128Kぶんの計算を毎トークン行うわけではない。Decodeで毎回読む16GB台のモデル重みも変わらない。そのため、短い生成の速度はほとんど改善しない。

一方、実際の入力が長くなれば事情は変わる。最初の入力を処理するPrefillが重くなり、保存するKVキャッシュも長さに比例して増える。つまりコンテキストを小さくする効果は、主に「最大メモリ使用量を抑える」「長大な入力を許さない」ことであり、短い応答のtokens/secを上げるためではない。

GPT-5.6 Lunaと比べるとどうか

ローカルLLMを新しく構築する価値を考えるには、同程度の用途を安価なクラウドモデルで済ませる場合と比べる必要がある。ここではOpenAIのGPT-5.6 Lunaを比較対象にした。

Luna単体の詳細な公式ベンチマーク値は公開されていない。OpenAIによれば、Lunaは過去のGPT-5ファミリーにおけるnanoティアにおおむね相当する、コスト重視・大量処理向けのモデルである。そのため、以下はLunaそのものではなく、公開値があるGPT-5.4 nanoを位置関係の参考にした比較になる。

ベンチマークQwen3.8-27B(公式BF16)GPT-5.4 nano
GPQA Diamond89.282.8
HLE(ツールなし)30.824.3
SWE-Bench Pro61.752.4

数値だけならQwen3.8-27Bが上だが、評価条件は統一されていない。また、今回動かしたQ4_K_Mは4bit量子化版であり、公式BF16版と同じスコアが出る保証はない。一方のLunaは世代が新しく、nano相当という情報だけからGPT-5.4 nanoと同一性能とも断定できない。したがって「Qwen Q4_K_MとLunaは、用途によって前後する近いクラス」と見るのが安全だと思う。

違いが大きいのは、モデル単体より周辺環境である。Lunaは最大1.05Mトークンのコンテキストを持ち、Web検索、ファイル検索、Code Interpreter、Computer Use、MCPなどを利用できる。ローカルのQwenにもツールを自作して接続できるが、その構築と保守は自分で行う必要がある。

観点Qwen3.8-27B Q4_K_MGPT-5.6 Luna
素のモデル能力同等〜Qwenが上の場面もありうる正確な公開比較はない
応答速度Mac約5.4、RTX 3090約41 tokens/secクラウド側で処理され、ローカル機材に依存しない
ツール利用自前で構築・保守主要ツールを標準利用可能
データ手元から出さずに運用可能APIへ送信する
オフライン利用可能不可
初期費用ハードウェアが必要ほぼ不要
継続費用電気代、故障、更新トークン従量課金

このMac miniからLunaを実測する

比較を推測だけで終わらせず、このMac miniからインターネット経由でLunaのResponses APIを呼び出した。ローカル環境の長文生成テストと同系統の日本語プロンプトを使い、reasoning.effort: none、最大2,048出力トークンで測定した。

非ストリーミング測定では、入力119トークン、出力2,048トークンを19.21秒で処理し、端末から見た実効速度は106.59 tokens/secだった。別のストリーミング測定では、リクエスト開始から最初の本文が届くまでのTTFT(Time to First Token)が2.33秒、受信開始後のストリーム時間が18.58秒、総時間が20.91秒だった。

環境2,048トークン生成時の実効速度Lunaとの速度比
M4 Mac mini5.44 tokens/secLunaが約19.6倍高速
RTX 309041.30 tokens/secLunaが約2.6倍高速
GPT-5.6 Luna(ネットワーク込み)106.59 tokens/sec

Lunaの値には、この端末からOpenAIまでのネットワーク往復とAPI処理待ちが含まれている。それでもRTX 3090より約2.6倍、Mac miniより約19.6倍速かった。最初の文字が届くまでは約2.3秒待つが、その後は毎秒100トークンを超えるため、長文ほど速度差が体感へ強く表れる。

クラウド側の混雑や通信経路で変動する一時点の測定であり、モデルの固定性能値ではない。それでも、「安い代わりにローカルより遅い」というLuna像ではなく、今回の条件では最も安く、最も速い選択肢になった。2回の測定費用は合計約0.005ドル、1ドル159.3円換算で約0.8円だった。

2026年8月時点の構築費用

相場上昇が大きいため、購入当時の価格ではなく、2026年8月28日時点で同等環境を確保する費用を見積もった。出品価格ではなく、可能な限りYahoo!オークション/フリマの直近成約を基準にしている。

M4 Mac mini 32GB

今回の32GB / 256GB構成は発売時15万4,800円だったが、現在の未使用・認定整備済み品の直近成約は20万8,000〜23万2,000円、中心は22〜23万円程度まで上がっている。32GBモデル全体ではストレージ容量やM4 Proを含むため幅が広いが、過去180日の成約平均は21万6,391円だった。

したがって、同じ32GB / 256GB機を現在確保する費用は約22〜23万円と置く。外付けSSD、キーボード、ディスプレイが必要なら別途費用がかかる。

RTX 3090自作PC

RTX 3090+64GBメモリの完成中古PCは、過去180日の個人間成約26件で平均24万2,283円だった。ただし、表示された具体例は主に2026年2〜6月の取引であり、8月末の再調達価格としてそのまま使うには古い。実例もCore i9-10900K〜11900K世代が中心で、今回のCore i7-13700KFより世代が下である。

現在の中古専門店では、Core i9-12900K、64GB、RTX 3090、1TB SSDの自作機が34万980円、Core i9-10850K、64GB、RTX 3090、1TB SSD+2TB HDDのOMENが24万8,000円で掲載され、いずれも在庫切れになっていた。CPU世代、2TB SSD、マザーボード、保証の有無を考えると、今回の構成を今すぐ完成中古として買い直す時価は約34〜40万円と見るのが妥当だと思う。24〜30万円は、保証のない個人間取引で安い個体を待つ場合の価格帯であり、通常の再調達予算にはしない方がよい。

新品はさらに難しい。RTX 3090が現行製品ではなく、流通しているのは少量のデッドストックだからだ。2026年8月時点の新品単体は約20万〜32万円で、直近のAmazon入荷例は29万4,840円だった。ここへi7-13700KF、64GB DDR4、B760Mマザーボード、2TB SSD、1000W電源、ケース、CPUクーラーを足すと、同一世代の部品を新品在庫から集める再調達価格は概ね38〜48万円になる。

現行製品で24GB以上のVRAMを保証付き新品として買う場合は、さらに高い。RTX PRO 4000 Blackwell 24GB、64GB RAM、2TB SSDのBTOは約69万7,800円から、RTX 5090 32GB搭載機は約81万9,800円からである。純粋にQwen3.8-27Bを動かすためだけなら、かなり過剰な投資になる。

選択肢2026年8月時点の概算備考
M4 Mac mini 32GB / 256GB22〜23万円直近の未使用・整備済み成約
RTX 3090+64GB完成中古34〜40万円現在の専門店販売とi7-13700KF世代を考慮
同等RTX 3090機を新品在庫で再構築38〜48万円GPUがデッドストック
現行24GB VRAM新品BTO約70万円〜RTX PRO 4000 Blackwell
現行32GB VRAM新品BTO約82万円〜RTX 5090

Lunaの利用料と比べる

LunaのAPI価格は、100万トークンあたり入力0.20ドル、出力1.20ドルである。2026年8月27日の1ドル約159.3円で換算すると、入力100万トークンが約32円、出力100万トークンが約191円になる。

入力100万+出力100万トークンを一組とすると約223円である。単純にハードウェア価格だけを割ると、22万5,000円のMac miniへ届くまでに入力・出力を各約10億トークン、36万円のRTX 3090中古機なら各約16億トークン使える計算になる。ローカル側の電気代、故障リスク、構築時間を入れれば損益分岐点はさらに遠ざかる。Web検索などのツール料金は別だが、個人利用でこの桁まで到達するケースはまず多くない。

もちろん、すでに所有しているマシンを使うなら初期費用はゼロなので話は変わる。また、外部へ送れないデータ、オフライン要件、API停止に依存しない環境には金額だけでは測れない価値がある。

Mac miniで使う意味はあるか

40 tokens/secを知った後では、5.6 tokens/secはかなり遅く感じる。対話のテンポを優先するならRTX 3090が明確に快適だ。実際に2,048トークンの生成では約50秒と約6分16秒の差になった。長い回答、コード生成、エージェントの反復実行では、この差が積み重なる。

それでもMac miniには別の強みがある。

  • 32GBの共有メモリへ27B Q4モデルを素直に載せられる
  • Metal対応のllama.cppだけで構成が簡潔になる
  • 静音・省スペースな手元のマシンで完結する
  • OpenAI互換APIとして、必要なときだけ既存ツールへ差し込める
  • 入力を外部APIへ送らないローカルファーストAI環境にできる

私の使い分けとしては、Mac miniは「ローカルで試す、機微なテキストを扱う、低頻度にオンデマンド起動する」用途に向く。RTX 3090機は「速度が必要な長文生成や反復処理をまとめて回す」用途に向く。同じモデルが動くからといって、同じ使用感になるわけではない。

しかし、これから機材を買う人については結論が変わる。ローカルLLMを構築する行為そのものへの興味、外部へ出せないデータ、オフライン要件のどれもなければ、まずLunaを使う方が合理的だ。数十万円の初期投資をせず、似た能力帯のモデルと完成済みのツール環境をすぐ使える。ローカルLLMはAPI料金を節約するための商品というより、自分で計算資源とデータ経路を所有するための趣味・研究・インフラだと考えた方が実態に近い。

まとめ

Qwen3.8-27B Q4_K_Mクラスは、32GBのM4 Mac miniで128Kコンテキスト設定まで起動できた。メモリプレッシャーがgreenの範囲で普段の画面操作も並行できたが、生成速度は約5.6 tokens/secである。2,048トークンの長文生成でも5.44 tokens/secを維持した一方、所要時間は6分16秒だった。RTX 3090機は同じ出力を49.6秒、41.30 tokens/secで完了し、差は約7.6倍になった。

この比較から得た一番実用的な見方は、次の二段階で考えることだ。

  1. 容量で、モデルとKVキャッシュが載るかを見る
  2. 帯域で、載ったモデルの生成速度を見積もる

ユニファイドメモリは大きなモデルを扱いやすくするが、専用GPUの高速VRAMと同義ではない。Mac miniで27Bが「動く」のは本当であり、RTX 3090の方が大幅に「速い」のも同時に本当だった。ローカルLLMのハードウェア選びでは、この二つを分けて考える必要がある。

そして、新規購入の判断ではもう一段加わる。2026年8月の時価ではMac mini 32GBでも22万円台、同等のRTX 3090完成中古機を通常の販売経路で買い直すなら34〜40万円程度かかる。Lunaの従量料金はそれに比べて桁違いに小さい。ローカルLLMを構築してみたいという動機が特になければ、Lunaでよい——今回実際に二台へ構築して得た、身も蓋もない結論はこれである。

関連する用語の全体像はローカルLLM推論スタックの語彙集に整理している。

参考