以 windows11 為例
安裝 anaconda
下載安裝
去 官網(wǎng) 下載安裝包 exe巍棱,一路點(diǎn)擊安裝。之后配置環(huán)境變量蛋欣。
配置環(huán)境變量
右擊此電腦 => 屬性 => 高級系統(tǒng)設(shè)置 => 系統(tǒng)變量中的 Path 變量添加以下三行:
D:\anaconda\anaconda3 // 安裝路徑
D:\anaconda\anaconda3\Scripts
D:\anaconda\anaconda3\Library\bin
環(huán)境變量如果不生效航徙,可以重啟電腦,或者搜索引擎里搜一下解決方案陷虎。之后到踏,在命令行中輸入:conda --version,正確顯示出版本尚猿,則 conda 安裝成功窝稿。
conda 23.3.1
常用的 conda 命令:https://zhuanlan.zhihu.com/p/67745160
安裝 ChatGLM
下載 ChatGLM 源碼
去官網(wǎng)克隆代碼(如果沒裝 git,先安裝 git)
cd D:\project\
git clone https://github.com/THUDM/ChatGLM-6B
根據(jù)硬件要求凿掂,修改 ChatGLM-6B 下的 web_demo.py 文件伴榔。
量化等級 | 最低 GPU 顯存(推理) | 最低 GPU 顯存(高效參數(shù)微調(diào)) |
---|---|---|
FP16(無量化) | 13 GB | 14 GB |
INT8 | 8 GB | 9 GB |
INT4 | 6 GB | 7 GB |
// 如果使用無量化版本,則保持不變
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
// 如果使用INT8版本庄萎,改動(dòng)如下
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int8", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int8", trust_remote_code=True).half().cuda()
// 如果使用INT4版本踪少,改動(dòng)如下
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda()
創(chuàng)建虛擬環(huán)境
兩種方式:
第一種使用界面UI(Anaconda Navigator),點(diǎn)擊創(chuàng)建環(huán)境惨恭,選擇 python3.10 即可秉馏。創(chuàng)建環(huán)境完成之后,點(diǎn)擊如下三角按鈕脱羡,進(jìn)行環(huán)境激活萝究,然后點(diǎn)擊打開該環(huán)境下的 shell 界面。
第二種:在 git_bash 下執(zhí)行如下命令
conda create -n chatglm python=3.10
source D:\anaconda\anaconda3\etc\profile.d\conda.sh // 其中 D:\anaconda\anaconda3\ 是安裝目錄锉罐,執(zhí)行該命令是解決這個(gè)問題 https://bobbyhadz.com/blog/commandnotfounderror-your-shell-has-not-been-properly-configured-to-use-conda-activate
conda activate chatglm
在虛擬環(huán)境下帆竹,進(jìn)入 ChatGLM-6B 目錄,安裝依賴脓规。
(chatglm) D:\project\ChatGLM-6B>pip install -r requirements.txt
注意:此處安裝了 Downloading torch-2.0.1-cp310-cp310-win_amd64.whl
栽连。
嘗試啟動(dòng) webUI:首次執(zhí)行,會自動(dòng)從huggingFace上下載模型,會下載到C:\Users\xxx\.cache\huggingface\hub\models--THUDM--chatglm-6b-int8
秒紧,C 盤空間不夠的可以自行下載模型绢陌,按照官網(wǎng)修改路徑。
(chatglm) D:\project\ChatGLM-6B>python web_demo.py
下載日志如下:
Downloading (…)okenizer_config.json: 100%|████████████████████████████████████████████████████| 446/446 [00:00<?, ?B/s]
D:\anaconda\anaconda3\envs\chatglm\lib\site-packages\huggingface_hub\file_download.py:133
Downloading (…)enization_chatglm.py
Downloading ice_text.model
Downloading (…)lve/main/config.json
Downloading (…)iguration_chatglm.py
Downloading (…)/modeling_chatglm.py
Downloading (…)main/quantization.py
Downloading pytorch_model.bin:6.71G
啟動(dòng)過程中如果報(bào)錯(cuò):
AssertionError: Torch not compiled with CUDA enabled
則需要去 pytorch 官網(wǎng)熔恢,選擇與安裝的 torch 版本兼容的相關(guān)依賴脐湾,如下,之后復(fù)制紅框部分的命令叙淌,進(jìn)行執(zhí)行即可秤掌。
(chatglm) D:\project\ChatGLM-6B>conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
之后,再次嘗試啟動(dòng)鹰霍,如果報(bào)錯(cuò):
ModuleNotFoundError: No module named 'chardet'
則執(zhí)行如下命令安裝(ModuleNotFoundError 該類錯(cuò)誤均可通過該方式進(jìn)行解決)闻鉴,如果 pip install xxx
報(bào)錯(cuò),可通過 conda install xxx
代替試試茂洒。
pip install chardet
之后孟岛,再次嘗試啟動(dòng),如果報(bào)錯(cuò):
ModuleNotFoundError: No module named 'cchardet'
此時(shí)執(zhí)行 pip install cchardet
報(bào)錯(cuò)督勺,可通過 conda install cchardet
解決蚀苛。
之后,再次嘗試啟動(dòng)玷氏,看到如下信息,則表示成功腋舌。
Running on local URL: http://127.0.0.1:7860
瀏覽器訪問即可進(jìn)行交流盏触。