Home
Login
SJTU-IPADS/PowerInfer

PowerInferは、ローカル環境での展開に特化した高速な大規模言語モデル推論エンジンです。スパースアクティベーションとCPU/GPUハイブリッドアーキテクチャを活用し、コンシューマーグレードのハードウェアで高速なLLM推論を実現します。

MITC++ 8.2kSJTU-IPADS Last Updated: 2025-02-19
https://github.com/SJTU-IPADS/PowerInfer

PowerInfer - 高速大規模言語モデル推論エンジン

プロジェクト概要

PowerInferは、上海交通大学IPADS研究所が開発した高速大規模言語モデル(LLM)推論エンジンで、単一のコンシューマーグレードGPUを搭載したパーソナルコンピュータ向けに設計されています。このプロジェクトの中核となる革新は、LLM推論に固有の高い局所性を利用し、パワーロー分布のニューロン活性化パターンを通じて推論性能を最適化することです。

プロジェクト背景

従来のLLM推論は、特にコンシューマーグレードのハードウェアに大規模モデルをデプロイする場合、膨大な計算量とメモリの課題に直面しています。PowerInferは、ニューラルネットワークの活性化パターンを詳細に分析することで、重要な洞察を発見しました。それは、少数の「ホット」ニューロンがすべての入力で継続的に活性化され、大多数の「コールド」ニューロンが特定の入力に応じて変化するということです。

コア技術原理

ホット/コールドニューロンメカニズム

PowerInferの設計は、以下のコアとなる観察に基づいています。

  • ホットニューロン: すべての入力で継続的に活性化される少数のニューロン
  • コールドニューロン: 特定の入力に応じて変化する大多数のニューロン
  • パワーロー分布: ニューロンの活性化はパワーロー分布パターンに従う

GPU-CPUハイブリッドアーキテクチャ

ホット/コールドニューロンの特性に基づいて、PowerInferは革新的なハイブリッド推論戦略を採用しています。

  • GPU: ホット活性化ニューロンをプリロードし、高速アクセスを実現
  • CPU: コールド活性化ニューロンを計算し、GPUメモリの必要量を大幅に削減
  • インテリジェントスケジューリング: CPU-GPU間のデータ転送オーバーヘッドを大幅に削減

コア機能特性

🚀 高性能推論

  • 速度: 平均トークン生成速度は13.20 tokens/sに達し、ピーク時には29.08 tokens/sに達する
  • 性能比較: llama.cppと比較して最大11.69倍の性能向上
  • ハードウェア効率: RTX 4090での性能は、サーバーグレードのA100 GPUよりもわずか18%低い

🧠 インテリジェント最適化技術

  • 適応予測器: ニューロン活性化予測を動的に最適化
  • ニューロン感知型スパース演算子: 計算のスパース性を効率的に最適化
  • 局所性中心設計: スパース活性化特性を最大限に活用

🔧 使いやすさと互換性

  • 簡単な統合: 一般的なReLUスパースモデルと互換性あり
  • ローカルデプロイメント: コンシューマーグレードのハードウェア向けに高度に最適化
  • 後方互換性: ほとんどのllama.cppの使用方法をサポート

サポートするモデル

現在サポートされているモデルシリーズ

モデルシリーズ パラメータ規模 特性
Falconシリーズ 40B ReLU活性化関数最適化
Llama2シリーズ 7B/13B/70B 全シリーズサポート
ProSparse Llama2 7B/13B ~90%のスパース性、性能はオリジナル版に近い
Bambooシリーズ 7B 最高の性能と速度を両立

モデル形式

PowerInferは、専用のPowerInfer GGUF形式を使用します。

  • LLM重み
  • 予測器重み
  • 活性化統計情報

技術アーキテクチャ

システム設計

┌─────────────────┐    ┌─────────────────┐
│   ホットニューロン       │───▶│      GPU        │
│  (継続的活性化)      │    │   (高速アクセス)     │
└─────────────────┘    └─────────────────┘
                              │
                              ▼
┌─────────────────┐    ┌─────────────────┐
│   コールドニューロン       │───▶│      CPU        │
│  (条件付き活性化)      │    │   (柔軟な計算)     │
└─────────────────┘    └─────────────────┘

コアコンポーネント

  1. 活性化予測器: ニューロン活性化パターンをインテリジェントに予測
  2. メモリマネージャー: GPU/CPUメモリ割り当てを最適化
  3. スパース演算子: スパース計算を効率的に処理
  4. スケジューラー: 計算タスクをインテリジェントに割り当て

プラットフォームサポート

テスト済みプラットフォーム

  • Linux: AVX2命令セットを備えたx86-64 CPU、NVIDIA GPUをサポート
  • Windows: AVX2命令セットを備えたx86-64 CPU、NVIDIA GPUをサポート
  • macOS: Apple Mシリーズチップ(CPUのみ、性能向上は限定的)
  • AMD GPU: ROCmを通じてサポート

ハードウェア要件

  • CPU: AVX2命令セットをサポートするx86-64プロセッサ
  • GPU: NVIDIA RTXシリーズまたはAMD GPU(オプション)
  • メモリ: モデルサイズに応じて異なる
  • ストレージ: モデルファイルを保存するのに十分なスペース

