项目地址:GitHub - InternLM/tutoriald
第五节课视频地址:LMDeploy 大模型量化部署实践_哔哩哔哩_bilibili
大模型特点:
· 内存和显存开销大:
参数大:7B模型需要14G内存
缓存大:自回归生成需要Attention的k/v
· 动态shape:batch不固定
· 模型结构简单:Decoder-only, 逐token生成
大模型部署的挑战:
· 设备:移动设备、未联网设备如何部署
· 推理:从输入问题到输出答案,解决token生成、动态shape、高效内存管理等问题
· 服务:server吞吐量,平均响应时长
大模型部署方案
· 技术点: 模型并行、低比特量化、transformer计算和访存优化等
· 方案:huggingface transformer、 lmdeploy、 deepspeed、llama.cpp等
LMDeploy简介
LMDeploy包括了模型的轻量化、推理引擎、服务
LM Deploy在静态和动态推理中性能出色:
LMDeploy核心功能
量化
为什么要做量化:节省显存,容纳更长的token length
提升推理速度:大语言模型是访存密集型任务,量化可以减少访存耗时
推理引擎 TurboMind
· 持续批处理
· 有状态的推理
· 分块(Blocked)k/v cache
· 高性能cuda kernel
持续批处理:
有状态的推理
Blocked k/v cache
高性能cuda kernel