赞
踩
一、大模型部署背景
部署是指把训练好的模型投入使用,一般是服务器(CPU/GPU/TPU)或者移动端。
大模型部署面临挑战:
1. 参数量巨大
大模型参数量巨大,前向推理时需要进行大量计算。根据InternLM2技术报告提供的模型参数数据,以及OpenAI团队提供的计算量估算方法, 20B模型每生成1个token, 就要进行约406亿次浮点运算;照此计算,若生成128个token,就要进行5.2万亿次运算。
2.内存开销巨大
大模型在推理过程中,为避免重复计算,会将计算注意力(Attention)得到的KV进行缓存。根据InternLM2技术报告(1提供的模型参数数据,以及KV Cache空间估算方法[2],以FP16为例,在batch-size为16、输入512 tokens、输出32 tokens的情境下,仅20B模型就会产生10.3GB的缓存。
以FP16为例,20B模型仅加载参数就需40G+显存,175B模型(如GPT-3)更是需要350G+显存。目前,以NVIDIA RTX 4060消费级显卡为例, 单卡显存仅有8GB; NVIDIA A100单卡显存仅有80GB。
3.访存瓶颈
受限于模型架构Transformer的decoder结构,大模型推理是"访存密集”型任务。目前硬件计算速度"远快于”显存带宽,存在严重的访存性能瓶颈。
4.动态请求
大模型的请求量不确定,请求时间不确定,Token逐个生成,生成的数量不确定
二、大模型部署方法
1.模型剪枝
剪枝指移除模型中不必要或多余的组件,比如参数,以使模型更加高效。通过对模型中贡献有限的冗余参数进行剪枝,在保证性能最低下降的同时,可以减小存储需求、提高计算效率。
包括非结构化剪枝和结构化剪枝。
2.知识蒸馏
知识蒸馏是一种经典的模型压缩方法,核心思想是通过引导轻量化的学生模型"模仿"性能更好、结构更复杂的教师模型,在不改变学生模型结构的情况下提高其性能。
3.模型量化
量化技术将传统的表示方法中的浮点数转换为整数或其他离散形式,以减轻深度学习模型的存储和计算负担。
三、LMDeploy简介
LMDeploy由MMDeploy和MMRazor团队联合开发,是涵盖了LLM任务的全套轻量化、部署和服务解决方案。核心功能包括高效推理、可靠量化、便捷服务和有状态推理。
核心功能:模型高效推理、模型量化压缩、服务化部署。
表现:
支持的模型:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。