InternLM/lmdeploy项目支持的模型全解析
项目概述
InternLM/lmdeploy是一个高效的大语言模型推理部署框架,提供了TurboMind和PyTorch两种推理引擎,支持多种硬件平台上的模型部署。本文将详细介绍该框架支持的模型类型、量化方式以及在不同硬件平台上的兼容性。
TurboMind引擎CUDA平台支持
TurboMind是lmdeploy的高性能推理引擎,在CUDA平台上支持以下主要模型系列:
主流大语言模型支持
- Llama系列:全面支持Llama、Llama2、Llama3及其变种,覆盖7B到70B参数规模
- InternLM系列:完整支持InternLM、InternLM2、InternLM3等版本
- Qwen系列:支持从1.8B到235B参数规模的多个版本,包括标准模型和MoE架构
多模态模型支持
-
视觉语言模型:
- InternLM-XComposer2/2.5
- Qwen-VL
- DeepSeek-VL
- LLaVA系列
- InternVL系列
-
专业领域模型:
- ChemVLM(化学领域)
- Molmo(分子建模)
量化支持情况
TurboMind引擎提供多种量化方案:
- FP16/BF16:所有主流模型均支持
- KV Cache量化:支持INT8和INT4量化
- 权重量化:支持W4A16(4bit权重+16bit激活)
特殊注意事项:
- 对于应用了window attention的模型(如Mistral、Qwen1.5),需使用PyTorch引擎
- 当模型的head_dim非128时,不支持KV Cache的4/8bit量化
PyTorch引擎CUDA平台支持
PyTorch引擎提供了更广泛的模型兼容性,特别适合研究和小规模部署场景。
扩展模型支持
-
新增模型系列:
- ChatGLM2
- Gemma/Gemma2/Gemma3
- Phi系列(Phi-3/Phi-4)
- StarCoder2
- CogVLM系列
-
增强支持:
- 更全面的Llama4支持
- 更广泛的Qwen系列版本
- DeepSeek系列完整支持
量化能力对比
PyTorch引擎提供:
- 更灵活的W8A8量化支持
- 部分模型支持W4A16量化
- 更全面的KV Cache量化支持
使用建议:
- Mono-InternVL建议使用BF16而非FP16
- LLaVA模型需使用transformers格式版本
昇腾平台支持
lmdeploy对华为昇腾平台提供了专门优化,支持Atlas 800T A2和Atlas 300I Duo等硬件。
关键支持特性
-
计算模式:
- Eager模式:灵活性高
- Graph模式:性能优化
-
模型覆盖:
- 主流Llama系列
- InternLM全系列
- Qwen系列(包括VL版本)
- InternVL系列
-
量化支持:
- FP16/BF16全面支持
- W8A8 graph模式支持
- W4A16 eager模式支持
平台特定限制
- Mixtral 8x7B不支持W8A8和W4A16量化
- QWen1.5-MoE不支持graph模式
- CogVLM2-chat和GLM4V仅支持eager模式
模型选择建议
- 追求性能:优先选择TurboMind引擎+支持的模型
- 需要最新模型:考虑PyTorch引擎的兼容性
- 昇腾平台部署:参考专门的兼容性表格
- 量化需求:根据模型查看具体支持的量化方案
总结
InternLM/lmdeploy框架提供了广泛的模型支持,从7B到235B参数规模的模型都能找到合适的部署方案。开发者可以根据自己的硬件平台、性能需求和模型特性,选择最适合的推理引擎和量化配置。随着项目的持续发展,支持的模型列表和优化能力还将不断扩展。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考