大模型部署背景
模型部署:人工智能算法的落地,将训练好的模型放置在特定的环境中运行的过程。
部署场景
- 服务器端:CPU部署、GPU/TPU/NPU部署、多卡/集群部署
- 移动端、边缘段:手机等
大模型部署面临的挑战
- 计算量巨大
- 内存开销巨大:模型参数、attention-KV缓存
- 访存瓶颈:数据交换
- 动态请求:请求量、请求时间、生成数量不确定
大模型部署方法
- 模型剪枝(Pruning):对模型的冗余参数进行剪枝,保证性能最低下降的同时减少参数量
1)非结构化剪枝
2)结构化剪枝:保留原始模型结构 - 知识蒸馏(Knowledge Distillation):使用参数量较少的模型拟合参数量大的网络,使模型通过更少的参数量达到更好的效果
- 量化(Quantization):在对模型应答效果影响不大的基础上,损失表示精度,将浮点数量化为其它形式
- 能减轻模型存储和计算负担,并降低访存量
- 量化感知训练(QAT)、量化感知微调(QAF)、训练后量化(PTQ)
LMDeploy:全套轻量化部署解决方案
核心功能
- 模型高效推理:LLaMa结构模型的支持、continuous batch推理模式、可扩展的KV缓存管理器
- 模型量化压缩
- 服务化部署:提供API接口以实现快捷的服务化部署