全部產品
Search
文件中心

Alibaba Cloud Linux:使用AMD CPU部署AI容器鏡像ChatGLM3-6B

更新時間:Sep 05, 2026

本文以聊天機器人為例,介紹如何使用Alibaba Cloud AI Containers(簡稱AC2)提供的AI容器鏡像在AMD CPU上部署ChatGLM3-6B語言模型。

背景資訊

ChatGLM3是ChatGLM系列最新一代的開源模型,在保留了前兩代模型對話流暢、部署門檻低等眾多優秀特性的基礎上,ChatGLM3-6B引入了更強大的基本模型、更完整的功能支援和更全面的開源序列。更多資訊,請參見ChatGLM3-6B的開源repo。

步驟一:建立ECS執行個體

  1. 前往執行個體建立頁。

  2. 按照介面提示完成參數配置,建立一台ECS執行個體。

    需要注意的參數如下,其他參數的配置,請參見自訂購買執行個體。

    • 執行個體:ChatGLM3-6B大概需要30 GiB記憶體,為了保證模型啟動並執行穩定,執行個體規格至少需要選擇ecs.g8a.4xlarge(64 GiB記憶體)。

    • 鏡像:Alibaba Cloud Linux 3.2104 LTS 64位。

    • 公網IP:選中分配公網IPv4地址,頻寬計費模式選擇按使用流量,頻寬峰值設定為100 Mbps。以加快模型下載速度。

    • 資料盤:ChatGLM3-6B的運行需要下載多個模型檔案,會佔用大量儲存空間,為了保證模型順利運行,建議資料盤設定為100 GiB。

步驟二:建立Docker運行環境

  1. 安裝Docker。

    在Alibaba Cloud Linux 3上安裝Docker可以參考安裝並使用Docker和Docker Compose。

  2. 運行以下命令,確保Docker守護進程已經啟用。

    sudo systemctl status docker
  3. 運行以下命令,建立並運行PyTorch AI容器。

    AC2提供了豐富的AI情境下的容器鏡像,其中就包括針對AMD最佳化的PyTorch鏡像,可以使用該鏡像快速建立一個PyTorch運行環境。

    sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch-amd:1.13.1-3.2304-zendnn4.1
    sudo docker run -itd --name pytorch-amd --net host -v $HOME/workspace:/workspace \
      ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch-amd:1.13.1-3.2304-zendnn4.1

步驟三:手動部署ChatGLM3-6B

  1. 運行以下命令,進入容器環境。

    sudo docker exec -it -w /workspace pytorch-amd /bin/bash

    後續命令需在容器環境中執行,如意外退出,請使用以上命令重新進入容器環境。您可以運行cat /proc/1/cgroup | grep docker命令查看當前環境是否為容器,如有回顯資訊則為容器環境。

  2. 運行以下命令,安裝配置軟體。

    yum install -y tmux git git-lfs wget
  3. 運行以下命令,啟用Git LFS。

    下載預訓練模型需要Git LFS的支援。

    git lfs install
  4. 下載源碼與模型。

    1. 運行以下命令,建立一個tmux session。

      tmux
      說明

      下載預訓練模型耗時較長,且成功率受網路情況影響較大,建議在tmux session中下載,以免ECS中斷連線導致下載模型中斷。

    2. 運行以下命令,下載ChatGLM3-6B專案源碼,以及預訓練模型。

      git clone https://github.com/THUDM/ChatGLM3.git
      git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git --depth=1
    3. 運行以下命令,查看目前的目錄。

      ls -l

      下載完成後,目前的目錄顯示如下。

      [root@iZ2zexxxxxxxxxxxx workspace]# ls -l
      total 8
      drwxr-xr-x 12 root root 4096 Feb  6 09:35 ChatGLM3
      drwxr-xr-x  3 root root 4096 Feb  6 09:57 chatglm3-6b
  5. 運行以下命令,部署運行環境。

    AC2容器中,整合了眾多的Python AI相依元件,可以直接使用yum或dnf安裝Python運行依賴。

    yum install -y python3-{transformers,sentencepiece,protobuf,accelerate}
  6. 運行AI對話。

    1. 運行以下命令,修改模型載入參數。

      在專案源碼中提供了終端樣本指令碼,可以運行ChatGLM3-6B模型實現本地聊天機器人。在運行指令碼之前,需要修改模型載入參數,使用BF16精度載入,以利用CPU的AVX-512指令集進行加速。

      cd /workspace/ChatGLM3/basic_demo
      grep "import torch" cli_demo.py 2>&1 >/dev/null || sed -i "3i\import torch" cli_demo.py
      sed -i 's/"auto")/"auto", torch_dtype=torch.bfloat16)/g' cli_demo.py
    2. 運行以下命令,啟動聊天機器人。

      export MODEL_PATH="/workspace/chatglm3-6b"
      python3 cli_demo.py

      部署完成後可以通過在使用者:提示符處輸入對話內容,就可以與ChatGLM3-6B大模型進行即時對話。

      [root@iz2ze*** basic_demo]# python3 cli_demo.py
      Loading checkpoint shards: 100%|xxx|
      歡迎使用 ChatGLM3-6B 模型,輸入內容即可進行對話,clear 清空對話歷史,stop 終止程式
      
      使用者:你是誰?你能幹什麼呢?
      
      ChatGLM:你好,我是一個人工智慧助手。我能回答你的問題和協助你解決問題。我的功能包括但不限於:
      
      1. 回答各種問題:我可以回答關於歷史、科學、數學、文學等方面的問題。
      2. 提供實用建議:無論是生活中的小問題,還是工作學習上的難題,我都可以儘力提供協助。
      3. 娛樂休閑:我可以陪你聊天、講笑話、分享有趣的事物,協助你放鬆心情。
      
      需要注意的是,雖然我會儘力提供準確的資訊和建議,但我的知識和能力仍然有限。在涉及重要決策時,請務必謹慎行事。如有需要,請隨時向我提問,我會竭誠為您服務。
      
      使用者:
      說明

      您可以運行stop命令退出聊天機器人。