-------------------------------------------------------笔记--------------------------------------------------------------------
本节课主要学习模型部署、模型计算资源简单测算及lmdeploy的使用
1、模型部署定义。
在软件工程中,部署通常指的是将开发完毕的软件投入使用的过程。,在AI领域,模型部署是实现深度学习算法落地应用的关键步骤,就是将训练好的深度学习模型在特定环境中进行运行。
补充知识点:本节课拓展学习了docker、docker composer以及K8S的概念
2、前向推理计算量测算公式及访存的定义。
模型访存量指的是模型在计算时所需访问存储单元的字节大小。它反映了模型对存储单元带宽的需求。通常用Bytes(或者KB/MB/GB)来表示,即模型计算到底需要存/取多少Bytes的数据。
3、知识蒸馏
知识蒸馏(Knowledge Distillation)是一种模型压缩和迁移学习的方法,其核心概念是通过一个性能较好的大模型(通常称为“教师模型”或“Teacher Model”)来指导一个较小模型(通常称为“学生模型”或“Student Model”)的训练,以期达到更好的性能和精度。
4、模型剪枝
5、模型量化
通过模型量化技术,可以将浮点数转化为整数形式,减轻对于浮点数计算的负担。
6、LMDeploy简介
他是一个全套轻量化的模型解决方案,主要功能:模型高效推理,模型量化压缩、服务化部署
支持包括llama qwen baichuan等主流国内外模型
7、API请求模型
我们还可以将大模型封装为API接口服务,供客户端调用,成为一种小程序、小组件
-------------------------------------------------------作业--------------------------------------------------------------------
1、配置 LMDeploy 运行环境
通过命令 conda activate lmdeploy激活环境
2、通过命令行进行对话
lmdeploy chat 1.8B模型后启动模型并进行如下对话
心得:模型给我的答复中发现这个官网打不开。。。
3、通过设置KV缓存减少显存占用,发现显存占用下降明显
lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.5 命令后,显存使用量降至80%
4、以API接口形式命令行调用模型
lmdeploy serve api_client http://localhost:23333
5、以API接口形式借助gradio进行web端展现
知识补充:gradio
Gradio是一个用于创建机器学习模型交互式界面的Python库。Gradio允许用户快速地为机器学习模型构建一个可视化的、易于使用的Web界面,无需编写任何Web前端代码。它支持多种不同类型的输入(如文本、图像、音频等)和输出(如文本、图像、HTML等),并且可以直接在Python脚本中定义这些输入/输出和处理函数之间的关系。
conda activate lmdeploy
lmdeploy serve gradio http://localhost:23333 \
--server-name 0.0.0.0 \
--server-port 6006
ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p <你的ssh端口号>
实现webui形式进行模型对话交互,以后可以通过此方式将大模型作为一个桌面小组件。