Skip to content

LRL52/llaisys

Repository files navigation

LLAISYS(Let's Learn AI SYStem)

LLAISYS(Let's Learn AI SYStem)是一个面向 AI System 学习的教育项目,旨在帮助学习者从零构建完整的深度学习推理框架。该项目采用 C++ 实现系统后端并编译为共享库,通过 C 语言 API 暴露核心功能;前端使用 Python 封装,便于测试验证与外部框架交互。LLAISYS 的设计覆盖了张量数据结构、设备内存管理、算子实现、模型推理等完整链路,为理解现代深度学习框架的底层原理提供了绝佳的实践平台。

本项目基于 LLAISYS 框架,实现一个高效的、完整的、基于 GPU 的大语言模型推理系统,算子库用 Triton 自主实现。支持在不依赖 PyTorch 等深度学习框架的情况下完成 Qwen2 模型的端到端推理任务

🚀 快速开始

本项目的测试环境是 python 3.12.12,torch 2.8.0,triton 3.4.0,CUDA 12.8。对于硬件环境,CPU 是 AMD EPYC 7542 CPU(32 cores,2.9 GHz),内存 112 GB,GPU 是 NVIDIA RTX 4090 24 GB。完整环境配置见项目根目录下的 environment.ymlrequirements.txt 文件。

编译与安装

xmake f --nv-gpu=y -cv      # 配置 xmake,启用 GPU 后端支持
xmake -j && xmake install   # 编译并安装 LLAISYS 共享库
pip install ./python        # 安装 Python 前端封装包

算子测试

add 算子为例。

export ENABLE_TRITON=True       # 启用 Triton 支持(必须)
python3 test/ops/add.py --nvidia # 正确性测试(NVIDIA GPU)

推理验证

export ENABLE_TRITON=True       # 启用 Triton 支持(必须)
python3 test/test_infer.py --model /path/to/DeepSeek-R1-Distill-Qwen-1.5B --test --device nvidia

🔍 启用 --test 选项将关闭 Top-p、Top-k 和 Temperature 采样,强制 Hugging Face 使用 ArgMax(贪婪采样),确保与本推理引擎的采样结果严格一致,便于调试与验证。

流式对话

export ENABLE_TRITON=True
# LLAISYS 后端(Triton)
python3 test/test_chat.py --model /path/to/DeepSeek-R1-Distill-Qwen-1.5B \
    --device nvidia --max_steps 1024 --backend llaisys
# PyTorch 后端(可作为对比测试)
python3 test/test_chat.py --model /path/to/DeepSeek-R1-Distill-Qwen-1.5B \
    --device nvidia --max_steps 1024 --backend torch

💡 运行效果

推理验证

3.67

流式对话

3.67

📚 相关资源

About

Let's Learn AI SYStem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •