【ChatGLM】在電腦部署屬于自己的人工智能
1、 前言
本文能實現(xiàn)在自己的電腦或云服務(wù)器上部署屬于自己的語言AI——ChatGLM-6B,可以離線使用,也可以生成web網(wǎng)頁在線發(fā)給朋友嘗試。
ChatGLM-6B 是一個由清華大學(xué)的團(tuán)隊開源的、支持中英雙語問答的對話語言模型,基于 General Language Model (GLM) 架構(gòu),具有 62 億參數(shù)。本文旨在介紹如何在電腦部署屬于自己的人工智能/可離線/可發(fā)布。這是一個有趣而有意義的項目,可以讓你體驗到人工智能的魅力,也可以讓你擁有一個自己定制的智能助手。詳情點擊參考ChatGLM開發(fā)者博客
GPT 模型目前只有 GPT-2 的小規(guī)模版本(1.5 億參數(shù))是開源的,其它版本都是閉源的,只能通過 OpenAI 的 API 來訪問。ChatGLM-6B 是完全開源的,可以在Github下載和使用。GPT 模型的可用性受到限制,需要申請權(quán)限和付費才能使用。ChatGLM-6B 的可用性更高,可以在本地部署和修改。
ChatGLM-6B 和 GPT 模型對比
2、虛擬環(huán)境搭建
要搭建 conda 虛擬環(huán)境,你需要先安裝 conda ,它是一個用于管理 Python 和其他語言的包和環(huán)境的工具。你可以從 https://www.anaconda.com/products/individual 下載并安裝 Anaconda 或 Miniconda。
創(chuàng)建一個虛擬環(huán)境,并且指定其中的 Python 版本,這里使用了python3.10:conda create --name myenv python=3.10
( myenv 是你想要給這個環(huán)境起的名字)。
激活這個虛擬環(huán)境:conda activate myenv
,這樣你就可以在這個環(huán)境中安裝和使用包了。
3、下載安裝所需的依賴
點擊前往GitHub下載作者開源的文件接著進(jìn)入創(chuàng)建好的conda虛擬環(huán)境中,進(jìn)入開源文件所下載到的文件夾,例如我存放在X:\python\glm310\ChatGLM-6B中。用以下命令 cd /d X:\python\glm310\ChatGLM-6B
進(jìn)入
接著輸入pip install -r requirements.txt
安裝所需要的依賴項
由于安裝的依賴項中的torch模塊是only cpu的,即不能把模型放進(jìn)顯卡運(yùn)算的版本,所以我們在下載完畢后,在控制臺輸入pip uninstall torch
卸載torch。點擊進(jìn)入pytorch官網(wǎng)翻到主頁下端根據(jù)自己安裝的cuda版本選擇下載對應(yīng)的torch-gpu。
如何查看cuda版本與顯卡信息在控制臺輸入nvidia-smi
即可。
如果沒有安裝cuda的請參考 在conda虛擬環(huán)境中配置cuda+cudnn+pytorch深度學(xué)習(xí)環(huán)境(新手必看!簡單可行?。?,cuda版本推薦cuda 11.7。
4、ChatGLM模型下載與修改
點擊進(jìn)入作者的網(wǎng)盤下載模型
把他們下載到電腦,例如我存放在D:\ChatGLM-6B中。進(jìn)入剛開始下載開源文件的文件夾打開web_demo.py文件,修改模型。
修改模型加載路徑為模型下載的地址
tokenizer = AutoTokenizer.from_pretrained("D:\chatGLM", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\chatGLM", trust_remote_code=True).half().quantize(4).cuda()
model = model.eval()
根據(jù)自身的顯存修改模型,例如我的電腦顯存為6G,即修改為
`# 按需修改,目前只支持 4/8 bit 量化
model = AutoModel.from_pretrained("D:\chatGLM", trust_remote_code=True).half().quantize(4).cuda()
`
若要在線發(fā)布,把web_demo.py中最后一段代碼的share=False改成Ture即可
demo.queue().launch(share=True, inbrowser=True)
5、美化與發(fā)布
美化生成的界面,最簡單的方法就是在以下這行代碼增加主題參數(shù),gradio模塊預(yù)設(shè)了多種不同的生成web的主題,詳情可參考gradio官網(wǎng)
`with gr.Blocks(theme=Soft()) as demo:`
最后點擊運(yùn)行即可
順便提一句:在控制臺輸入nvidia-smi -l 1
可以即時監(jiān)控gpu顯存使用情況
效果圖
生成在線鏈接發(fā)送給到微信打開效果圖
參考文獻(xiàn)
A. Zeng等, 《GLM-130B: An Open Bilingual Pre-trained Model》, 發(fā)表于 The Eleventh International Conference on Learning Representations, 2月 2023. 見于: 2023年3月30日. [在線]. 載于: https://openreview.net/forum?id=-Aw0rrrPUF文章來源:http://www.zghlxwxcb.cn/news/detail-414990.html
開發(fā)者GitHub:https://github.com/THUDM/ChatGLM-6B文章來源地址http://www.zghlxwxcb.cn/news/detail-414990.html
到了這里,關(guān)于【ChatGLM】在電腦部署屬于自己的人工智能/ChatGPT平替/可離線/可發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!