世界を動かす技術を、日本語で。

HNに表示: Macで4.3GBのRAMを使って80BのQwenを実行し、iPhoneで35Bを実行する

2026年8月4日原文(github.com)

概要

  • Swiftlet はAppleデバイス(Mac/iPhone)で Qwen3.6-35B/80B モデルを動作可能にするSwift+Metalランタイム
  • Mixture-of-Experts(MoE) のストリーミング実装で、RAM消費を大幅削減しつつ大規模モデルを実現
  • Priv AIアプリ やCLI、OpenAI互換サーバー、ライブラリとして利用可能
  • Metalによる高速推論 と、ストレージからのオンデマンド読み込みによる効率化
  • オープンソース (Apache 2.0)、iPhone 17でも動作確認済み

SwiftletによるQwen3.6-35B/80BのAppleデバイス上での動作

  • Swiftlet は、 Qwen3-Next および Qwen3.5/3.6 MoEハイブリッドモデル のためのSwift+Metalランタイム
  • モデルの小さな 密結合コアのみをRAM常駐専門家(Experts)重みはストレージからストリーミング読み込み
  • これにより、 35Bモデルは18GBディスク/2.6GB RAM/7-11 tok/s (M5 Mac)、 80Bモデルは42GBディスク/4.3GB RAM/4.5-5 tok/s で動作
  • iPhone 17 でも 約2.5GB RAM/1 tok/s で35Bモデルが動作
  • ANEMLL による397B MoEのiPhone 17 Pro上動作も参考事例

インストール・利用手順(Mac)

  • リポジトリをクローン
    • git clone https://github.com/leonickson1/Swiftlet.git && cd Swiftlet
    • swift build -c release
  • モデルコンテナのダウンロード
    • 35B: .build/release/swiftlet-repack --from-hf Leonickson/Qwen3.6-35B-A3B-qpack --output ~/models/qwen3.6-35b.qpack
    • 80B: .build/release/swiftlet-repack --from-hf Leonickson/Qwen3-Next-80B-A3B-qpack --output ~/models/qwen3-next-80b.qpack
  • チャット起動例
    • .build/release/swiftlet chat ~/models/qwen3.6-35b.qpack "Who wrote One Hundred Years of Solitude?"
  • ワンショット生成
    • .build/release/swiftlet generate ~/models/qwen3.6-35b.qpack --gpu --chat --prompt "Explain expert streaming in one paragraph."
  • OpenAI互換サーバー起動
    • .build/release/swiftlet-server --model ~/models/qwen3.6-35b.qpack --port 8080
  • 要件 :Apple Silicon、macOS 14+またはiOS 17+、十分なSSD空き容量(35B:18GB/80B:42GB)

iPhoneでの利用方法

  • Priv AIアプリ (App Store)内で35Bモデルをダウンロードして利用
    • 設定→Experimental Models→モデルダウンロード
    • ストレージからストリームし、完全オンデバイス動作
    • 最新版アプリで利用可能(App Store審査中の場合あり)
  • 自分でビルドも可能
    • leonickson1/localLLMリポジトリをクローンし、swiftletを隣に配置
    • Xcodeでプロジェクトを開き、iPhone上で実行

仕組みと特徴

  • 各トークンごとに約3Bパラメータのみ活性化
    • 80B: 各層で512人中10人のエキスパートにルーティング
    • 35B: 256人中8人のエキスパートにルーティング
  • 常駐部分 :attention、DeltaNet投影、ルーター、共有エキスパート、埋め込みなど
    • 35B: 約1.3GB(4bit量子化時)、80B: 約2.5GB
  • 専門家重みは.qpackコンテナで固定ストライド配置
    • 1エキスパート読み出し=SSDからのpread一回
    • mmapやページキャッシュのスラッシング無し
  • キャッシュ :LFU+再利用性でホットエキスパートを管理
    • キャッシュヒット率43~70%でも速度ほぼ変わらず(SSDがミスを吸収)
  • Metalで推論全体を実行
    • ランタイムコンパイル型シェーダー採用
    • iOSとmacOSで同じコードが動作
  • Gated DeltaNet線形attention によりKVキャッシュ増加無し
    • 長文でもメモリ消費が安定

利用方法のバリエーション

  • Swiftパッケージ :macOS/iOSアプリにSwiftletCoreを追加し、チャット・ストリーミング等が利用可能
  • CLIツールswiftlet chatswiftlet generateでローカル対話・ベンチマーク
  • OpenAI互換サーバー :ローカルモデルをOpenAI API形式で利用可能
  • iOSアプリ :Priv AIがSwiftletCoreをエンジンとして利用

