簡(jiǎn)介
網(wǎng)上沖浪時(shí)發(fā)現(xiàn)的這兩個(gè)國(guó)產(chǎn)模型,重點(diǎn)是對(duì)硬件的要求并不高,有2GB內(nèi)存就可以跑,覺(jué)得有趣就弄來(lái)玩了下。
https://github.com/Jittor/JittorLLMs
https://github.com/THUDM/ChatGLM-6B
簡(jiǎn)單介紹下用到的倉(cāng)庫(kù)
ChatGLM-6B
ChatGLM-6B 是一個(gè)開(kāi)源的、支持中英雙語(yǔ)的對(duì)話語(yǔ)言模型,基于 General Language Model (GLM) 架構(gòu),具有 62 億參數(shù)。結(jié)合模型量化技術(shù),用戶可以在消費(fèi)級(jí)的顯卡上進(jìn)行本地部署(INT4 量化級(jí)別下最低只需 6GB 顯存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技術(shù),針對(duì)中文問(wèn)答和對(duì)話進(jìn)行了優(yōu)化。經(jīng)過(guò)約 1T 標(biāo)識(shí)符的中英雙語(yǔ)訓(xùn)練,輔以監(jiān)督微調(diào)、反饋?zhàn)灾?、人類反饋?qiáng)化學(xué)習(xí)等技術(shù)的加持,62 億參數(shù)的 ChatGLM-6B 已經(jīng)能生成相當(dāng)符合人類偏好的回答。
JittorLLMS
JittorLLMS是基于ChatGLM-6B開(kāi)發(fā)的開(kāi)源項(xiàng)目。
成本低:相比同類框架,本庫(kù)可大幅降低硬件配置要求(減少80%),沒(méi)有顯卡,2G內(nèi)存就能跑大模型,人人皆可在普通機(jī)器上,實(shí)現(xiàn)大模型本地部署;是目前已知的部署成本最低的大模型庫(kù)。
效果
系統(tǒng):win10
環(huán)境:python 3.9.10
cpu:i7-8750H
顯卡:GTX-1050Ti
內(nèi)存:16GB 2666 MHz
如下圖所示,可以發(fā)現(xiàn)就憑我這5年前的筆電都可以運(yùn)行起來(lái),還是挺不錯(cuò)的,就是回答的效果不太好 一個(gè)回答需要好幾分鐘才能說(shuō)完。
開(kāi)始安裝
安裝Python
這里不做贅述,版本要求至少3.8。版本不夠的小伙伴需要做下版本的升級(jí)
下載安裝依賴
可以通過(guò)環(huán)境變量JITTOR_HOME
指定緩存存放路徑,默認(rèn)存放在C盤的user下
# 國(guó)內(nèi)使用 gitlink clone
git clone https://gitlink.org.cn/jittor/JittorLLMs.git --depth 1
# github: git clone https://github.com/Jittor/JittorLLMs.git --depth 1
cd JittorLLMs
# -i 指定用jittor的源, -I 強(qiáng)制重裝Jittor版torch
pip install -r requirements.txt -i https://pypi.jittor.org/simple -I
如果出現(xiàn)找不到j(luò)ittor版本的錯(cuò)誤,請(qǐng)更新版本:
pip install jittor -U -i https://pypi.org/simple
安裝中若有其他錯(cuò)誤,安裝python對(duì)應(yīng)的提示信息完成就可以。
如果遇到 transformers
下載失敗,嘗試使用VPN 將節(jié)點(diǎn)放到新加坡 再重新下載,我之前的節(jié)點(diǎn)在香港 導(dǎo)致一直下載失敗。
部署啟動(dòng)
部署只需一行命令即可:
python cli_demo.py [chatglm|pangualpha|llama|chatrwkv]
運(yùn)行上面的命令會(huì)下載模型文件到本地根目錄(C盤)
JittorLLMs 支持4個(gè)語(yǔ)言模型的運(yùn)行
等待模型下載完成后,沒(méi)有出現(xiàn)紅色字體報(bào)錯(cuò),且出現(xiàn)了生成進(jìn)度 并出現(xiàn)了用戶輸入:
這幾個(gè)字,那么恭喜 你的模型運(yùn)行成功,可以愉快的訓(xùn)練了
若輸入指令后 沒(méi)幾秒模型崩了,就是出現(xiàn)如下那種錯(cuò)誤了 或內(nèi)存警告之類的
原因是JittorLLM需要使用的顯存和內(nèi)存超過(guò)了我們電腦配置的極限,設(shè)置下JittorLLM的環(huán)境變量,節(jié)省內(nèi)存:
export JT_SAVE_MEM=1
# 限制cpu最多使用16G 就是內(nèi)存
export cpu_mem_limit=16000000000
# 限制device內(nèi)存(如gpu、tpu等)最多使用8G
export device_mem_limit=8000000000
# windows 用戶,請(qǐng)使用powershell
# $env:JT_SAVE_MEM="1"
# $env:cpu_mem_limit="16000000000"
# $env:device_mem_limit="8000000000"
內(nèi)存設(shè)置小技巧
為了更好的發(fā)揮性能并使JittorLLM不被回收,我們?cè)O(shè)置內(nèi)存與GPU顯存可用量 可用按如下的公式來(lái):
內(nèi)存:總內(nèi)存-當(dāng)前已用內(nèi)存-500MB預(yù)留的內(nèi)存
GPU顯存:總顯存-當(dāng)前已用顯存-500MB預(yù)留顯存
以上并不一定是最優(yōu),至少可用保證運(yùn)行后被系統(tǒng)給回收掉
用戶可以自由設(shè)定cpu和設(shè)備內(nèi)存的使用量,如果不希望對(duì)內(nèi)存進(jìn)行限制,可以設(shè)置為-1
# 限制cpu最多使用16G
export cpu_mem_limit=-1
# 限制device內(nèi)存(如gpu、tpu等)最多使用8G
export device_mem_limit=-1
# windows 用戶,請(qǐng)使用powershell
# $env:JT_SAVE_MEM="1"
# $env:cpu_mem_limit="-1"
# $env:device_mem_limit="-1"
JittorLLM 文檔已經(jīng)寫的很清楚了,可以在倉(cāng)庫(kù)看到更多的操作文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-427986.html
簡(jiǎn)單記錄,回憶不迷路文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-427986.html
到了這里,關(guān)于本地部署ChatGLM-6B模型(使用JittorLLMs大模型推理庫(kù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!