1.大模型部署背景
1.模型部署
-定义:
-训练好的模型在特定软硬件环境中启动的过程,使模型能够接收输入并返回预测
结果
-为了满足性能和效率的需求,常常需要对模型进行优化,例如模型压缩和硬件加
速
-产品形态:
-云端,边缘计算端,移动端
-计算设备:
-CPU,GPU,NPU,TPU等
2.大模型特点
-内存开销巨大:
-庞大的参数量。7B模型仅仅权重就需要14+G内存
-采用自回归生成token,需要缓存Attention的k/v,带来巨大的内存消耗
-动态shape:
-请求参数不固定
-token逐个生成,且数量不定
-相对视觉模型,LLM结构简单:
-transformers结构,大部分是decoder-only
3.大模型部署挑战
-设备:
-如何应对巨大存储问题?低存储设备(消费级显卡,手机等)如何部署?
-推理
-如何加速token的生成速度
-如何解决动态shape,让推理可以不间断
-如何有效管理和利用内存
-服务
-如何提升系统整体吞吐量?
-对于个体用户,如何降低响应时间?
4.大模型部署方案
-技术点
-模型并行
-低比特量化
-Page Attention
-transformer 计算和访存优化
-Continuous Batch
-方案
-huggingface transformers
-专门的推理加速框架
-云端
-Imdeploy
-vllm
-tensorrt-llm
-deepspeed
-移动端
-llama.cpp
-mlc-llm
2.LMDeploy简介
1.全流程解决方案
2.推理性能
3.核心功能——量化
4.核心功能-推理引擎TurboMind
5.核心功能-推理服务API server
3.作业
基础作业:使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 、
InternLM-Chat-7B 模型,生成 300 字的小故事(需截图)
1.TurboMind推理+API服务
2.网页 Demo 演示