【ITニュース解説】Run a 48 GB AI Model on a 32 GB Laptop: Janas Streams Model Experts From Your SSD at 37 tok/s
2026年10月13日に「Dev.to」が公開したITニュース「Run a 48 GB AI Model on a 32 GB Laptop: Janas Streams Model Experts From Your SSD at 37 tok/s」について初心者にもわかりやすく解説しています。
ITニュース概要
「Janas」は、PCのメモリ容量を超えるAIモデルを、高速なSSDから直接読み込み、従来の8倍以上速く動かす技術だ。32GBメモリで48GBモデルを実行し、メモリ不足による遅延を防ぐ。大規模AIモデルをローカルで快適に動かす道を拓く。
ITニュース解説
現代のAI、特に自然言語処理を行う大規模なモデルは、非常に多くの情報を学習しているため、そのサイズは数十ギガバイトにも及ぶことがある。しかし、一般的なノートパソコンに搭載されているメモリ(RAM)は、通常8GBから32GB程度だ。ここで問題となるのが、AIモデルがRAMの容量よりも大きい場合、どのようにして効率的に実行するかという点だ。
多くの人が、ダウンロードした巨大なAIモデルのファイルサイズを見て、自分のPCのRAMでは動かせないと諦めたり、無理に実行してPCが極端に遅くなるのを経験したりする。これは、PCがAIモデルのデータ全体をRAMに一度に読み込めないため、必要なデータをその都度、SSDなどのストレージから読み込む必要があるからだ。この処理が頻繁に発生すると、PCは「ページフォールトの嵐」と呼ばれる状態に陥り、データの読み書きで手一杯になり、AIモデルの応答速度が著しく低下してしまう。まるで、本棚から必要な本を探すたびに、一度に持てる本の量が決まっているために、何度も本棚と机を往復するようなものだ。
このような課題を解決するために「Janas」という新しい言語モデルエンジンが登場した。Janasは、わずか32GBのRAMを搭載したノートパソコンで、48GBというRAM容量を大きく超える大規模なAIモデルを、非常に高速に実行できると主張している。具体的には、Qwen3-Next-80Bという48.4GBのモデルを、秒間37トークンという速度で生成できたという。これは、既存の主要なAIモデル実行ツールである「llama.cpp」が同じ環境で秒間2.8トークンしか出せなかったのと比較すると、約8.5倍もの速度向上だ。
では、なぜ従来の方式では遅かったのだろうか。オペレーティングシステム(OS)には、メモリマッピング(mmap)という機能があり、これを使えばファイルの一部をRAMのように扱える。llama.cppのようなツールもこの機能を利用している。しかし、モデルのサイズがRAM容量の2倍程度になると、この方式は限界を迎える。OSはファイル上のどの部分がAIモデルにとって本当に重要なのかを知らないため、手当たり次第にページ(データの小さな塊)をRAMに読み込んだり、不要だと思ってRAMから追い出したりする。結果として、AIモデルが必要とするデータがRAMにないたびに、OSはSSDからそのデータを読み込み直すことになり、これが「ページフォールトの嵐」となって、推論処理がディスクの読み書き待ちで停止してしまうのだ。
特にMixture-of-Experts(MoE)モデルと呼ばれる種類のAIモデルでは、この問題はさらに深刻になる。MoEモデルは多数の「エキスパート」と呼ばれる小さな専門家モジュールで構成されており、AIが1つのトークン(単語や文字の断片)を生成する際には、その中からごく一部のエキスパートしか使わない。しかし、既存のmmap方式では、使われない大部分のエキスパートのデータもRAMに読み込まれてしまう可能性があるため、無駄な処理が増えてしまう。ボトルネックは、単にモデルを読み込むことではなく、「必要な部分だけを素早く読み込むこと」にあるのだ。
Janasは、この「必要な部分だけを素早く読み込む」という問題に正面から取り組むことで、劇的な速度向上を実現した。その仕組みは、いくつかのシンプルな工夫に基づいている。
まず、モデルの重み(AIの学習データ)はSSDに置いたままにする。Janasはモデル全体をRAMにロードすることはせず、専用の.jns形式に変換されたファイルをNVMe SSDに保存し、そこから必要な「エキスパート」の重みだけを直接読み出す。このとき、OSのページキャッシュを完全にバイパスする「O_DIRECT」という特別な方法を用いる。これにより、OSが勝手にページの読み書きを管理してパフォーマンスを低下させることを防ぎ、Janas自身が効率的にデータを制御できる。
次に、頻繁に利用されるエキスパートはメモリにキャッシュする。Janasはモデルを実行しながら、どのエキスパートが繰り返し使われているかを把握し、それらをRAM内の専用キャッシュに保持する。さらに、JanasはPCの起動時にそのPCのメモリやスレッド数などの性能を測定し、その情報に基づいて最適なキャッシュサイズやスレッド数を自動で設定する。これにより、PCのリソースを最大限に活用できるのだ。
また、グラフィック処理を行うGPUも活用する。統合型GPUを搭載したPCでは、Janasはプロンプト(AIへの指示文)の処理にGPUを使用する。プロンプト処理は並列計算の恩恵を受けやすいため、GPUを使うことで高速化を図る。一方、トークン生成に必要なエキスパートの重みはSSDからストリーミングする形をとる。もしGPUを使いたくない場合は、設定でCPUのみの動作にすることも可能だ。
さらに「ドラフトトークン」という技術で待ち時間を隠す工夫もしている。これは、まず小さなモデルを使って次のいくつかのトークンを予測し、「ドラフト(下書き)」を作成する。そして、本物の大規模モデルはそのドラフトが正しいかどうかをまとめて検証する。これにより、本物のモデルが一つ一つのトークンを生成するよりも高速にテキストを生成できるようになる。この技術により、Qwen3-Next-80Bモデルのテキスト生成速度は、秒間24トークンから37トークンに向上した。
実際に、Janasの開発者が所有するIntel Core Ultra 9 185Hプロセッサ、32GB DDR5 RAM、5.7GB/sの読み出し速度を持つ1TB NVMe SSDを搭載したDebian 13のノートパソコンでのテストでは、48.4GBのQwen3-Next-80Bモデルのプロンプト読み込み速度は秒間62トークン、テキスト生成速度は秒間24トークン(ドラフトなし)を記録した。これは、llama.cppと比較して読み込みで約4倍、書き込みで約8.5倍の高速化となる。RAM容量に収まる小さいモデルでも、Janasはllama.cppより速い場合が多い。llama.cppの場合、RAMを超えるモデルではメモリ不足で動作しないこともあり、特殊な設定をしないと実行すらできなかったという。
Janasと同様にディスクストリーミング機能を備えたプロジェクトは他にもあるが、Janasの最大の違いは、OS任せではなく、ハードウェアの性能を測定し、どのエキスパートをRAMに保持するかをJanas自身が積極的に管理する点にある。この違いが、ベンチマークにおける顕著な性能差を生み出していると推測される。
Janasはまだ開発の初期段階であり、実験的なプロジェクトだ。コマンドラインのオプションが頻繁に変更されたり、テスト環境が特定のIntel製ラップトップのみに限定されている点には注意が必要だ。AMD製のCPUや、NVIDIA・AMDなどのディスクリートGPU、速度の遅いSSDなど、異なるハードウェアでの性能はまだ検証されていない。また、利用できるモデルも、Janas用に変換された特定のモデルに限られているため、自分の使いたいモデルがすぐに利用できるとは限らない。Janasはシステムに高い負荷をかける設計のため、PCに十分な余裕がないと動作が不安定になる可能性もある。
しかし、もしあなたが高速なNVMe SSDを搭載したPCを持っており、RAM容量を超える大規模なAIモデルを動かしたいと考えているなら、Janasは試す価値のある技術だ。特に、プライバシー保護やインターネット接続がない環境でのAI利用、あるいは大規模なAIモデルを安価に運用したい場合に、その可能性は大きい。モデルがRAMに完全に収まる場合は、安定性と汎用性で先行するllama.cppを使うのが賢明だろう。
このJanasの登場は、「PCで実行するには大きすぎる」とされていたAIモデルの定義が変わりつつあることを示唆している。これまではRAMの容量が大きな壁だったが、これからはSSDの読み書き速度がその壁になるかもしれない。高速なNVMe SSDはRAMに比べて安価に入手できるため、これはより多くの人が大規模なAIモデルをローカルで動かせるようになることを意味する、非常に重要な進歩と言えるだろう。