跳到正文
npaka · AI与游戏开发技术· 来源·· 4 小时前AI 评分68

Project Maya:在 24GB VRAM 上运行 GLM-5.3-Flash 的开源推理引擎

24GB VRAMで GLM-5.3-Flash を動かす Project Maya の概要

正文 · 原文

「Project Maya」の概要をまとめました。

目次

  1. 1. はじめに
  2. 2. Project Mayaの仕組み
  3. 2-1. モデルをVRAM・RAM・SSDに分散
  4. 2-2. Expertキャッシュによる高速化
  5. 2-3. 投機的デコードによる高速化
  6. 3. 対応モデル
  7. 3-1. 対応するLLM
  8. 3-2. 量子化モデル
  9. 4. Project Mayaの推論性能
  10. 5. 必要なPC環境

1. はじめに

ローカルLLMでは、GPUのVRAM容量が大きな制約になります。特に300Bを超えるモデルは、量子化しても一般的なGPUのVRAMだけで動かすのは困難です。

「Project Maya」は、GPU・CPU・RAM・SSDを活用して、300B〜700B級の巨大なMoEモデルを一般的なPCで動かすことを目指したオープンソースの推論エンジンです。

「Strata」をベースに、GLMなどの巨大モデル向けに改良されたもので、MITライセンスで公開されています。

主な特徴は次のとおりです。

・巨大モデルに対応:321B〜748B規模のMoEモデルを実行
・少ないVRAMでも動作:VRAM・RAM・SSDにモデルを分散
・複数GPUに対応:最大16基のGPUを利用可能
・高速化:Expertキャッシュと投機的デコード
・API対応:OpenAI / Anthropic互換APIを提供

2. Project Mayaの仕組み

2-1. モデルをVRAM・RAM・SSDに分散

Project Mayaの特徴は、モデル全体をVRAMへ読み込まず、PC全体のメモリを活用することです。
たとえば「GLM-5.3-Flash」は321B規模のMoE(Mixture of Experts)モデルですが、推論時にすべてのExpertを使用するわけではありません。

Project Mayaは、この性質を利用してモデルを次の3階層に分散します。

・VRAM:頻繁に利用されるExpertを配置
・RAM:VRAMに収まらないExpertを保持
・NVMe SSD:残りのExpertを必要に応じて読み込み

GPUやCPUの性能、メモリ容量などを測定し、PC環境に合わせて配置を調整します。これにより、モデル全体をVRAMに保持できないPCでも巨大モデルを実行できます。

2-2. Expertキャッシュによる高速化

MoEモデルでは、入力に応じて必要なExpertだけが選択されます。

Project Mayaは、よく利用されるExpertをVRAMにキャッシュし、使用頻度の低いExpertをRAMやSSDに配置します。
キャッシュは会話中にも更新されるため、よく使うExpertをVRAMに保持することで、読み込み時間を削減できます。

ただし、RAMに収まらないExpertを頻繁にSSDから読み込む場合は、SSDの速度がボトルネックになります。

2-3. 投機的デコードによる高速化

Project Mayaは、「Speculative Decoding(投機的デコード)」にも対応しています。

これは、複数のトークンを先に予測し、本体モデルでまとめて検証することで生成速度を向上させる技術です。
GLM-5.3-Flashでは、MTP(Multi-Token Prediction)やDFlash2などの仕組みを利用できます。ただし、DFlash2の追加モデルは非商用ライセンスのため、商用利用時には注意が必要です。

効果はモデルやGPU構成によって異なります。

3. 対応モデル

3-1. 対応するLLM

Project Mayaは、主に次の3モデルを対象として開発されています。

・GLM-5.3-Flash:321B、アクティブパラメータ約18B
・DeepSeek-V4.1-Flash-1017:748B
・MiniMax-M3.1-Flash:428B、アクティブパラメータ約23B

それぞれのモデル向けに専用の推論処理が実装されています。

3-2. 量子化モデル

Project Mayaでは、メモリ容量と品質に応じた量子化モデルが提供されています。

主なモデルサイズは次のとおりです。

・GLM-5.3-Flash

・Maya-S:96.5GB
・Maya-S24:94.7GB
・Maya-M:116GB
・Maya-L:156.3GB

・DeepSeek-V4.1-Flash-1017

・Maya-XS:277GB
・Maya-S:340GB

・MiniMax-M3.1-Flash

・Maya-XS:93GB
・Maya-S:122GB

基本的には、量子化の精度を高めるほどモデルサイズが増え、必要なメモリ容量も大きくなります。ただし、実際のメモリ使用量はモデルの配置方法によって異なります。

GLM-5.3-Flashでは、Maya量子化版が元のFP8モデルのゼロショット精度の97.7〜99.2%を維持したと報告されています。ただし、すべてのタスクで同等の品質を保証するものではありません。

4. Project Mayaの推論性能

公式GitHubには、ユーザーによるベンチマーク結果が掲載されています。

GLM-5.3-Flashの生成速度は次のとおりです。

