Skip to content

Latest commit

 

History

History
290 lines (199 loc) · 6.61 KB

File metadata and controls

290 lines (199 loc) · 6.61 KB

Rust License

vLLM-lite 路线图

高效、易用的 LLM 推理引擎 · 基于 Rust + Candle


📊 总体进度

Phase 名称 状态
1 核心推理引擎 ✅ 已完成
2 生成质量 ✅ 已完成
3 I/O 优化 ✅ 已完成
4 性能优化 ✅ 已完成
5 生产就绪 ✅ 已完成
6 多模型支持 ✅ 已完成
7 API 完善 ✅ 已完成
8 安全与监控 ✅ 已完成

✅ Phase 1: 核心推理引擎

功能 描述
Continuous Batching 连续批处理,动态调度
Paged KV Cache 分页 KV 缓存,LRU 淘汰
Prefix Caching 前缀缓存 (完整匹配 + 前缀命中)
Speculative Decoding 投机解码架构

✅ Phase 2: 生成质量

2.1 Beam Search

  • Beam Search 实现
  • Beam size 配置
  • Length penalty
  • Early stopping

2.2 Sampling 增强

  • Temperature 控制
  • Top-K Sampling
  • Top-P (Nucleus) Sampling
  • Repeat Penalty

2.3 多候选

  • 多候选结果返回
  • 候选评分

✅ Phase 3: I/O 优化

3.1 流式输出

  • Server-Sent Events (SSE)
  • 首 Token 快速返回
  • 流式 Tokenizer

3.2 Tokenizer 集成

  • HuggingFace Tokenizer
  • TikToken 支持
  • tokenizer.json 加载

3.3 请求验证

  • 最大 Token 限制
  • Prompt 长度验证
  • Min/Max tokens 验证

✅ Phase 4: 性能优化

4.1 量化支持

  • FP16 支持
  • INT8 Weight-Only 量化
  • INT8 KV Cache
  • 量化校准工具

4.2 计算优化

  • Flash Attention 框架
  • Tiled Attention
  • CUDA Graph 框架

4.3 调度优化

  • Prefill/Decode 分离 (PD 分离)
  • Chunked Prefill
  • 动态 Batch Size
  • 优先级调度

4.4 分布式

  • 多 GPU 张量并行
  • Pipeline 并行 🚧
  • 分布式 KV Cache 🚧

✅ Phase 5: 生产就绪

5.1 监控

  • Metrics 收集 (/v1/stats)
  • Prometheus 导出 (/metrics)
  • Grafana Dashboard
  • 延迟/吞吐量追踪

5.2 日志

  • 结构化日志 (JSON)
  • 日志级别控制
  • 请求 ID 追踪

5.3 可靠性

  • 健康检查 (/health)
  • 就绪检查 (/ready)
  • 优雅关闭
  • 请求超时
  • 错误重试

5.4 配置管理

  • CLI 参数 (--config=)
  • 配置文件 (YAML)
  • 环境变量
  • 配置验证

✅ Phase 6: 多模型支持

6.1 支持的模型

模型 架构 状态
Qwen2.5-0.5B GQA + RoPE
Qwen3-0.6B GQA + RoPE + QK-Norm
DeepSeek-R1-8B GQA + MoE
Qwen3.5-0.8B (Mamba) Mamba SSM + Attention
Llama GQA + RMSNorm
Mistral Sliding Window + GQA
Gemma4 Hybrid Attention
Mixtral Sparse MoE (8 experts)

6.2 模型特性

  • tie_word_embeddings 支持
  • q_norm / k_norm 支持
  • RoPE YARN scaling
  • 自定义 head_dim 支持

6.3 架构注册系统

  • Architecture trait 动态抽象
  • ArchitectureRegistry 注册表
  • 新架构 3 步添加流程
  • 每个架构独立模块和测试

6.4 模型管理

  • --model CLI 参数
  • 模型热插拔 (通过 CLI 参数)
  • 模型版本管理 (通过 HF Hub)

✅ Phase 7: API 完善

7.1 OpenAI 兼容 API

  • /v1/chat/completions
  • /v1/completions
  • /v1/embeddings
  • Streaming 支持

7.2 Batch API

  • POST /v1/batches - 创建任务
  • GET /v1/batches - 列出任务
  • GET /v1/batches/:id - 查询状态
  • GET /v1/batches/:id/results - 获取结果

7.3 运维端点

  • /health - 健康检查
  • /metrics - Prometheus 指标
  • /shutdown - 关闭服务

✅ Phase 8: 安全与监控

8.1 认证与安全

  • API Key 认证 (Bearer token)
  • Rate Limiting (per-key)
  • 请求验证

8.2 监控

  • Prometheus 指标
  • 延迟/吞吐量追踪
  • 调度器指标

8.3 日志

  • 结构化日志
  • 请求 ID 追踪

: TLS/SSL、多租户隔离、审计日志等企业特性由外部组件处理 (nginx、监控系统)


✅ Phase 9: 架构重构 (2026-04-19)

功能 描述 状态
Cargo.toml 优化 tokio features 精确化, release profile 优化
Feature Flags cuda/gguf/real_weights 可选
共享组件层 attention, mlp, norm, positional 子模块
TransformerBlock 基类设计, 支持组合模式
core→model 解耦 vllm-core 对 vllm-model 可选依赖
文档完善 ADR, SPEC 更新

成果

  • 代码行数: ~800+ 行重复代码移除
  • 组件目录: 4 个新子模块 (attention, mlp, norm, positional)
  • Feature Flags: 4 个新可选特性
  • 测试数: 849 tests pass

详细设计: docs/superpowers/specs/2026-04-19-architecture-refactor-design.md


🔮 长期愿景

目标 描述 状态
🚧 更多模型架构支持 新架构可快速添加
🚧 移动端/边缘部署优化 依赖轻量级后端
🚧 WebAssembly 支持 依赖 WASM 编译目标
🚧 在线微调接口 未来规划

架构扩展性

新的模型架构只需 3 步即可添加:

// 1. 创建 arch.rs
pub struct NewModel;
impl Architecture for NewModel { ... }

// 2. 创建 register.rs
pub fn register(registry: &ArchitectureRegistry) {
    registry.register::<NewModel>();
}

// 3. 更新 register_all_archs()
registry::register::<NewModel>(registry);

详细文档: docs/superpowers/specs/2026-04-18-multi-model-architecture-design.md


🤝 贡献指南

欢迎贡献!请查看 CONTRIBUTING.md 了解如何参与。


MIT License