性能ベンチマークテスト

RTX 4090性能

モデル PowerInfer llama.cpp 加速比
Falcon-40B 11.2 tokens/s 1.0 tokens/s 11.2x
Llama2-70B 8.1 tokens/s 2.7 tokens/s 3.0x
Llama2-13B 24.8 tokens/s 8.9 tokens/s 2.8x

RTX 2080Ti性能(INT4量子化)

モデル PowerInfer llama.cpp 加速比
Falcon-40B 6.8 tokens/s 0.85 tokens/s 8.0x
Llama2-70B 5.2 tokens/s 1.7 tokens/s 3.1x

インストールと使用

環境要件

  • CMake (3.17+)
  • Python (3.8+) と pip (19.3+)
  • CUDAツールチェーン(NVIDIA GPUを使用する場合)

基本的なインストール

git clone https://github.com/SJTU-IPADS/PowerInfer
cd PowerInfer
pip install -r requirements.txt

# NVIDIA GPU
cmake -S . -B build -DLLAMA_CUBLAS=ON
cmake --build build --config Release

# CPU only
cmake -S . -B build
cmake --build build --config Release

モデルのダウンロード

# huggingface-cliを使用してモデルをダウンロード
huggingface-cli download --resume-download --local-dir ReluLLaMA-7B \
  --local-dir-use-symlinks False PowerInfer/ReluLLaMA-7B-PowerInfer-GGUF

推論の実行

# 基本的な推論
./build/bin/main -m ./ReluLLaMA-7B-PowerInfer-GGUF/llama-7b-relu.powerinfer.gguf \
  -n 128 -t 8 -p "Once upon a time"

# VRAMの使用制限
./build/bin/main -m ./ReluLLaMA-7B-PowerInfer-GGUF/llama-7b-relu.powerinfer.gguf \
  -n 128 -t 8 -p "Once upon a time" --vram-budget 8

最新の更新と開発

技術革新

  1. PowerInfer-2: モバイル端末向け最適化バージョン、スマートフォンで11.68 tokens/sを実現
  2. TurboSparse: 低コストのスパース化技術、性能を維持しながらパラメータを大幅に削減
  3. Bamboo LLM: 性能と速度を両立した自社開発モデルシリーズ

アプリケーションシナリオ

適用可能なシナリオ

  • 個人用AIアシスタント: ローカルにプライベートAIアシスタントをデプロイ
  • 企業内アプリケーション: データプライバシーを保護する社内AIサービス
  • 研究開発: 迅速なプロトタイプ開発とモデルテスト
  • エッジコンピューティング: リソースが限られた環境にLLMをデプロイ
  • 教育研究: 大規模モデル推論技術の学習と研究

利点と特徴

  • プライバシー保護: すべての計算がローカルで完了
  • 費用対効果: コンシューマーグレードのハードウェアで優れた性能を実現
  • 簡単なデプロイメント: 複雑な分散システム構成は不要
  • 迅速な応答: 低遅延のローカル推論

技術比較

vs. 従来の推論エンジン

特性 PowerInfer 従来のエンジン
ハードウェア要件 コンシューマーグレードGPU サーバーグレードGPU
メモリ効率 ハイブリッドCPU/GPU フルGPUロード
推論速度 11.69倍の向上 ベンチマーク性能
コスト 低コスト 高コスト

vs. llama.cpp

  • 性能: 最大11.69倍の速度向上
  • メモリ: より効率的なメモリ利用
  • ハードウェア: より優れたCPU/GPU連携
  • 互換性: ほとんどのllama.cpp機能をサポート

技術原理の詳細

スパース性の利用

PowerInferの中核は、ニューラルネットワークのスパース性を深く利用することです。

  1. 活性化パターン分析: 大量のデータ分析を通じて、ニューロン活性化のパワーロー分布を発見
  2. 予測メカニズム: 軽量な予測器を使用してニューロン活性化状態を予測
  3. 動的スケジューリング: 予測結果に基づいて計算リソースを動的に割り当て

メモリ最適化戦略

  • 階層型ストレージ: ホットデータはGPUに、コールドデータはCPUに保存
  • プリフェッチメカニズム: 必要になる可能性のあるデータをインテリジェントにプリフェッチ
  • 圧縮技術: コールドデータを圧縮して保存

開発と貢献

オープンソースライセンス

PowerInferはオープンソースライセンスを採用しており、コミュニティからの貢献を歓迎します。プロジェクトは、問題のフィードバックと機能の提案を積極的に受け入れています。

開発チーム

  • 上海交通大学IPADS研究所: 主な開発チーム
  • 清華大学THUNLP: ReLUスパースモデルのサポート
  • オープンソースコミュニティ: 継続的な貢献と改善

学術的影響

関連する研究論文が発表されており、大規模言語モデル推論最適化の分野に重要な理論的基盤と実践的指導を提供しています。

まとめ

PowerInferは、大規模言語モデルのローカル推論技術における大きなブレークスルーを代表しています。革新的なホット/コールドニューロンメカニズムとCPU/GPUハイブリッドアーキテクチャを通じて、コンシューマーグレードのハードウェアでサーバーレベルに近い推論性能を実現することに成功しました。