・RTX 5090 32GB × 2 + RTX 4090 48GB × 1:148.6 tokens/s(Maya-S、DFlash2使用)
・RTX 4090 24GB × 4:118 tokens/s(Maya-S24)
・RTX 3090 24GB × 2:53.0 tokens/s(Maya-S24)
・RTX 5090 32GB × 1:30 tokens/s以上(Maya-M)
・RTX 3090 24GB × 1:26.0 tokens/s(Maya-S24)
・RTX 4090 24GB × 1:16.6 tokens/s(Maya-S24)
・DGX Spark × 1:16.5 tokens/s(Maya-S)

特に注目すべきなのは、RTX 3090 24GBを1基とRAM 128GBを搭載したPCでも、321Bモデルを約26 tokens/sで動かしている点です。
複数GPUを利用すれば、100 tokens/sを超える生成速度も報告されています。
ただし、これらはPC構成や量子化方式などが異なる参考値であり、GPUの性能だけでなく、CPU・RAM・SSDなどによって結果が変わります。

5. 必要なPC環境

Project Mayaの主な動作環境は次のとおりです。

・GPU:NVIDIA V100 / RTX 20シリーズ以降など
・VRAM:一律の最低容量はなく、多いほど有利
・RAM:32GBから動作可能。高速化には64〜128GB以上が有利
・CPU:x86-64(AVX2対応推奨)
・ストレージ:高速なNVMe SSD
・OS:Linux、Windows 10 / 11(実験的対応)
・その他:CUDA 12.x、Python 3.10以上など

AMD GPUにも実験的に対応しています。また、Apple Silicon向けのMetalバックエンドも開発されていますが、実際のGLM-5.3-Flashを使用した開発者側の動作検証はまだ完了していません。

5-1. RAM容量とSSDの関係

Project Mayaでは、モデル全体をRAMに保持できなくても、SSDから必要なExpertを読み込んで実行できます。

たとえば、GLM-5.3-FlashのMaya-Sは約96.5GBです。

・RAM 32GB:SSDからの読み込みが多くなる
・RAM 64GB:一部のExpertをRAMに保持できる
・RAM 128GB:Maya-Sのモデル全体をRAMとVRAMに保持しやすく、SSDへのアクセスを減らせる

SSDへのアクセスが少ないほど高速になるため、実用性能を重視する場合はRAMを多く搭載する方が有利です。
モデルの保存に必要なSSD容量は、GLM-5.3-FlashのMaya-Sで約100GB、DeepSeek-V4.1-FlashのMaya-Sで約350GBです。
なお、モデル本体とは別に、KV CacheやOSなどのメモリも必要です。

6. Project Mayaの使い方

Linuxでは、次のコマンドでセットアップできます。

git clone https://github.com/mw00/project-maya.git
cd project-maya
./setup.sh

初回セットアップでは、モデルや量子化方式を選択し、必要なファイルのダウンロードとビルドを行います。

Windowsでは「START-MAYA.bat」を利用できます。

起動後は、次のURLからWeb UIにアクセスします。

http://127.0.0.1:8080

Web UIではチャットに加え、GPU・VRAM・RAMの使用状況やトークン生成速度を確認できます。

ベンチマークとハードウェア調整には、次のコマンドを利用できます。

# ベンチマーク
./maya.sh --bench

# ハードウェアに合わせた調整
./maya.sh --calibrate

7. OpenAI / Anthropic互換API

Project Mayaは、OpenAI / Anthropic互換APIに対応し、ローカルAIサーバーとして利用できます。

OpenAI互換APIのURLは次のとおりです。

http://127.0.0.1:8080/v1

PythonのOpenAI SDKから接続する例です。

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8080/v1",
    api_key="none",
)

model_id = client.models.list().data[0].id

response = client.chat.completions.create(
    model=model_id,
    messages=[
        {
            "role": "user",
            "content": "Pythonでテトリスを作って"
        }
    ],
)

print(response.choices[0].message.content)

Anthropic Messages互換APIにも対応しているため、Claude CodeなどのコーディングエージェントからローカルLLMを呼び出すこともできます。

また、最大8リクエストの並列処理やOpenAI Responses APIにも対応しています。

8. まとめ

Project Mayaは、GPU・CPU・RAM・SSDを組み合わせて、321B〜748B規模の巨大なMoEモデルを動かすAI推論エンジンです。

主な特徴は次のとおりです。

・321B〜748Bの巨大MoEモデルに対応
・ExpertをVRAM・RAM・SSDに分散
・Expertキャッシュと投機的デコードで高速化
・最大16基のGPUを利用可能
・OpenAI / Anthropic互換APIに対応

Strataが125B規模のQwenモデルに注力するのに対し、Project MayaはGLMやDeepSeekなど、さらに巨大なモデルを対象としています。
一般的なGPUでも321Bモデルを実行でき、複数GPUでは100 tokens/sを超える実測例もあります。

「VRAMに収まるモデルを選ぶ」から、「PC全体のリソースで巨大モデルを動かす」へ。

Project Mayaは、ローカルLLMの可能性を広げる注目のオープンソースプロジェクトです。

関連

来源:npaka · AI与游戏开发技术 · note.com