两小时搭建自己的ChatGLM免硬件

目录

准备(注册):

搭建:

API模式:

测试:

总结:


准备硬件(注册):

注册modelscope(底层阿里云)免费使用服务器

https://modelscope.cn/

按照图片里的选择(选择其他好像不能创建成功)

可以白嫖60多个小时的配置

8核 32GB 显存16G
预装 ModelScope Library
预装镜像 ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.5.0

ChatGLM-6B介绍

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。

硬件需求

量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)
FP16(无量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB

搭建:

https://github.com/THUDM/ChatGLM-6B#代码调用

按照官网提示操作即可

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
>>> print(response)
晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:

1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。

如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

解释

from transformers import AutoTokenizer, AutoModel:这是从transformers库中导入AutoTokenizer和AutoModel类。

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True):这一行代码通过调用AutoTokenizer类的from_pretrained方法,从“THUDM/chatglm-6b”模型地址中下载并加载对应的tokenizer。该tokenizer是用于将文本转换为模型可以处理的输入向量。

model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda():这一行代码通过调用AutoModel类的from_pretrained方法,从“THUDM/chatglm-6b”模型地址中下载并加载对应的模型。同时,它还将模型转换为半精度浮点数(half)和CUDA张量(cuda)。这些操作有助于提高模型的计算速度和性能。

model = model.eval():这一行代码将模型设置为推理模式,即禁用dropout和batch normalization等训练时使用的技巧。这有助于提高模型在测试和实际应用中的准确性。

其中 下载需要漫长的等待

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True):

测试安装

API模式:

官网参考这段

GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型

git clone https://github.com/THUDM/ChatGLM-6B

cd ChatGLM-6B



pip install fastapi uvicorn



python api.py



测试:

curl -X POST "http://127.0.0.1:8000" -H 'Content-Type: application/json' -d '{"prompt": "我叫daniel,给我写本书", "history": []}'

遇到的问题

异常1:
RuntimeError: CUDA Error: no kernel image is available for execution on the device
>>> model = model.quantize()
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ in <module>:1                                                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
TypeError: quantize() missing 1 required positional argument: 'bits'


model = model.quantize(4)
改成

model = model.quantize(128)


异常2:

root@eais-bjtryzm9xivr28qvprxr-7c8cfdfd44-2j4rx:/mnt/workspace/ChatGLM-6B/ptuning# bash train.sh
Traceback (most recent call last):
  File "main.py", line 29, in <module>
    from rouge_chinese import Rouge
ModuleNotFoundError: No module named 'rouge_chinese'

 安装依赖解决 : pip install rouge_chinese nltk jieba datasets

异常3: 
 RuntimeError: CUDA Error: no kernel image is available for execution on the device
“调整 quantization_bit 来被原始模型的量化等级,不加此选项则为 FP16 精度加载”

bash train.sh
cp   train.sh train_bak.sh

vi train.sh
删除   --quantization_bit 4

异常4:
pip install cpm_kernels

ImportError: This modeling file requires the following packages that were not found in your environment: cpm_kernels. Run `pip install cpm_kernels`


 

总结:

ChatGLM 完全傻瓜式的教程,按照官网操作就行了。

ModelScope太给力了,本来都打算自己买机器运行了,正好有使用的机会。

自己windows11 GTX3060 12g 显卡也不能运行完成的项目

参考资料:

ModelScope 魔搭社区

GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型

  • 18
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dingsai88

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

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

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

打赏作者

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

抵扣说明:

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

余额充值