如何本地部署ChatGPT大模型
一、介紹 二、iPhone本地部署 三、LLaMa2本地?部署 四、Stable Diffusion本地部署 五、ChatGLM部署 5.1 前置安裝 5.2 修改代碼 5.3、運行
美東時間11月6日舉行的OpenAI首屆開發(fā)者大會(OpenAI DevDay)上,OpenAI宣布,推出自定義版本的ChatGPT,這種由用戶定制版本的ChatGPT都簡稱為GPT。從周二當天開始,用戶可以打造自己的GPT,并且公開分享。
此外,Runway的視頻生成工具Gen-2也推出新功能“Motion Brush”(運動筆刷),該功能可以通過手勢控制生成內容的運動,無需輸入文字,大有顛覆未來視頻和電影制作行業(yè)的趨勢,人人都是電影制作導演。
Turbo版GPT 4也迎來了更大的優(yōu)化加強,各AI公司產品也層出不窮,Polycam發(fā)布3DGS、OpenAI發(fā)布Dall·E3同款解碼器Consistency Decoder、Meetups.AI推出OpenAI助手目錄、NousResearch推出長文本語境模型Yarn-Mistral-7b-128k,上周算得上AI春晚了。
而Sam Altman 在大會收尾中暗示,OpenAI 正在進行下一輪重大創(chuàng)新,到時候所有人會發(fā)現今天發(fā)布的東西是如此的不值一提。
如果說上周之前有人說GPT在未來會取代程序員我還會覺得可笑,那么AI春晚后再有人說這句話我就會倍感焦慮了。
所以計劃后續(xù)進行一些GPT相關的學習與分享,包括資訊、應用等。
本文會介紹一些本地部署訓練一些大模型的方案,主要包括ChatGLM、LLaMa2、AI繪圖工具Stable Diffusion、以及一個iOS的本地大模型應用。
一、介紹
什么是GPT?ChatGPT最基本的原理其實就在它的名稱中,GPT (Generative Pre-training Transformer)。
-
Chat 聊天
-
G Generative 生成
-
P Pre-training 預訓練
-
T Transformer
而與之有鮮明對比的是智普AI開源的ChatGLM-6B,其原理是GLM(General Language Model),雖然跑起來有類似ChatGPT的效果,但在原理上是天差地別,但由于其參數量只有6B大小,且對中文語料支持友好,算得上是個人部署的最佳選擇。
此外還有復旦開源的MOSS,Meta開源的LLaMa等。
由于運行依賴GPU,雖然使用CPU也可以部署,但生成速度會非常慢。
二、iPhone本地部署
首先推薦一種最簡單的安裝部署方式,如果你使用iOS,那么可以使用LLMFarm,安裝后只需要下載模型導入即可,詳細操作可以參考該項目Readme。
https://github.com/guinmoon/LLMFarm
| 聊天機器人 | 模型 | 生成內容 |
|---|---|---|
![]() |
![]() |
content3 |
三、LLaMa2本地部署
LLaMA2-7B默認是cuda模式,需要基于GPU來訓練運行,對個人用戶支持不友好,好在@ggerganov(此人還移植了whisper https://github.com/ggerganov/whisper.cpp)開源了C++實現的基于LLaMA跑在CPU上的版本,可以有效解決MacOS用戶難處。
https://github.com/ggerganov/llama.cpp
-
clone代碼
git clone https://github.com/ggerganov/llama.cpp
-
進入項目目錄
cd llama.cpp
-
創(chuàng)建模型文件夾
mkdir models
-
下載模型
https://huggingface.co/nyanko7/LLaMA-7B/tree/main
-
下載后在models下新建7B目錄,將模型放入
tokenizer.model放在models下;checklist.chk、consolidated.00.pth、params.json放在7B目錄下。
-
將模型轉化為C++版本
python convert-pth-to-ggml.py models/7B/ 1
成功后7B目錄下出現ggml-model-f16.bin
-
執(zhí)行make命令
項目目錄下出現main.cpp文件
-
使用
./main -m ./models/7B/ggml-model-f16.bin -p '幫我寫一首詩'

四、Stable Diffusion本地部署
Stable Diffusion目前有可以一鍵運行的包,個人只需要下載不同繪畫風格的模型即可。
應用下載: https://github.com/AUTOMATIC1111/stable-diffusion-webui
模型下載: https://huggingface.co/runwayml/stable-diffusion-v1-5
下載后運行webui-user.sh即會提示本地運行端口與地址。
五、ChatGLM部署
5.1 前置安裝
-
安裝Conda
https://www.paddlepaddle.org.cn/documentation/docs/zh/2.2/install/conda/macos-conda.html
-
安裝Git、Brew
-
LFS安裝
https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
https://git-lfs.com/
-
下載glm源碼
https://github.com/THUDM/ChatGLM2-6B
-
下載glm2-6b模型
https://huggingface.co/THUDM/chatglm2-6b/tree/main
-
安裝mps
curl -O https://mac.r-project.org/openmp/openmp-14.0.6-darwin20-Release.tar.gz
sudo tar fvxz openmp-14.0.6-darwin20-Release.tar.gz -C /
5.2 修改代碼
- - gpu
tokenizer = AutoTokenizer.from_pretrained("/Users/?/Desktop/llm-model/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("/Users/?/Desktop/llm-model/chatglm2-6b", trust_remote_code=True).half().to('mps')
5.3、運行
python cli_demo.py
文中 鏈接請點擊閱讀原文訪問。



content3