tairov/llama2.mojo
Inference Llama 2 in one file of pure 🔥
What it solves
llama2.mojo は、Mojo 言語で記述された Llama 2 推論の高性能実装です。重いフレームワークに依存せず、中規模までの LLM 推論を効率的かつハードウェア最適化された CPU 推論として実現する必要性を解決します。Python 実装よりも大幅に高速化し、C ベースの代替手段と比較しても遜色ないパフォーマンスを提供します。
How it works
このプロジェクトは、M、Mojo の SIMD (Single Instruction, Multiple Data) とベクトル化プリミティブを使用して、行列乗算やその他のテンソル演算を最適化します。永続的なワーカープールを使用してマルチスレッド推論を実行することで、特定の baby-llama モデルにおいて CPU 上で llama2.c や llama.cpp を凌駕する性能を発揮します。
Who it’s for
AI ワークロードにおける Mojo 言語の効率性を探求している開発者や研究者、および CPU 上で Llama スタイルのモデルを軽量かつ純 Mojo で実行するための軽量な実装を探している人々です。
Highlights
\n* High Performance: Python パフォーマンスをほぼ 250 倍にし、マルチスレッド推論において llama2.c を 30% 上回ります。
- Hardware Optimization: Mojo の高度なハードウェアレベルの機能を使用して、CPU 推論を最適化しています。
- Model Support: さまざまな "baby Llama" モデル (stories 260K から 110M) と TinyLlama-1.1B-Chat-v0.2 をサポートします。
- Single File: 純 Mojo による単一ファイルでの Llama 2 推論を実装しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト