このドキュメントでは、Alibaba Cloud AI Containers (AC2) イメージを使用して、AMD ベースの ECS インスタンスに ChatGLM3-6B 言語モデルをデプロイし、チャットボットを実例として紹介します。
背景情報
ChatGLM3 は、ChatGLM シリーズの最新世代のオープンソースモデルです。ChatGLM3-6B は、以前のバージョンからスムーズな会話フローと低いデプロイ要件を維持しつつ、より強力な基盤モデル、より広範な機能サポート、およびより包括的なオープンソースシリーズ (ChatGLM3-6B オープンソースリポジトリ) を追加しています。
ステップ1:ECS インスタンスの作成
-
インスタンス作成ページへ移動します。
-
インスタンスを以下の主要なパラメータで設定します。
他のすべてのパラメータについては、「カスタムインスタンスの作成」をご参照ください。
-
[インスタンス]:ChatGLM3-6B は約 30 GiB のメモリを必要とします。安定した運用のために、少なくとも ecs.g8a.4xlarge (64 GiB) を選択してください。
-
[イメージ]:Alibaba Cloud Linux 3.2104 LTS 64 ビット。
-
[パブリック IP]:[Assign Public IPv4 Address] を選択します。課金方法を [Pay-By-Traffic] に、ピーク帯域幅を [100] Mbps に設定して、モデルのダウンロードを高速化します。

-
[データディスク]:モデルファイルにはかなりのストレージが必要です。データディスクサイズを 100 GiB に設定します。
-
ステップ2:Docker ランタイム環境の作成
-
Docker をインストールします。
「Docker と Docker Compose のインストールと使用」の説明に従って、Alibaba Cloud Linux 3 に Docker をインストールします。
-
Docker デーモンが実行中であることを確認します。
sudo systemctl status docker -
AC2 から AMD 最適化 PyTorch コンテナを作成して実行します。
AC2 は、AMD CPU に最適化された 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
ステップ3:ChatGLM3-6B の手動デプロイ
-
コンテナ環境に入ります。
sudo docker exec -it -w /workspace pytorch-amd /bin/bashこれ以降のすべてのコマンドはコンテナ内で実行されます。コンテナから出た場合は、前のコマンドを再実行して再度コンテナ環境に入ってください。コンテナ内にいることを確認するには、
cat /proc/1/cgroup | grep dockerを実行します。何らかの出力があれば、コンテナ環境であることが確認できます。 -
必要なツールをインストールします。
yum install -y tmux git git-lfs wget -
Git LFS を有効にします。
事前学習済みモデルをダウンロードするには Git LFS が必要です。
git lfs install -
ソースコードとモデルをダウンロードします。
-
tmux セッションを開始します。
tmux説明モデルのダウンロードは時間がかかり、ネットワークに依存します。tmux を使用して、SSH 接続が切断された場合の中断を防ぎます。
-
ChatGLM3-6B のソースコードと事前学習済みモデルをダウンロードします。
git clone https://github.com/THUDM/ChatGLM3.git git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git --depth=1 -
ダウンロードを確認します。
ls -lダウンロード後、ディレクトリには次のものが含まれます。

-
-
Python ランタイムの依存関係をインストールします。
AC2 コンテナには多くの Python AI コンポーネントがバンドルされています。
yumまたはdnfを使用して、残りの依存関係をインストールします。yum install -y python3-{transformers,sentencepiece,protobuf,accelerate} -
チャットボットの対話デモを実行します。
-
モデルの読み込みパラメータを変更します。
ソースコードには、ターミナルチャットボットスクリプトが含まれています。実行する前に、CPU の AVX-512 命令セットを使用して高速化する BF16 精度でモデルを読み込むように設定します。
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 -
チャットボットを開始します。
export MODEL_PATH="/workspace/chatglm3-6b" python3 cli_demo.py起動後、
User:プロンプトにテキストを入力すると、ChatGLM3-6B とリアルタイムでチャットできます。
説明stopと入力してチャットボットを終了します。
-