首页 > 其他分享 >线上跑chatGLM实践

线上跑chatGLM实践

时间:2024-03-13 22:16:01浏览次数:25  
标签:项目 python 模型 端口 实践 线上 chatGLM pip 运行

预先准备

本笔记为参加DataWhale的线上学习——进行GLM、SD部署
在完成驱动云平台注册后,免费获得168算力金,使用免费算力金进行ai平台部署

在平台内进行部署
https://platform.virtaicloud.com/

项目服务器配置

创建项目后,选择添加镜像
在此选择PyTorch 2.0.1 Conda 3.9的镜像
通过选择官方已配置好的镜像可以直接省去不必要的环境安装问题

其次选择模型,选择了公开的ChatGLM3-6B模型,获得了预处理好的模型
image
在此之后,选择运行代码,再选择自身的配置
image
此前我也了解过python,电脑算力,CPU、GPU,但是这个价格对比和上述的比喻,确实非常直观的给了我针对算力的认识
而再创建好配置并运行后,就能开始进行内部环境的配置

内部环境配置

在项目内部,打开终端,进行环境配置
实话说环境配置一直是计算机的一大问题,为了一个项目的运行需要确定各式各样的环境,确认各种各样的依赖项,同时还要做出兼容性的适配工作,幸好在本项目重torch与conda已经获得,大大减少了环境安装的困难
但是仍然需要安装一定必要的内容

1. 安装并更新unzip,为后续解压进行准备

apt-get update && apt-get install unzip

2. 设置镜像源并更新pip,方便后续gitclone项目与下载依赖项

git config --global url."https://gitclone.com/".insteadOf https://
pip config set global.index-url https://pypi.virtaicloud.com/repository/pypi/simple
python3 -m pip install --upgrade pip

3. 克隆项目并进入

git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3

这一步不知道是我前面镜像源输入错误,还是网络在我配置的时候出现了问题,反复出现网络连接失败的问题,提示github连接不上,而我在纯终端上查看配置的指令不够熟练,最终也没去查证
但是最后重新建立一个项目后,问题得到解决了

4. 修改requirements

这是一步减少不必要操作的一项
在requirements中存放了所有python需要的依赖库
其实我头一次通过requirements进行库一键下载,先前我见到大项目时以为requirements是给人参考python环境,指导安装,第一次使用指令一键下载

pip install -r requirements.txt
pip install peft

其次还额外安装了一个peft包,好像是一个用于大模型参数微调fine-tuning的包

修改python代码并运行

1. 修改web_demo_gradio内的设定

image
文件夹内的文件名与参考教程的不大统一,可能是由于ChatGLM在近期的github上进行了修改,无妨,找到对应需要修改的地方进行改正
image
image
修改了加载模型的路径,与最终模型运行的方式
主要是由于在本项目内模型存放的相对位置,与最终运行的端口发生了改变

2. 添加项目的外部端口

为了能从本地进行模型的访问,还要在项目进行端口设置
按道理来讲,我们其实是先需要设置端口,在对上面运行方式进行修改,填上我们申请端口的port与name

3. 运行gradio界面

cd basic_demo
python web_demo_gradio.py

将位置切换到basic_demo目录并运行py代码
最后运行gradio项目,从外部进行访问,这次部署任务就圆满完成了
image
在其中还可以进行一些内容的微调,想必之前引入peft包就是为此吧

streamlit

其次还有流平台方式的ChatGLM,修改与运行区别不大,只是要指定端口
这个端口好像没在py文件内定义

streamlit run web_demo_streamlit.py --server.port 7000

这里就不再赘述其他内容了

总结

这一次学习还是毕竟轻松愉快的,内容简单,我熟悉python,熟悉命令行指令,也熟悉一些模型相关的知识,修改内容也不难
有一种轻松涨知识的感觉,浅尝了一下部署模型的内容,后续还会更新部署SD,和自己选的ai部署,再学几天

标签:项目,python,模型,端口,实践,线上,chatGLM,pip,运行
From: https://www.cnblogs.com/mirage-021/p/18071652

相关文章

  • # Java网络编程入门与实践:构建简单的Socket通信应用
    导言随着互联网的不断发展,网络编程在软件开发领域中变得愈发重要。本文将引导您进入Java网络编程的世界,通过简单而实用的Socket通信实例,帮助您理解网络编程的基本概念和技术。让我们一起动手,构建一个简单的客户端-服务器应用程序,并进行实际的编码练习。1.Java网络编程基......
  • Java 异常处理与正则表达式详解,实例演练及最佳实践
    Java异常-Try...Catch在Java代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。当错误发生时,Java通常会停止并生成错误消息,这个过程称为抛出异常。try...catch语句try语句允许您定义一段代码块,并在其中测试是否发生错误。catc......
  • Node+Vue毕设高校实践活动管理平台(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在全面提升学生实践能力和创新精神的当代教育背景下,高校实践活动成为了教学体系中不可或缺的一部分。这些活动包括社会实践、科研实践、志愿服务、技能培训......
  • 【DataWhale学习】用免费GPU线上跑StableDiffusion项目实践
    用免费GPU线上跑SD项目实践​DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而SD我前两天刚跟着B站秋叶大佬和Nenly大佬的视频学习过......
  • 线上机器 swap 过高导致告警
    哈喽大家好,我是咸鱼。今天收到了一个告警,说有台服务器上的swap过高,已经用了50%以上了。登录机器查看一下内存以及swap的使用情况。[root@localhost~]#free-htotalusedfreesharedbuff/cacheavailableMem:62G27G2.9......
  • 探索机器学习:从基础概念到应用实践
    简介随着科技的迅速发展,机器学习成为了当今科技领域的热门话题之一。它不仅在学术界蓬勃发展,而且在工业界和商业领域也广泛应用。但对于许多人来说,机器学习究竟是什么?它又如何影响我们的日常生活?在本文中,我们将深入探讨机器学习的定义、原理、算法以及应用实践。什么是机器学习......
  • 记一次线上超时问题处理
    背景上午前端业务部同事突然反馈系统某个功能无法使用,并且配上了截图于是着手处理问题分析1、英文的意思概括下来就是接口超时,60秒没有拿到响应结果,超时报错2、本地连上生产环境重现了问题,发现是sql问题,执行很慢,一个计数sql执行了35s,有点离谱3、查看执行计划,有两次全表扫......
  • 【转载】LSTM、BiLSTM讲解及实践+GRU讲解
    原文链接:https://blog.csdn.net/dl962454/article/details/102999067分类专栏: 深度学习 文章标签: LSTM 神经网络文章目录1、普通RNN和LSTM2、LSTM原理讲解3、细胞状态及LSTM的三个控制门3.1细胞状态(LSTM关键)3.2遗忘控制门3.3输入控制门3.......
  • ChatGLM3本机部署
    环境配置参照官方说明,创建虚拟python环境,并安装所需部署包。说明https://github.com/THUDM/ChatGLM3/blob/main/composite_demo/README.md本地模型加载1、先按照官方指引,将模型下载在本地。2、修改模型加载地址。MODEL_PATH和TOKENIZER_PATH,都修改注意:通过修改client.py......
  • SD-WAN最佳实践方案
    推荐-SD-WAN技术学习资料合集.zip华为SD-WAN金融行业最佳实践资料合集.zipSD-WAN,即软件定义广域网络,是一种应用于WAN传输连接的基于软件的网络应用技术。它将软件定义网络(SDN)的技术应用在管理广域网络(WAN),以简化企业广域网络的连接和功能,并将其整合并虚拟化成集中式的策略。S......