双N卡完美运行ChatGLM3

本文介绍如何在双GPU环境下配置和运行ChatGLM3,包括环境配置、模型下载、代码修改以支持多GPU及实际运行过程。虽然最终前端显示存在小问题,但成功实现了低配多卡运行,提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

之前ChatGLM推出3了,奈何自身条件不允许,CPU运行半天出不来结果,索性放弃。幸好这次拿到了朋友的机器,虽然显存不高,但是双卡共16G也满足运行的最低要求,于是乎准备研究一波,尝试双卡部署一下。

之前已经装好了环境,参考:使用Tesla P4 双卡配置torch机器学习环境

环境配置

关于ChatGLM3不过多介绍了,支持工具回调,支持代码执行,是我挺喜欢的一个开源模型,这次直接给出了技术文档 https://lslfd0slxc.feishu.cn/wiki/HIj5wVxGqiUg3rkbQ1OcVEe5n9g(文档内容不做截图因为有水印)

先下载源码

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

然后装一下requirements.txt,因为之前已经装好了torch,所以注释掉

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

太慢了,加上国内源

随后,基础环境装好了。

ChatGLM3给了多种运行方式,其中包含基础demo(basic_demo目录下)和综合demo(包含工具执行,代码解释的综合性demo,在composite_demo)

这里我先以方便双卡运行为主,运行basic_demo

关于综合Demo可以参考,本篇不提及:https://github.com/THUDM/ChatGLM3/blob/main/composite_demo/README.md

题外话:运行web_demo.py发现丢了个mdtex2html的库,装一下

pip3 install mdtex2h
### 如何离线安装 Python 的 pip.whl 文件 要实现离线下安装 `.whl` 文件,可以按照以下方式进行操作: #### 方法一:手动下载并安装 `.whl` 文件 如果目标环境无法连接互联网,则可以通过其他设备先下载所需的依赖包及其子依赖项,并将其传输到目标环境中。 1. **在联网环境下准备所需文件** 使用 `pip download` 命令来获取所有的依赖关系以及对应的 `.whl` 文件。例如: ```bash pip download package_name==version_number -d /path/to/save/wheels/ ``` 这里的 `-d` 参数指定了保存这些轮子文件的目标目录[^1]。 2. **将 .whl 文件复制至无网环境** 将上述命令生成的所有 `.whl` 文件拷贝到目标机器上(比如通过 U 盘或其他介质)。注意确保所有必要的依赖都被包含其中。 3. **执行本地安装** 到达没有网络连接的目的地之后,在该位置运行如下指令完成软件包的部署工作: ```bash pip install --no-index --find-links=/path/to/folder/*.whl some_package.whl ``` #### 方法二:创建虚拟环境后再转移整个项目夹带全部资源一起迁移过去再激活继续正常使用即可。 这种方法特别适合于那些需要频繁重复相同配置过程的情况之下采用更为简便高效的方式来进行处理[^4]。 对于 TensorFlow 或 PyTorch 等大型框架来说,由于其复杂的依赖结构,建议提前查阅官方文档了解具体版本兼容性和硬件需求情况后再做相应调整安排[^3]. 另外需要注意的是当遇到类似于 "OSError: Couldn't connect..." 错误提示时除了确认当前是否有正常可用的数据链路之外还需要仔细核对自己所指定路径是否准确有效同时也要考虑到可能存在缓存机制影响最终结果呈现形式等问题存在可能性因此务必参照相关指南说明妥善处置此类状况发生几率减少干扰因素提升成功率水平保持良好用户体验效果达成预期目的价值最大化体现出来. ```python import os os.environ['TRANSFORMERS_OFFLINE'] = '1' from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", local_files_only=True) model = AutoModelForCausalLM.from_pretrained("THUDM/chatglm-6b", local_files_only=True) ``` 以上代码片段展示了如何设置 Transformers 库进入脱机模式从而避免尝试访问远程服务器端口进而触发异常情形出现风险降低概率保障程序稳定可靠运转性能达到最佳状态表现水准之上进一步优化整体解决方案质量层次更近一步靠近完美境界追求极致卓越不断超越自我创造更大辉煌成就未来无限可能空间探索未知领域开辟崭新道路引领时代潮流方向树立行业标杆形象赢得广泛认可赞誉之声不绝于耳之间形成良性循环态势持续健康发展壮大规模效应显著增强综合竞争力优势明显脱颖而出独占鳌头地位稳固难以撼动根基深厚源远流长传承久远意义非凡影响深远历久弥新永载史册铭记心间激励后来者奋发图强勇攀高峰再创佳绩续写传奇篇章共铸伟大梦想成真时刻即将到来让我们共同见证这一历史性瞬间的到来吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银空飞羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值