ExLlama:量子化された重みに対するメモリ効率の高いLlama実装

ExLlama

3.5 | 56 | 0
しゅるい:
オープンソースプロジェクト
最終更新:
2025/10/18
説明:
ExLlamaは、最新のGPU上で4ビットGPTQ量子化重みを使用した高速推論のための、メモリ効率の高いスタンドアロンのPython/C++/CUDAによるLlamaの実装です。
共有:
Llama推論
GPTQ量子化
CUDA
メモリ効率
大規模言語モデル

ExLlama の概要

ExLlama: 量子化された重みに対するメモリ効率の高い Llama 実装

ExLlamaは、最新の GPU で 4 ビット GPTQ の重みを使用する際の速度とメモリ効率のために設計された、Llama のスタンドアロンの Python/C++/CUDA 実装です。このプロジェクトは、特に量子化されたモデルを扱うユーザー向けに、Hugging Face Transformers の実装よりも高速でメモリ効率の高い代替手段を提供することを目的としています。

ExLlama とは?

ExLlama は、Llama ファミリーの言語モデル向けの高性能推論エンジンとして設計されています。GPU アクセラレーションに CUDA を活用し、4 ビット GPTQ 量子化された重みに最適化されており、ユーザーは限られたメモリの GPU 上で大規模言語モデルを実行できます。

ExLlama の仕組み

ExLlama は、いくつかの手法を通じてメモリ使用量と推論速度を最適化します。

  • CUDA 実装: 効率的な GPU 計算のために CUDA を利用します。
  • 量子化サポート: 特に 4 ビット GPTQ 量子化された重み用に設計されています。
  • メモリ効率: 標準的な実装と比較して、メモリフットプリントを削減します。

主な機能と利点:

  • 高性能: 高速な推論に最適化されています。
  • メモリ効率: より低スペックの GPU で大規模モデルを実行できます。
  • スタンドアロン実装: Hugging Face Transformers ライブラリは不要です。
  • Web UI: モデルとの簡単なインタラクションのためのシンプルな Web UI が含まれています (JavaScript は ChatGPT によって書かれているため、注意してください!)。
  • Docker サポート: より簡単なデプロイとセキュリティのために、Docker コンテナで実行できます。

ExLlama の使い方

  1. インストール:

    • リポジトリをクローンします: git clone https://github.com/turboderp/exllama
    • ディレクトリに移動します: cd exllama
    • 依存関係をインストールします: pip install -r requirements.txt
  2. ベンチマークの実行:

    • python test_benchmark_inference.py -d <path_to_model_files> -p -ppl
  3. チャットボットの例の実行:

    • python example_chatbot.py -d <path_to_model_files> -un "Jeff" -p prompt_chatbort.txt
  4. Web UI:

    • 追加の依存関係をインストールします: pip install -r requirements-web.txt
    • Web UI を実行します: python webui/app.py -d <path_to_model_files>

ExLlama を選ぶ理由

ExLlama には、いくつかの利点があります。

  • パフォーマンス: 他の実装と比較して、より高速な推論速度を実現します。
  • アクセシビリティ: GPU メモリが限られているユーザーでも、大規模言語モデルを実行できます。
  • 柔軟性: Python モジュールを介して他のプロジェクトに統合できます。
  • 使いやすさ: モデルと対話するためのシンプルな Web UI を提供します。

ExLlama は誰のためのものか

ExLlama は、以下のようなユーザーに適しています。

  • 大規模言語モデルを扱う研究者および開発者。
  • NVIDIA GPU を使用するユーザー (30 シリーズ以降を推奨)。
  • メモリ効率が高く、高性能な推論ソリューションを求めているユーザー。
  • 4 ビット GPTQ 量子化で Llama モデルを実行することに関心のある人。

ハードウェア要件:

  • NVIDIA GPU (RTX 30 シリーズ以降を推奨)
  • ROCm サポートは理論上は可能ですが、テストされていません

依存関係:

  • Python 3.9+
  • CUDA 11.8 を搭載した PyTorch (2.0.1 および 2.1.0 nightly でテスト済み)
  • safetensors 0.3.2
  • sentencepiece
  • ninja
  • flask と waitress (Web UI 用)

Docker サポート:

ExLlama は、より簡単なデプロイとセキュリティのために、Docker コンテナで実行できます。Docker イメージは NVIDIA GPU をサポートしています。

結果とベンチマーク:

ExLlama は、特に推論中の 1 秒あたりのトークン数 (t/s) の点で、他の実装と比較して大幅なパフォーマンスの向上を示しています。さまざまな GPU 構成で、さまざまな Llama モデルサイズ (7B、13B、33B、65B、70B) のベンチマークが提供されています。

使用例

import torch
from exllama.model import ExLlama, ExLlamaCache, ExLlamaConfig
from exllama.tokenizer import ExLlamaTokenizer

## モデルとトークナイザーを初期化します
model_directory = "/path/to/your/model"
tokenizer_path = os.path.join(model_directory, "tokenizer.model")
model_config_path = os.path.join(model_directory, "config.json")

config = ExLlamaConfig(model_config_path)
config.model_path = os.path.join(model_directory, "model.safetensors")

