linux環(huán)境部署清華大學(xué)大模型最新版 chatglm2-6b 圖文教程
準(zhǔn)備工作:
# 下載項(xiàng)目源代碼 git clone https://github.com/THUDM/ChatGLM2-6B # 切換到項(xiàng)目根目錄 cd ChatGLM2-6B # 安裝依賴(lài) pip install -r requirements.txt # 安裝web依賴(lài) pip install gradio
如果安裝出現(xiàn)問(wèn)題,可嘗試手動(dòng)分別安裝torch
1 # 1第一步安裝虛擬環(huán)境并激活環(huán)境
conda create -n ChatGLM2 python=3.10.6 conda activate ChatGLM2
2 nvidia-smi查看cuda版本,12.0
3 安裝torch第一種方式
pytorch官網(wǎng):https://pytorch.org/
經(jīng)過(guò)多次嘗試,發(fā)現(xiàn)conda裝,真的很快,真香。前幾次嘗試用pip裝torch都會(huì)出現(xiàn)timeout的錯(cuò)誤,這個(gè)跟服務(wù)器有關(guān)系,視情況而定。
# 安裝依賴(lài) pip install -r requirements.txt
二、準(zhǔn)備工作。安裝依賴(lài)包的同時(shí),也可以先手動(dòng)下載模型包:
1、工程文件準(zhǔn)備
整個(gè)工程需要從兩個(gè)遠(yuǎn)程倉(cāng)庫(kù)克隆,一個(gè)是 github 上的源碼,一個(gè)是 HuggingFace 上的模型。
對(duì)于源碼,由于總體積較小,因此可直接從網(wǎng)頁(yè)下載 zip 包后解壓,也可使用 git 命令(電腦需要提前裝好 git )克隆至本地文件夾中:
git clone https://github.com/THUDM/ChatGLM2-6B
對(duì)于模型,由于存在7個(gè)體積較大的 checkpoint 文件,若直接 clone 可能耗時(shí)過(guò)久或網(wǎng)絡(luò)連接不夠穩(wěn)定,可以采用大、小文件分別下載的方式。其中大文件可從 清華云 手動(dòng)下載,小文件主要為模型實(shí)現(xiàn)文件,數(shù)量不多且體積較?。ㄋ闵?tokenizer.model 一共11個(gè)文件),可采用兩種方式下載,一種是在 HuggingFace 頁(yè)面手動(dòng)一個(gè)一個(gè)下載,另一種是利用 GIT_LFS_SKIP_SMUDGE 參數(shù)跳過(guò)大文件一次性克隆整個(gè)工程(電腦需要提前裝好 Git LFS):
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b
最后再將前面手動(dòng)下載好的大文件拷入替換,構(gòu)成完整的模型。
需要注意的坑:
1)該命令在 powershell 中會(huì)報(bào)錯(cuò),提示不認(rèn)識(shí) GIT_LFS_SKIP_SMUDGE 命令,放在 git bash 終端中則可順利執(zhí)行; 2)被該命令跳過(guò)的“大文件”不僅有 7 個(gè) .bin 文件,還包括 1.02MB 的 tokenizer.model。
模型文件理論上可存放于任意位置,參考官方演示視頻將其平行于源碼文件夾,即整個(gè)工程文件的目錄結(jié)構(gòu)如下:
根據(jù)目錄結(jié)構(gòu),修改源碼目錄下的 web_demo.py 文件,將兩處 THUDM/chatglm2-6b 替換為 model :
tokenizer = AutoTokenizer.from_pretrained("model", trust_remote_code=True) model = AutoModel.from_pretrained("model", trust_remote_code=True).cuda()
如果想使用命令行與模型交互,則需要修改 cli_demo.py。web_demo2.py 同理 。
三、運(yùn)行模型
文件夾層面 cd 至web_demo.py文件夾,環(huán)境層面激活 chatglm2-6b,然后執(zhí)行:
python web_demo.py
運(yùn)行完之后就會(huì)彈出該頁(yè)面:
需要注意的坑:
1)使用 web_demo 時(shí)不能開(kāi) VPN,否則會(huì)彈出 Expecting value: line 1 column 1 (char 0)錯(cuò)誤;
2)如使用 web_demo2,則需要按官網(wǎng)提示額外安裝 streamlit 和 streamlit-chat,且啟動(dòng)命令為
streamlit run web_demo2.py 。
四、體驗(yàn)
推理速度相比上一代有明顯的提升,但性能提升感知不強(qiáng)。期待團(tuán)隊(duì)未來(lái)推出13B、30B、65B等更大規(guī)模的模型。
注:筆者測(cè)試期間,第三方庫(kù)的安裝會(huì)因?yàn)榫W(wǎng)絡(luò)原因出現(xiàn)一些問(wèn)題,此時(shí)可以使用國(guó)內(nèi)鏡像來(lái)解決,例如,筆者在安裝時(shí)使用的是阿里云鏡像
pip install torchvision -i https://mirrors.aliyun.com/pypi/simple
- macbook安裝環(huán)境chatglm2-6b的詳細(xì)過(guò)程
- ChatGLM-6B+LangChain環(huán)境部署與使用實(shí)戰(zhàn)
- 基于本地知識(shí)的問(wèn)答機(jī)器人langchain-ChatGLM 大語(yǔ)言模型實(shí)現(xiàn)方法詳解
- ChatGPT平替-?ChatGLM多用戶(hù)并行訪(fǎng)問(wèn)部署過(guò)程
- ChatGPT平替-ChatGLM環(huán)境搭建與部署運(yùn)行效果
- ChatGLM?集成LangChain工具詳解
- 基于prompt?tuning?v2訓(xùn)練好一個(gè)垂直領(lǐng)域的chatglm-6b
- 最簡(jiǎn)化ChatGLM2-6b小白部署教程【windows系統(tǒng),16G內(nèi)存即可,對(duì)顯卡無(wú)要求,CPU運(yùn)行】
相關(guān)文章
Python3中configparser模塊讀寫(xiě)ini文件并解析配置的用法詳解
這篇文章主要介紹了Python3中configparser模塊讀寫(xiě)ini文件并解析配置的用法詳解,需要的朋友可以參考下2020-02-02Python+Pygame實(shí)現(xiàn)懷舊游戲飛機(jī)大戰(zhàn)
第一次見(jiàn)到飛機(jī)大戰(zhàn)是在小學(xué)五年級(jí)下半學(xué)期的時(shí)候,這個(gè)游戲中可以說(shuō)包含了幾乎所有我目前可接觸到的pygame知識(shí)。本文就來(lái)利用Pygame實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,需要的可以參考一下2022-11-1130道python自動(dòng)化測(cè)試面試題與答案匯總
對(duì)于機(jī)器學(xué)習(xí)算法工程師而言,Python是不可或缺的語(yǔ)言,它的優(yōu)美與簡(jiǎn)潔令人無(wú)法自拔,下面這篇文章主要給大家介紹了關(guān)于30道python自動(dòng)化測(cè)試面試題與答案匯總的相關(guān)資料,需要的朋友可以參考下2023-03-03pandas string轉(zhuǎn)dataframe的方法
下面小編就為大家分享一篇pandas string轉(zhuǎn)dataframe的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python request使用方法及問(wèn)題總結(jié)
這篇文章主要介紹了Python request使用方法及問(wèn)題總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04pandas進(jìn)行時(shí)間數(shù)據(jù)的轉(zhuǎn)換和計(jì)算時(shí)間差并提取年月日
這篇文章主要介紹了pandas進(jìn)行時(shí)間數(shù)據(jù)的轉(zhuǎn)換和計(jì)算時(shí)間差并提取年月日,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python基礎(chǔ)之變量基本用法與進(jìn)階詳解
這篇文章主要介紹了Python基礎(chǔ)之變量基本用法與進(jìn)階,結(jié)合實(shí)例形式詳細(xì)分析了Python變量引用、可變和不可變類(lèi)型、局部變量和全局變量等相關(guān)原理與使用技巧,需要的朋友可以參考下2020-01-01