正確性・検証

  • 各層ごとにmlx-lmリファレンス実装と検証
    • f32/int4量子化両方で検証
    • MetalカーネルはCPUリファレンスと一致確認
  • コンテナは元チェックポイントとバイト単位で一致
  • ストリーミング配置はモデル意味論に影響なし
  • swift testでテスト可能

TurboFieldfareとの関係

  • TurboFieldfare はGemmaモデル向け、SwiftletはQwenハイブリッド向け
  • 専門家ストリーミング・キャッシュ戦略 等はTurboFieldfareの設計から着想
  • アーキテクチャやMetalカーネル、.qpack設計、チャット層等はSwiftlet独自実装

ライセンス・注意点

  • Swiftlet本体はApache 2.0ライセンス
  • モデル重みは別途ダウンロード・個別ライセンス(Qwen: Apache 2.0)
  • 詳細はTHIRD_PARTY_NOTICES.md参照

Hackerたちの意見

これクールだけど、今ってNANDバーナーのバイブコーディングしてる感じ?デコード時間だけじゃ全体の話は分からないよね。プリフィルがボトルネックになるし、M5で1万トークン処理するのに30分って…あんまり良くない気がする。

コーディングやリアルタイムエージェントのやり取りにはあんまり向いてないけど、夜間のバックグラウンド処理タスクには結構良さそうだね。

こうやって進歩が起こるんだよね。誰かが3t/sに到達すると、次の人が6t/sに行って、最終的には100t/sに到達する。こういう人たちが基盤を築いてるんだ。

実用的じゃないセットアップを批判したい気持ちも分かるけど、これが進歩の過程なんだよね。みんなが頑張って、ハードドライブの負担を減らしたり、もっと速く動かしたり、カスタムハードウェアバスを作ったりする方法を見つけると思う。頑張れ!個人的には、1Tパラメータのモデルが$200のSSDで動く日が待ち遠しいよ。$50kのNvidiaチップのラックじゃなくてね。

ハハ、$50kで1Tはちょっと希望的すぎるかもね、FP8でも。でも、僕も希望は持ってるよ。

ほとんどの人は、基本的に何でもインターネットに頼るのに慣れてるよね。せいぜい、飛行機に乗るときに少しエンタメをダウンロードするくらいで、着陸したらそのオフラインのデータはすぐに忘れちゃうし。さらに、LLMは大きい小さいに関わらず、高度に並列化できる。つまり、同じマシンやGPUで多くのリクエストを並行して処理する方が、はるかに効率的なんだ。トークン毎の合計が、どんな単一ユーザーの使用ケースよりも遥かに大きくなる。これら二つを考えると、LLMが「十分良い」状態に達しない限り(未定)、99%以上のLLMの使用は中央サーバーに集中するだろうと予想してるよ。(ローカルLLMの使用ケースがあることや、進展が重要であることは否定しないけどね。)

Appleがafm3で目指してることみたいだね。彼らの最新モデルはmacOS 27に組み込まれる予定で、量子化された密な20Bで、プロンプトに基づいて1〜4Bの間で選択するんだ。トークンごとじゃなくてね。もし100Bか400Bの密なモデルが、5Bから15Bを選べるようになったら…

これで、すべてのスクリプトキディが神話を持ってハッキングや詐欺をする必要がなくなるんだね。その時は思ってるほど楽しくないと思うよ。

これには同意する。やる気のあるアマチュアが手を出すと、進歩が一気に加速するからね。チェスの計算なんかでもそうだったし、過去数十年の進展は、ニューラルネットワークを使う前からも、ソフトウェアの改善のおかげで実現したんだ。問題が身近になったからこそ、ハードウェアが速くなっただけじゃない。AIでも似たような傾向があると思う。200GB/s未満のメモリ帯域幅と60GB未満のRAMで、そこそこの人間並みの能力が得られるようになると期待してるよ。10年か20年後には、「プロシューマー」向けのトレーニングも少しは現実的になるといいな。

でも、これが進歩の仕方なんだ。木に登っている男が月に到達するために進歩しているのと同じように、これが進歩なんだ。このプロジェクトは、ある意味でその日のMoEで、プラットフォーム関連の最適化が施されている。 > 頑張れ!個人的には、1tパラメータのモデルが$200のSSDで動く日を待ちきれないよ。$50,000のNvidiaチップのラックじゃなくてね。それは起こらないだろうけど。こういうプロジェクトは、そういうことが可能になるという幻想を与えるだけだね。

物理的な限界があるんだ。計算をしなきゃいけない。知能に必要な計算が少なくなるか、もしくは知能を少なく受け入れるかのどちらかだ。でも、特定のハードウェアでできることには限界があるよ。

ハードドライブを装着してるのか。読み取りでnvmeは劣化するの?確か、書き込みだけだったよね。

Hacker Newsで議論の続きを見る