ekzhang/resin

🧱 Experimental library for building inference engines

解决的问题

Resin 为想要创建自定义 LLM 推理引擎的开发人员提供了一组底层构建块。与“一体化”推理引擎不同,它允许您为新型模型或特定硬件构建专用系统,而无需受限于预打包的解决方案。

工作原理

Resin 将推理过程分为两部分:高性能的 Rust“引擎”和特定于模型的运行器。Rust 引擎处理繁重的工作——例如批处理调度、缓存的内存管理以及指标——而您则将前向传播(实际的模型逻辑)编写为针对特定硬件优化的内核。这种模块化设计允许您为 CUDA、PyTorch 或 Apple Silicon (MLX) 插入不同的运行器,同时使用相同的核心调度逻辑。

适用对象

该项目面向希望实验或优化 LLM 推理系统的开发人员和研究人员。它不适用于一般生产环境;如果您需要可直接使用的生产引擎,作者建议使用 vLLM 或 SGLang 等现有工具。Resin 专门面向那些希望在推理上进行“黑客式”开发、开发新模型支持或在自定义硬件上突破性能极限的人。

亮点

  • 模块化架构:将批处理调度器与特定模型的前向传播解耦。
  • 高性能核心:包括基于 Rust 的调度器、基于 slab 的缓存池,并支持推测解码。
  • 硬件无关:支持多种后端,包括 CUDA(带图支持)和 Apple Silicon(通过 MLX)。
  • 性能工具:内置基准测试、性能分析以及“自动研究”工作流,帮助诊断瓶颈并验证性能改进。
  • 灵活部署:包括可选的 HTTP 服务,兼容 OpenAI 和 Anthropic 等常见 API。

相关

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