书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践

这篇具有很好参考价值的文章主要介绍了书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

大模型部署背景

部署:将训练好的模型在特定软硬件环境中启动的过程
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
挑战:存储问题
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

LMDeploy简介

针对英伟达平台
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
量化可以节省显存,提升推理速度
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
访问数据占用了大量时间
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
有一部分很重要的参数不量化,保留性能。其余部分量化节约显存
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

动手实践

安装、部署、量化

创建环境

/root/share/install_conda_env_internlm_base.sh lmdeploy

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
安装lmdeploy

# 解决 ModuleNotFoundError: No module named 'packaging' 问题
pip install packaging
# 使用 flash_attn 的预编译包解决安装过慢问题
pip install /root/share/wheels/flash_attn-2.4.2+cu118torch2.0cxx11abiTRUE-cp310-cp310-linux_x86_64.whl
pip install 'lmdeploy[all]==v0.1.0'

服务部署

在线转换

可以直接加载 Huggingface 模型

直接启动本地的 Huggingface 模型

lmdeploy chat turbomind /share/temp/model_repos/internlm-chat-7b/  --model-name internlm-chat-7b

可以在bash中对话
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

离线转换

需要先保存模型再加载

lmdeploy convert internlm-chat-7b  /root/share/temp/model_repos/internlm-chat-7b/

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
模型转换完成后,我们就具备了使用模型推理的条件,接下来就可以进行真正的模型推理环节。

# Turbomind + Bash Local Chat
lmdeploy chat turbomind ./workspace

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

TurboMind推理+API服务

在上面的部分我们尝试了直接用命令行启动 Client,接下来我们尝试如何运用 lmdepoy 进行服务化

”模型推理/服务“目前提供了 Turbomind 和 TritonServer 两种服务化方式。

首先,通过下面命令启动服务。

# ApiServer+Turbomind   api_server => AsyncEngine => TurboMind
lmdeploy serve api_server ./workspace \
	--server_name 0.0.0.0 \
	--server_port 23333 \
	--instance_num 64 \
	--tp 1

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
新开一个窗口,执行下面的 Client 命令。如果使用官方机器,可以打开 vscode 的 Terminal,执行下面的命令。

# ChatApiClient+ApiServer(注意是http协议,需要加http)
lmdeploy serve api_client http://localhost:23333

书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
本地使用SSH连接,并打开 http://localhost:23333/
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

Gradio 作为前端 Demo演示

TurboMind 服务作为后端
# Gradio+ApiServer。必须先开启 Server,此时 Gradio 为 Client
lmdeploy serve gradio http://0.0.0.0:23333 \
	--server_name 0.0.0.0 \
	--server_port 6006 \
	--restful_api True
TurboMind 推理作为后端

Gradio 也可以直接和 TurboMind 连接,如下所示

# Gradio+Turbomind(local)
lmdeploy serve gradio ./workspace

打开http://localhost:6006/
书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

作业

  • 本地对话方式,生成300字小故事
    书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

  • API 方式,生成300字小故事
    书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记
    书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记

  • 网页Gradio方式, 生成300字小故事
    书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践,InternLM大模型,笔记文章来源地址https://www.toymoban.com/news/detail-823977.html

到了这里,关于书生·浦语大模型--第五节课笔记&作业--LMDeploy 大模型量化部署实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《书生·浦语大模型全链路开源开放体系》第五课作业 LMDeploy 的量化和部署

    使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图) 这一部分主要涉及本地推理和部署。我们先看一张图。 我们把从架构上把整个服务流程分成下面几个模块。 模型推理/服务。主要提供模型本身的推理,一般来说

    2024年03月09日
    浏览(42)
  • 《书生·浦语大模型全链路开源开放体系》笔记第五课 LMDeploy 的量化和部署

    首先我们可以使用  vgpu-smi  查看显卡资源使用情况。 可以点击终端(TERMINAL)窗口右侧的「+」号创建新的终端窗口。大家可以新开一个窗口,执行下面的命令实时观察 GPU 资源的使用情况。 结果如下图所示,该窗口会实时检测 GPU 卡的使用情况。 接下来我们切换到刚刚的终

    2024年01月21日
    浏览(39)
  • 书生·浦语大模型开源体系(二)笔记

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年04月09日
    浏览(71)
  • 书生·浦语大模型开源体系(四)笔记

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年04月28日
    浏览(22)
  • 书生·浦语大模型实战营-学习笔记4

    常见的两种微调策略:增量预训练、指令跟随 指令跟随微调 数据是一问一答的形式 对话模板构建 每个开源模型使用的对话模板都不相同 指令微调原理: 由于只有答案部分是我们期望模型来进行回答的内容,所以我们只对答案部分进行损失的计算 增量预训练微调 数据都是

    2024年01月22日
    浏览(33)
  • 书生·浦语大模型实战营-第四课笔记

    期待已久的微调课 增量预训练和指令跟随是两种微调模式,即两种微调策略。   1)增量预训练 投喂新的领域知识即可,例如书籍、文章、代码 2)指令跟随 采用高质量对话和问答数据进行训练 两者是微调的方法,即算法。 xtuner是一种微调框架。

    2024年02月21日
    浏览(40)
  • 【书生·浦语】大模型实战营——第五次课程作业

            除了安装所需依赖之后,重要的是进行模型转化(转换成TurboMind格式),这里需要注意转化命令的具体用法:         运行上述命令后,会在当前目录新建workspace文件夹,里面存放着转化后的权重文件。以开始以为运行命令参数是 l mdelpoy convert  大模型原始路径 

    2024年01月16日
    浏览(33)
  • 【书生·浦语大模型实战】“PDF阅读小助手”学习笔记

    《新版本Lmdeploy量化手册与评测》 项目主页:【tcexeexe / pdf阅读小助手】 在InternStudio平台中选择 A100 (1/4) 的配置,镜像选择 Cuda11.7-conda ,可以选择已有的开发机 langchain ; Note: /home/tcexeexe/data/model/sentence-transformer :此路径来自于make_knowledge_repository.py 以上脚本会生成数据库文

    2024年01月24日
    浏览(33)
  • 书生·浦语大模型全链路开源体系【大模型第2课-笔记】

    1.1 什么是大模型?   大模型通常指的是机器学习或人工智能领域中参数数量巨大、拥有庞大计算能力和参数规模的模型。这些模型利用大量数据进行训练,并且拥有数十亿甚至数千亿个参数。大模型的出现和发展得益于增长的数据量、计算能力的提升以及算法优化等因素

    2024年01月19日
    浏览(86)
  • 书生·浦语大模型实战营第四次课堂笔记

    哈哈到这才想起来写笔记 倒回去看发现要求将不要葱姜蒜换成自己的名字和昵称! 好好好我就是不配玩(换成管理员也不行!) 诶怎么能进这个环境?要进双系统ubuntu? 现在看视频发现原来是我进入成功了,可以接着往下做omygod!!!! 但是 还是看看视频吧 微调是在海量

    2024年01月20日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包