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
該專案利用 Mojo 的 SIMD (Single Instruction, Multiple Data) 和向量化原語來優化矩陣乘法和其他張量運算。它使用持久的執行緒池來進行多執行緒推論,使其在 CPU 上針對特定 baby-llama 模型表現優於 llama2.c 和 llama.cpp。
Who it’s for
對探索 Mojo 語言在 AI 工作負載中的效率感興趣的開發者和研究人員,以及尋找輕量級、純 Mojo 實現來在 CPU 上運行 Llama 風格的模型的人。
Highlights
- High Performance: Boosts Python performance by nearly 250x and outperforms
llama2.cby 30% in multi-threaded inference. - Hardware Optimization: Specifically optimized for CPU inference using Mojo's advanced hardware-level features.
- Model Support: 使用各種 "baby Llama" 模型 (stories 260K 到 110M) 和 TinyLlama-1.1B-Chat-v0.2。
- Single File: 使用單一 Mojo 檔案實現 Llama 2 推論。
相關
- 專案
- 專案
- 專案
- 專案