本地CPU部署运行ChatGLM2-6B模型

1、前期准备:
   需要下载模型文件

2、部署过程及碰到的问题
(1)编译安装python 3.8.13 (Asianux release 7.6.18 gcc 4.8.5)
按运行的要求需要安装torch的>=2.0,因此安装了torch的2.0.1,该版本的torch    依赖的glibc的版本至少是2.28,而当前操作系统的版本号是2.17。
通过strings libtorch_cpu.so|grep GLIBC_  可以看到该so文件到底依赖的glibc的版本。

(2)升级glibc
 编译glibc2.28,发现gcc4.8.5版本太老,需要先升级gcc的版本,就升级了gcc的版本到5.4.0:

升级gcc的方法:
https://blog.csdn.net/CN_Maxwell/article/details/99302888

重新编译了glibc2.28,但是发现libc-2.28.so
配入系统环境变量后,系统的各种命令用不了了,通过如下方式实现了libc库的恢复:
export LD_PRELOAD="/lib64/libc-2.17.so"
https://blog.csdn.net/zhangpeterx/article/details/96149932
https://blog.csdn.net/carefree2005/article/details/117559312

(3)通过patchelf工具对torch的libtorch_cpu.so文件的动态链接路径进行的修改
直接下载了编译好的patchelf-0.18.0不能用,修改后so文件变成了不是动态执行的文件,因此需要编译安装。
a、通过patchelf对so文件进行修改动态链接
https://blog.csdn.net/zdy0_2004/article/details/104574224
b、linux使用patchelf工具:
https://blog.csdn.net/juluwangriyue/article/details/108617283
c、编译安装patchelf过程,出现了"__strtof128_nan@GLIBC_PRIVATE" 未定义的引用:
原因:/usr/lib64目录下的libm.so和libc.so的版本不一致,让两者的版本一致就可以解决。
patchelf的相关说明手册:
https://blog.adafruit.com/2021/05/12/patchelf-a-simple-utility-for-modifying-existing-elf-executables-and-libraries/

d、编译安装patchelf之后,可以把/lib64/libc.so.6替换成编译安装的高版本的libc.so执行之后依然报错ld动态链接的“__dl_create_exception”@GLIBC_PRIVATE问题,patchelf 通过--set-interperter 试图修改链接器,发现动态连接器static linked,无法修改。
(4)问题追踪到此,发觉自己升级glibc和操作系统kernel有兼容性的问题,因此果断进行了操作系统的重装,从7.6.18升级到了8.5.0,glibc2.28,至此基础环境问题解决。

3、运行耗的资源
   (1)机器配置:96 cores的逻辑核(物理核8个,Intel(R) Xeon(R) CPU 2.1G),内存128G
   操作系统版本:Asianux Linux release 8.5.0   
kernel 4.18.0-372.13.2.axs8.x86_64
   模型总大小:7个模型文件共11G
   在cpu上执行:   
加载模型:耗用16s
加载模型耗用内存:26.5G
推理过程耗用CPU:50cores

4、运行的例子:
问题1:红楼梦讲述的是一个什么样的故事?

 

问题2:巴塞尔资本法涉及哪些内容?

 

问题3:帮我生成一段查询数据库的sql语句?

 


torch的安装有cpu版和gpu版两种情况,对于cpu运行的模型需要将推理的cuda函数继续调整。
https://www.tjsky.net/tutorial/701

总结:(1)在python3.8.13上,安装完了torch后,可以先将python的安装目录进行备份,相当于快照放在其他机器上使用,不用老是从源码编译安装
(2)gcc8.5.0编译安装python3.8.13会出现:a、fatal error: ffi.h: No such file or directory问题的解决;b、Linux安装python3.8时,编译过程中报错Could not build the ssl module!和zipimport.ZipImportError: can't decompress data; zlib not available,需要安装zlibc zlib1g-dev,配置yum源就可以安装。
https://blog.csdn.net/Aidam_Bo/article/details/112919330


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值