通過在ECS實例(非GPU實例)上綁定一個EAIS實例,即可生成一款新規格的GPU實例,該方式相比直接購買GPU實例,可以實現GPU資源的彈性使用(例如您可以根據實際需要綁定EAIS實例,即可靈活為ECS實例提供GPU資源),并為您降低部署成本和使用成本。本文介紹如何將EAIS實例綁定到ECS實例上,然后通過安裝EAIS軟件包的方式手動搭建ChatGLM-6B Web服務和進行模型微調。
背景信息
ChatGLM-6B是一個對話語言模型,您可以使用EAIS實例來部署ChatGLM-6B,也可以直接在GPU實例上部署。在ECS實例上綁定EAIS實例來部署ChatGLM-6B的方式,相比直接購買GPU實例部署,可以從如下方面節省成本。更多EAIS實例優勢,請參見低成本。
更多ChatGLM-6B信息,請參見ChatGLM-6B。
更多GPU實例信息,請參見什么是GPU云服務器。
節省部署成本:
在您使用ECS實例(非GPU實例)完成環境搭建之前,您無需創建EAIS實例,此時,僅有ECS實例(非GPU實例)在計費。如果您直接購買GPU實例然后在GPU實例上部署環境,將花費更多的成本用于部署環境。
節省使用成本:
GPU資源靈活掛載:當您部署好ChatGLM-6B后,如果您暫時不需要執行ChatGLM-6B任務,您可以前往EAIS控制臺解綁并釋放EAIS實例。然后在您需要執行任務時,再重新創建并綁定EAIS實例,此時,您在ECS實例上部署的環境沒有任何影響。因此,您只需要長期擁有一臺相比GPU實例更便宜的ECS實例,然后在需要使用GPU時掛載一臺EAIS實例,該方式可以節省更多成本。
說明使用EAIS控制臺和調用CreateEaisEi創建的EAIS實例,還可以通過停止或啟動EAIS實例來靈活地為ECS實例提供GPU能力。只有啟動EAIS實例時才會計費,停止EAIS實例即可結束計費,因此,還可以節省更多成本。
單價便宜:對比計費單價,使用EAIS實例比相同算力的GPU實例更加便宜。
計費說明
在部署和使用ChatGLM-6B的過程中,涉及的計費內容如下:
環境說明
本教程將以如下EAIS實例與ECS實例為例,為您介紹使用EAIS實例部署ChatGLM-6B。
ECS實例:
實例規格:ecs.g7.xlarge(4 vCPU、16 GiB內存)
操作系統:Ubuntu 20.04
系統盤容量:100 GiB
EAIS實例規格:eais.ei-a6.2xlarge
ECS實例和EAIS實例的地域和可用區:華北2(北京) 可用區I
說明ECS實例與EAIS實例處于同一個可用區時,可以提高推理性能。您可以在EAIS實例規格支持的地域和可用區下創建ECS實例。EAIS實例規格支持的地域和可用區信息,請參見實例規格限制。
步驟一:創建ECS實例
步驟二:在ECS實例上部署ChatGLM-6B環境
遠程連接ECS實例。
具體操作,請參見在Linux或macOS環境中使用用戶名密碼驗證。
執行如下命令,安裝CUDA 11.8.0。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit
安裝eais-tool軟件包,然后查看EAIS實例的相關信息。
具體操作,請參見eais-tool。
安裝eais-cuda軟件包。
具體操作,請參見eais-cuda。
執行如下命令,下載ChatGLM-6B模型。
ChatGLM-6B模型總大小約25 GB,下載時間大概為15~30分鐘,請您耐心等待。
說明由于ChatGLM-6B模型較大,如果在運行ChatGLM程序時,由ChatGLM程序自動下載模型的等待時間會較長,因此,推薦使用該命令提前下載好模型。
apt-get update apt-get install -y git git-lfs git clone https://huggingface.co/THUDM/chatglm-6b
執行如下命令,下載ChatGLM-6B源碼并安裝ChatGLM-6B運行環境。
git clone https://github.com/THUDM/chatglm-6b cd ChatGLM-6B pip3 install -r requirements.txt
步驟三:創建EAIS實例并綁定至ECS實例
創建EAIS實例。
具體操作,請參見創建EAIS實例。
創建EAIS實例時,您需要注意如下配置項,未提及的配置項您根據實際情況設置即可。
配置項
配置示例
地域
華北2(北京)
實例規格
eais.ei-a6.2xlarge
將EAIS實例綁定至步驟一:創建ECS實例創建的ECS實例。
具體操作,請參見綁定ECS實例。
步驟四:啟動EAIS實例
僅使用EAIS控制臺和調用CreateEaisEi創建的EAIS實例需要執行本操作。
綁定EAIS實例至ECS實例后,您必須要啟動EAIS實例才能使用EAIS提供的GPU能力,具體操作,請參見啟動EAIS實例。
步驟五:使用ChatGLM
EAIS支持使用ChatGLM來搭建Web服務和對您的模型進行微調(即finetune),您可以根據您的實際業務需求來使用ChatGLM。
搭建ChatGLM-6B Web服務
如果您需要使用ChatGLM來搭建Web服務,您可以參考如下步驟進行操作。
遠程連接ECS實例。
具體操作,請參見在Linux或macOS環境中使用用戶名密碼驗證。
找到步驟二:在ECS實例上部署ChatGLM-6B環境中下載的ChatGLM-6B源碼中的web_demo.py腳本,然后修改腳本代碼。
將腳本中的
THUDM/chatglm-6b
替換為本地chatglm-6b
模型文件夾的路徑,本文以/root/chatglm-6b
為例。待替換腳本示例如下:
將腳本中的
share=False
修改為share=True
。待修改代碼示例如下:
執行如下命令,啟動ChatGLM-6B Web服務。
python3 web_demo.py
如果出現如下回顯信息,則表示配置正確,成功啟動ChatGLM-6B Web服務。此時,您需要記錄下
public URL
地址。在您的本地機器上使用瀏覽器訪問
public URL
地址,檢查ChatGLM-6B Web服務是否搭建成功。以
public URL
地址是https://1d9b1eb4025cc2fc2c.gradio.live
為例,出現如下界面,表示成功訪問public URL
地址,您已成功搭建了ChatGLM-6B Web服務。您可以體驗該服務,具體操作,請參見網頁版Demo。
使用ChatGLM-6B進行微調
您可以使用ChatGLM來對您的模型進行微調(即finetune),具體操作,請參見ChatGLM-6B。針對本教程,您需要注意如下操作:
更多微調信息,請參見ptuning。
在進行微調前,您需要找到步驟二:在ECS實例上部署ChatGLM-6B環境中下載的ChatGLM-6B源碼中的train.sh腳本(該腳本位于ptuning
目錄下),然后將train.sh腳本中的THUDM/chatglm-6b
替換為您本地的chatglm-6b
模型文件夾的路徑,例如/root/chatglm-6b
。待替換腳本示例如下:
(可選)步驟六:停止EAIS實例
僅使用EAIS控制臺和調用CreateEaisEi創建的EAIS實例支持執行本操作。
當您暫時不需要EAIS實例提供的GPU能力時,可以停止EAIS實例,從而避免不必要的計費。具體操作,請參見停止EAIS實例。
(可選)步驟七:解綁并釋放EAIS實例
為滿足您業務的靈活性,您可以根據需要解除ECS實例與已綁定的EAIS實例之間的關聯,然后再釋放EAIS實例,從而實現GPU資源的彈性使用。
相關文檔
您也可以通過EAIS提供的鏡像部署ChatGLM-6B,請參見(推薦)使用EAIS提供的鏡像快速部署ChatGLM-6B。
如果您需要通過EAIS實例部署ChatGLM2-6B,請參見使用EAIS實例部署ChatGLM2-6B。
如果您需要通過EAIS實例部署Stable-Diffusion,請參見使用EAIS實例部署Stable-Diffusion。