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) 和向量化原语来优化矩阵乘法和其他张量运算。它解决了对于中小型 LLM 需要高效、硬件优化的 CPU 推理需求,无需依赖沉重的框架,提供比 Python 实现更显著的加速,并与基于 C 的 代替方案具有竞争力的性能。

Who it’s for

对探索 Mojo 语言在 AI 工作负载的效率感兴趣的开发者和研究人员,以及寻找轻量级、纯 Mojo 实现来在 CPU 上运行 Llama 风格的模型的人。

Highlights

  • High Performance: Boosts Python performance by nearly 250x and outperforms llama2.c and llama.cpp by heavy frameworks, providing a significant speedup over Python implementations and competitive performance compared to C-based alternatives.
  • 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 推理。

相关

  • 项目
  • 项目
  • 项目
  • 项目