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