tokenizer = ExLlamaTokenizer(tokenizer_path)
model = ExLlama(config)
cache = ExLlamaCache(model)

## 入力を準備します
prompt = "The quick brown fox jumps over the lazy"
input_ids = tokenizer.encode(prompt)

## 出力を生成します
model.forward(input_ids, cache)
token = model.sample(temperature = 0.7, top_k = 50, top_p = 0.7)

output = tokenizer.decode([token])
print(prompt + output)

互換性とモデルのサポート:

ExLlama は、Llama 1 や Llama 2 など、さまざまな Llama モデルと互換性があります。このプロジェクトは、新しいモデルと機能をサポートするために継続的に更新されています。

ExLlama は、Llama モデルを効率的に実行したいと考えている人にとって強力なツールです。メモリの最適化と速度に重点を置いているため、研究と実用的なアプリケーションの両方にとって優れた選択肢となります。

"ExLlama" のベストな代替ツール

LM Studio
画像がありません
50 0

LM Studioを使用すると、gpt-oss、Qwen、Gemma、DeepSeekなどのローカルAIモデルを、プライベートかつ無料でコンピュータ上で実行できます。JSやPython SDKなどの開発者向けリソースをサポートしています。

ローカルAI
AIモデルランタイム
Friendli Inference
画像がありません
111 0

Friendli Inference は、最速の LLM 推論エンジンであり、速度とコスト効率が最適化されており、高スループットと低レイテンシーを実現しながら、GPU コストを 50 ~ 90% 削減します。

LLM サービス
GPU 最適化
llama.cpp
画像がありません
103 0

llama.cpp を使用して効率的な LLM 推論を有効にします。これは、多様なハードウェア向けに最適化された C/C++ ライブラリで、量子化、CUDA、GGUF モデルをサポートしています。 ローカルおよびクラウド展開に最適です。

LLM 推論
C/C++ ライブラリ
llm-answer-engine
画像がありません
162 0

Next.js, Groq, Llama-3、Langchain を使用して、Perplexity に触発された AI 回答エンジンを構築します。ソース、回答、画像、フォローアップの質問を効率的に取得します。

AI 回答エンジン
vLLM
画像がありません
151 0

vLLMは、LLM のための高スループットかつメモリ効率の良い推論およびサービングエンジンであり、最適化されたパフォーマンスのためにPagedAttentionと継続的なバッチ処理を備えています。

LLM推論エンジン
Nebius AI Studio Inference Service
画像がありません
155 0

Nebius AI Studio Inference Service は、ホストされたオープンソースモデルを提供し、独自 API よりも高速で安価で正確な推論結果を実現します。MLOps 不要でシームレスにスケールし、RAG や本番ワークロードに最適です。

AI推論
オープンソースLLM
ChatLLaMA
画像がありません
153 0

ChatLLaMA は LLaMA モデルに基づく LoRA 訓練 AI アシスタントで、ローカル GPU でカスタム個人会話が可能。デスクトップ GUI を備え、Anthropic の HH データセットで訓練、7B、13B、30B モデル対応。

LoRAファインチューニング
会話AI
Inweave
画像がありません
142 0

Inweave は、スタートアップとスケールアップ向けに設計された AI 駆動型プラットフォームで、ワークフローを効率的に自動化します。GPT や Llama などのトップモデルを使用して、カスタマイズ可能な AI アシスタントをチャットまたは API で展開し、シームレスな生産性向上を実現します。

ワークフロー自動化
LlamaChat
画像がありません
104 0

LlamaChat は、Mac 上でローカルに LLaMA、Alpaca、GPT4All モデルとチャットできる macOS アプリです。 今すぐダウンロードして、ローカル LLM チャットを体験してください!

ローカルLLM
macOSアプリ
Bakery
画像がありません
282 0

BakeryはAIモデルの微調整と収益化を簡素化します。AIスタートアップ、MLエンジニア、研究者に最適です。言語、画像、動画生成のための強力なオープンソースAIモデルを探索してください。

AIモデルの微調整
AIの収益化
Reflection 70B
画像がありません
203 0

世界をリードするオープンソースAIモデル、Reflection 70Bを体験してください。Reflection-Tuningでトレーニングされ、リアルタイムで推論の間違いを検出し修正するため、複雑なタスクに最適です。

LLM
オープンソース
推論
Featherless.ai
画像がありません
313 0

サーバーをセットアップせずに、HuggingFaceからLlamaモデルをすぐに実行できます。11,900以上のモデルが利用可能です。無制限アクセスで月額10ドルから。

LLMホスティング
AI推論
Reflection 70B
画像がありません
278 0

Reflection 70Bをオンラインで試してみてください。Llama 70Bに基づくオープンソースLLMです。革新的な自己修正により、GPT-4を上回ります。オンライン無料トライアルが利用可能です。

オープンソース言語モデル
AI自己修正
Fireworks AI
画像がありません
348 0

Fireworks AIは、最先端のオープンソースモデルを使用して、生成AI向けの非常に高速な推論を提供します。追加費用なしで独自のモデルを微調整してデプロイできます。AIワークロードをグローバルに拡張します。

推論エンジン
オープンソースLLM