🔁 llama.cpp MoE、複数専門家とキャッシュの追跡

🔁 前回の続き: 続・llama.cpp MoE、構築とオフロードの分岐を追う

「もしllama.cppがMoEで複数の専門家を活かしたら」。hacker newsにそんな問いかけが小さく流れました[1]。MoEは、複数の専門家ネットワークを切り替えて計算するモデル構造です。反響は1ポイント、コメント0と控えめです。しかし話題の中心は移っています。モデルを大きくするより、推論時にどの専門家を選ぶかです。ローカル実行で人気のllama.cppが、専門家選択とメモリ分担の入口になりつつあります。

まず構築面です。LLaMA-MoEは、LLaMAのFFN(各層で変換を担う部分)を専門家へ分割する方針です[2]。分割は疎に行います。つまり全部ではなく、使う一部だけを動かします。各層にはtop-Kゲートを挿入します[2]。上位K個の専門家だけを選ぶ振り分け役です。継続事前学習には、Sheared LLaMAの動的バッチ読み込みやSlimPajamaのデータが使われます[2]。flash attention-v2(高速化した注意計算の仕組み)も組み込まれています[2]。注目は活性パラメータが3.0〜3.5Bに抑えられた点です[2]。総パラメータではなく、実際に動く部分の重さを示します。

作り方の選択肢も細かく開かれています[2]。専門家の分け方には、Random(無作為)やClustering(まとまり単位)といった系統と、ニューロンを共有する系統が並びます[2]。ゲートもTopK Noisy GateとSwitch Gatingを使い分けます[2]。専門家の使用バランスや学習の進み具合を示す監視項目も多数そろっています[2]。動くモデルを配るだけでなく、試行錯誤の計器まで揃えた設計です。READMEには必要な環境と読み込み手順が載っています[2]。モデル名はLLaMA-MoE-v1-3_5B-2_8です[2]。数値をbfloat16という16ビットの形式で、CUDA(GPU計算の基盤)へ送る例も示されています[2]。生成例は「Suzhou is famous of」から庭園の話へ続く文章で、MoEが動くことの確認に留まります[2]。

推論側では、llama.cppを土台にMoE向け最適化を積む動きがはっきりしています。jklincn/llama.moeは、動的専門家オフロードを載せた軽量フレームワークです[3]。オフロードは、重みをCPUとGPUで分担して置く方式です。使い方はllama.cppの標準サーバーと同じで、zilongに置き換えるだけと説明されています[3]。ビルドにはC++の開発環境やCUDAが必要です[3]。検索結果にも同じGitHubが並び、注目度を示しています。

Hugging Faceの解説記事は、ローカルMoEをCPU推論で回しつつ、GPU加速で性能を確保する道筋を示します[4]。ただし抜粋だけでは、具体的な速度差は読み取れません。shawnmayzesの解説は、専門家オフロードの調整方法です[5]。専門家の重みをCPUに置く量を指定するフラグ(–n-cpu-moe)と、GPUへ流す単位を制御するストリーミングが説明されています[5]。DocShotgunのgistも、大規模MoEでの推論性能最適化の指針をまとめています[5]。

面白いのは、オフロードが単純なCPU/GPU分担で終わらない点です。moe-hotcacheは、ホット専門家適応キャッシュを掲げています[5]。よく使う専門家だけを速い場所に置き、使われない専門家へのアクセスを絞る発想です。MoEでは、トークンの内容次第で選ばれる専門家が変わります。だからキャッシュの当たり外れが、推論速度に直結します。この種のオプション設計が、実運用の安定性を左右しそうです。

ただし素材には実測値がありません。TPSやprefill(応答生成前の読み込み処理)速度、消費電力の数値は見つかりませんでした。LLaMA-MoEの3.0〜3.5Bは、あくまで活性パラメータです[2]。zilongがCUDA前提なのも、ローカル環境の制約です[3]。hnの議論は1ポイントで、結論はまだ出ていません[1]。実態は、hnの小さなスレッドより、実装リポジトリの細かな項目を試した結果から読み取れます。つまり「MoEが軽い」は、専門家選択とキャッシュ設計が整って初めて効く話です。

結局、llama.cpp MoEの現在地は「モデルを載せる」から「専門家を選ぶ」へ移ったように見えます。LLaMA-MoEが構築の型を示し、zilongがllama.cpp互換の入口を作り、hotcacheが実行時の賢さを探っています[2][3][5]。オフロードの調整やストリーミングも、そのための調整弁です[5]。次の注目点は、どの環境で何トークン/秒出るかではなく、どの専門家キャッシュ戦略が安定するかでしょう。その答えは、llama.cpp本体と周辺リポジトリの差分に現れそうです。

引用ソース

  1. Hacker News Hacker News: If llama.cpp enables MoE to activate multiple experts — https://www.openai-hub.com/news/1924/

    If llama.cpp enables MoE to activate multiple experts

  2. Web記事 記事全文: GitHub – pjlab-sys4nlp/llama-moe: ⛷️ LLaMA-MoE: Building Mixture-of … — https://github.com/pjlab-sys4nlp/llama-moe

    📢 A SMALLER AFFORDABLE MoE MODEL FOR EVERYONE!!
    LLaMA-MoE is a series of open-sourced Mixture-of-Expert (MoE) models based on LLaMA and SlimPajama. We build LLaMA-MoE with the following two steps:
    – Partition LLaMA’s FFN

  3. Web記事 記事全文: GitHub – jklincn/llama.moe: Optimized inference of MoE models based on … — https://github.com/jklincn/llama.moe

    A lightweight inference framework for Mixture-of-Experts (MoE) models, built on top of llama.cpp with dynamic expert offloading.
    sudo apt update
    sudo apt install build-essential cmake ccache libcurl4-openssl-dev ninja-bu

  4. Web記事 Web検索: Performant local mixture-of-experts CPU inference with GPU acceleration … — https://huggingface.co/blog/Doctor-Shotgun/llamacpp-moe-offload-guide

    Performant local mixture-of-experts CPU inference with GPU acceleration …

  5. Web記事 Web検索: llama.cpp's MoE Expert Offload: –n-cpu-moe and Streaming, Explained — https://www.shawnmayzes.com/ai-engineering/llama-cpp-moe-expert-offload-explained/

    llama.cpp's MoE Expert Offload: –n-cpu-moe and Streaming, Explained

  6. Web記事 Web検索: GitHub – ap03906101/moe-hotcache: Adaptive hot-expert caching for MoE … — https://github.com/ap03906101/moe-hotcache

    GitHub – ap03906101/moe-hotcache: Adaptive hot-expert caching for MoE …

  7. Web記事 Web検索: Guide to optimizing inference performance of large MoE models across … — https://gist.github.com/DocShotgun/a02a4c0c0a57e43ff4f038b46ca66ae0

    Guide to optimizing inference performance of large MoE models across …

※ 本記事はAIにより、Reddit・Hacker News・5ch・Xトレンドの公開投稿・トレンドを軸に、その話題をWeb検索で深掘りして集めた一次情報(記事全文・HNコメント)を併せて自動生成されました。本文中の[n]は末尾の引用ソース番号です。内容の正確性は保証されません。引用先を必ずご確認ください。

関連記事

CALENDAR

2026年11月
日 月 火 水 木 金 土
1234567
891011121314
15161718192021
22232425262728
2930  

ARCHIVES

CATEGORIES