本期课程的老师是安泓郡,西北工业大学博士生,书生·浦源挑战赛冠军队伍队长,第一期书生·浦语大模型实战营优秀学员,主要介绍了LMDeploy工具,用于量化部署大型语言模型(LLM)和垂直领域模型(VLM)。
LMDeploy工具介绍
- LMDeploy功能:LMDeploy是一个用于压缩、部署和提供大型语言模型服务的工具。
- 应用场景:适用于需要高效部署和管理LLM与VLM的场景,特别是在资源受限的环境中。
环境配置
- 开发环境搭建:推荐使用官方提供的
vscode
进行开发,通过conda
创建和激活新的环境。
模型量化
- 设置最大KV Cache缓存大小:理想情况下,KV Cache全部存储于显存,以加快访存速度。当显存空间不足时,也可以将KV Cache放在内存,通过缓存管理器控制将当前需要使用的数据放入显存。
- W4A16量化:介绍了4bit权重量化的方法,降低模型的显存需求。
量化前:
量化后:
服务部署
- 模型转换:将模型转换为TurboMind格式,支持在线转换和离线转换。
- TurboMind推理:介绍了如何使用TurboMind进行本地对话和API服务。
- 网页Demo演示:展示了如何使用Gradio作为前端进行网页Demo演示。
Python代码集成
- Python代码集成运行1.8B模型:可以方便地使用python进行模型推理。
- 向TurboMind后端传递参数:在Python代码中,可以通过创建TurbomindEngineConfig,向lmdeploy传递参数。
总结
本次课程提供了LMDeploy工具的详细介绍和实战部署指南,涵盖了从环境配置到服务部署、模型量化以及最佳实践的全过程。通过这些内容,学员可以学习到如何高效地部署和管理大型语言模型,以及如何通过量化技术优化模型的性能和资源使用。