目錄
準備(注冊):
搭建:
API模式:
測試:
總結:
準備硬件(注冊):
注冊modelscope(底層阿里云)免費使用服務器
https://modelscope.cn/
按照圖片里的選擇(選擇其他好像不能創(chuàng)建成功)
可以白嫖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 億參數(shù)。
硬件需求
量化等級 | 最低 GPU 顯存(推理) | 最低 GPU 顯存(高效參數(shù)微調) |
---|---|---|
FP16(無量化) | 13 GB | 14 GB |
INT8 | 8 GB | 9 GB |
INT4 | 6 GB | 7 GB |
搭建:
https://github.com/THUDM/ChatGLM-6B#代碼調用
按照官網(wǎng)提示操作即可
>>> 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. 制定規(guī)律的睡眠時間表:保持規(guī)律的睡眠時間表可以幫助你建立健康的睡眠習慣,使你更容易入睡。盡量在每天的相同時間上床,并在同一時間起床。
2. 創(chuàng)造一個舒適的睡眠環(huán)境:確保睡眠環(huán)境舒適,安靜,黑暗且溫度適宜。可以使用舒適的床上用品,并保持房間通風。
3. 放松身心:在睡前做些放松的活動,例如泡個熱水澡,聽些輕柔的音樂,閱讀一些有趣的書籍等,有助于緩解緊張和焦慮,使你更容易入睡。
4. 避免飲用含有咖啡因的飲料:咖啡因是一種刺激性物質,會影響你的睡眠質量。盡量避免在睡前飲用含有咖啡因的飲料,例如咖啡,茶和可樂。
5. 避免在床上做與睡眠無關的事情:在床上做些與睡眠無關的事情,例如看電影,玩游戲或工作等,可能會干擾你的睡眠。
6. 嘗試呼吸技巧:深呼吸是一種放松技巧,可以幫助你緩解緊張和焦慮,使你更容易入睡。試著慢慢吸氣,保持幾秒鐘,然后緩慢呼氣。
如果這些方法無法幫助你入睡,你可以考慮咨詢醫(yī)生或睡眠專家,尋求進一步的建議。
解釋
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”模型地址中下載并加載對應的模型。同時,它還將模型轉換為半精度浮點數(shù)(half)和CUDA張量(cuda)。這些操作有助于提高模型的計算速度和性能。
model = model.eval():這一行代碼將模型設置為推理模式,即禁用dropout和batch normalization等訓練時使用的技巧。這有助于提高模型在測試和實際應用中的準確性。
其中 下載需要漫長的等待
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True):
測試安裝
API模式:
官網(wǎng)參考這段
GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 開源雙語對話語言模型文章來源地址http://www.zghlxwxcb.cn/news/detail-448572.html
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 完全傻瓜式的教程,按照官網(wǎng)操作就行了。
ModelScope太給力了,本來都打算自己買機器運行了,正好有使用的機會。
自己windows11 GTX3060 12g 顯卡也不能運行完成的項目
參考資料:
ModelScope 魔搭社區(qū)文章來源:http://www.zghlxwxcb.cn/news/detail-448572.html
GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 開源雙語對話語言模型
到了這里,關于兩小時搭建屬于自己的chatGPT(ChatGLM)免硬件(白嫖)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!