清華開(kāi)源中英雙語(yǔ)對(duì)話模型ChatGLM2-6B本地安裝筆記
首先,直接上資源,網(wǎng)盤(pán)中是ChatGLM2-6B源碼及模型文件:
鏈接:https://pan.baidu.com/s/1DciporsVT-eSiVIAeU-YmQ
提取碼:cssa
官方的Readme已經(jīng)很詳盡了,再寫(xiě)點(diǎn)安裝博客有點(diǎn)畫(huà)蛇添足。本著記錄自己的工作內(nèi)容的初衷,還是寫(xiě)一寫(xiě)吧,畢竟輸出才是最好的學(xué)習(xí)。
本文記錄了本地安裝ChatGLM2-6B的過(guò)程,本地是用了一張RTX4070 12G的顯卡,對(duì)于這個(gè)模型有點(diǎn)勉強(qiáng),但是在實(shí)際運(yùn)行中發(fā)現(xiàn)Win11系統(tǒng)給了共享GPU存儲(chǔ),這讓我這個(gè)12G的顯卡也運(yùn)行了13G的模型,目前看是能正常運(yùn)行,沒(méi)有爆顯存的問(wèn)題。官方也提供了int4的模型,可以在6G顯存上運(yùn)行起來(lái),由于我這邊已經(jīng)運(yùn)行起來(lái)了,所以沒(méi)有在考慮使用int4模型。下圖是我模型加載之后的GPU占用情況,就很神奇。。。
1. Conda復(fù)制虛擬環(huán)境
conda creat -n new_env_name --copy old_env_name
創(chuàng)建ChatGLM運(yùn)行環(huán)境,因?yàn)镃hatGLM使用pytorch框架,所以使用Conda復(fù)制一個(gè)Pytorch的虛擬環(huán)境,以便在安裝所需依賴(lài)完成之后不會(huì)對(duì)其他環(huán)境依賴(lài)造成破壞。
2. 添加PIP鏡像源
由于安裝依賴(lài)需要使用pip,為加速訪問(wèn),所以配置PIP鏡像源
配置PIP鏡像源要切換到對(duì)應(yīng)的虛擬環(huán)境上,如conda activate chatglm2
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
另外,還有其他鏡像源可供使用
阿里云 https://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
清華大學(xué) https://pypi.tuna.tsinghua.edu.cn/simple/
中國(guó)科學(xué)技術(shù)大學(xué) http://pypi.mirrors.ustc.edu.cn/simple/
Conda配置鏡像源的工作在之前的Pytorch安裝中已經(jīng)寫(xiě)過(guò)了,可以參考。
3. 下載代碼
- Github上克隆代碼
git clone https://github.com/lordum/ChatGLM2-6B.git
4. 下載模型
啟動(dòng)模型的過(guò)程中,程序會(huì)自動(dòng)去Huging Face官網(wǎng)下載模型bin文件,但是由于網(wǎng)絡(luò)的原因,很可能會(huì)下載失敗,官方提供了一個(gè)清華的下載地址(https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/),但是這個(gè)地址只有模型,很多配置文件會(huì)找不到,需要去Hugging Face官網(wǎng)下載(https://huggingface.co/THUDM/chatglm2-6b/tree/main);如果直接運(yùn)行可能會(huì)遇到下面的問(wèn)題1所列的問(wèn)題。我這邊將所有的文件打包,放在百度網(wǎng)盤(pán)上(鏈接:https://pan.baidu.com/s/1DciporsVT-eSiVIAeU-YmQ 提取碼:cssa ),需要的可以自取。
下載完之后將model目錄下面的模型及配置文件全部拷貝到代碼目錄下面,不需要新建文件夾之類(lèi)的,直接和原有代碼放在一塊就好了。
5.依賴(lài)安裝
首先是安裝requirement,requirement.txt中的依賴(lài)可以根據(jù)自己環(huán)境進(jìn)行調(diào)整,比如我這邊由于復(fù)制了pytorch的環(huán)境,可以將其中的pytorch行刪除。這里pip安裝也是用的國(guó)內(nèi)鏡像源,可以大幅提高安裝速度,前面已經(jīng)介紹了添加方式。
官方推薦了 transformers
庫(kù)版本推薦為 4.30.2
,torch
推薦使用 2.0 以上的版本,以獲得最佳的推理性能。
pip install -r requirements.txt
6.應(yīng)用
官方文檔提供了多種應(yīng)用方法,我們一般選擇web界面運(yùn)行,官方代碼中提供了兩個(gè)web_demo,web_demo.py是一問(wèn)一答形式了,答案是統(tǒng)一給出的,web_demo2.py是流式回答,答案是流式傳輸?shù)?。需要注意的是,兩種方式都要安裝必要的依賴(lài);為了更貼近實(shí)用,我們選擇web_demo2.py來(lái)運(yùn)行。
@AdamBear 實(shí)現(xiàn)了基于 Streamlit 的網(wǎng)頁(yè)版 Demo web_demo2.py
。使用時(shí)首先需要額外安裝以下依賴(lài):
pip install streamlit streamlit-chat
模型運(yùn)行默認(rèn)去Hugging Face上去拉取模型文件,如果使用本地的文件,需要修改一下模型加載語(yǔ)句:
將15、16行改成本地代碼路徑就可以加載了
然后通過(guò)以下命令運(yùn)行:
streamlit run web_demo2.py
經(jīng)測(cè)試,如果輸入的 prompt 較長(zhǎng)的話,使用基于 Streamlit 的網(wǎng)頁(yè)版 Demo 會(huì)更流暢。
安裝遇到的問(wèn)題
1. ValueError: Unrecognized configuration class <class ‘transformers_modules.chatglm-6b.co
問(wèn)題描述
在部署ChatGLM過(guò)程中,出現(xiàn)了如下bug信息。
ValueError: Unrecognized configuration class <class ‘transformers_modules.chatglm-6b.configuration_chatglm.ChatGLMConfig’> to build an AutoTokenizer.
問(wèn)題原因
我是通過(guò)清華云盤(pán)下載的模型參數(shù)(具體情況如下),里面缺失了很多重要的配置文件。
解決方案
可以通過(guò)Hagging Face官網(wǎng)下載完整的配置文件,然后將其放在與模型參數(shù)相同的位置。
https://huggingface.co/THUDM/chatglm2-6b/tree/main
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-602622.html
參考文章:https://blog.csdn.net/weixin_40964597/article/details/131074884文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-602622.html
到了這里,關(guān)于【AI】清華開(kāi)源中英雙語(yǔ)對(duì)話模型ChatGLM2-6B本地安裝筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!