第一部分:LMDeploy知识
从大模型部署的背景、部署方法、以及实际部署中面临的挑战,包括计算量、内存开销、仿存瓶颈和用户请求不确定性等问题入手,通过LMDeploy环境部署、LMDeploy模型对话(chat)、LMDeploy模型量化(lite)、LMDeploy服务(serve)、Python代码集成、LMDeploy运行视觉多模态大模型llava、定量比较LMDeploy与Transformer库的推理速度差异了解实践量化部署大模型。
视频学习请戳:LMDeploy 量化部署 LLM-VLM 实践_哔哩哔哩_bilibili由西北工业大学博士生、书生·浦源挑战赛冠军队伍队长、第一期书生·浦语大模型实战营优秀学员【安泓郡】带来【LMDeploy 量化部署 LLM&VLM实战】课程讲解课程文档:https://github.com/InternLM/Tutorial/blob/camp2/lmdeploy/README.md课程作业:https://github.com/InternLM/Tutorial/blo, 视频播放量 4234、弹幕量 7、点赞数 97、投硬币枚数 50、收藏人数 105、转发人数 33, 视频作者 OpenMMLab, 作者简介 构建国际领先的计算机视觉开源算法平台 | 小助手:OpenMMLabwx 微信公众号同名,相关视频:Lagent & AgentLego 智能体应用搭建,【训练自己的Llama 3】迄今为止最强大的开源大语言模型Llama3微调-量化-部署一条龙详解!LLM、Meta AI,吴恩达大模型系列教程:2024吴恩达LLM大模型教程,手把手带你实现大模型预训练和模型微调,中英字幕(附学习课件),OpenCompass 大模型评测实战,这也太全了!llama3如何做下游应用?llama3微调-量化-部署-应用全学会!绝对的通俗易懂!大模型/环境配置/知识库检索,这讲解太适合小白了!【llama3微调、部署、量化、下游应用、知识库检索】全都讲到了!含配套代码,草履虫都能学会!—llama3、llama3应用、项目实战,都发布一个月了【还不会微调Llama3吗】!迪哥十分钟带你微调-量化-部署-应用一条龙解读!草履虫都能学会!!!,LMDeploy 大模型量化部署实践,大模型时代必学!吴恩达大佬出的【langchain+RAG】教程可太适合学习了!中英字幕,13讲全!—大模型、吴恩达大模型教程,丝滑!没想到只花了两个小时就搞定了【langchain+RAG】课程!真的太赞了,优质课程分享给大家一起学习进步!—吴恩达、大模型课程、多模态大模型、人工智能https://www.bilibili.com/video/BV1tr421x75B/
实践学习请戳:GitHub - InternLM/Tutorial at camp2LLM Tutorial. Contribute to InternLM/Tutorial development by creating an account on GitHub.https://github.com/InternLM/Tutorial/blob/camp2/
明了易懂的量化部署实践:
LMDeploy模型量化:
主要包括 KV8量化和W4A16量化。
- 计算密集(compute-bound): 指推理过程中,绝大部分时间消耗在数值计算上;针对计算密集型场景,可以通过使用更快的硬件计算单元来提升计算速度。
- 访存密集(memory-bound): 指推理过程中,绝大部分时间消耗在数据读取上;针对访存密集型场景,一般通过减少访存次数、提高计算访存比或降低访存量来优化
设置最大KV Cache缓存大小
KV Cache是一种缓存技术,通过存储键值对的形式来复用计算结果,以达到提高性能和降低内存消耗的目的。
W4A16量化
LMDeploy使用AWQ算法,实现模型4bit权重量化。
LMDeploy服务架构图
第二部分:基础作业
1.配置LMDeploy运行环境
1.1创建开发机
1.2创建conda环境
1.3安装LMDeploy
2.LMDeploy模型对话(chat)
2.1Huggingface与TurboMind
HuggingFace社区的模型通常采用HuggingFace格式存储,简写为HF格式.
TurboMind推理引擎仅支持推理TurboMind格式的模型。因此,TurboMind在推理HF格式的模型时,会首先自动将HF格式模型转换为TurboMind格式的模型。
2.2下载模型
2.3使用Transformer库运行模型
2.4使用LMDeploy与模型对话
第三部分:进阶作业
1.设置KV Cache最大占用比例为0.4,开启W4A16量化,以命令行方式与模型对话
2.以API Server方式启动 lmdeploy,开启 W4A16量化,调整KV Cache的占用比例为0.4,分别使用命令行客户端与Gradio网页客户端与模型对话。
2.1命令行对话
2.2.Gradio网页客户端
3.使用W4A16量化,调整KV Cache的占用比例为0.4,使用Python代码集成的方式运行internlm2-chat-8b模型
3.1运行1.8b模型
3.2向TurboMind后端传递参数
4.使用LMDeploy运行视觉多模态大模型llava gradio demo
4.1安装依赖
4.2执行文件
4.3图生文
4.4Gradio运行llava模型