Terapkan model bahasa ChatGLM3-6B pada instans ECS berbasis AMD menggunakan gambar Alibaba Cloud AI Containers (AC2), dengan chatbot sebagai contoh implementasi.
Informasi latar belakang
ChatGLM3 adalah generasi terbaru model open source dalam seri ChatGLM. ChatGLM3-6B mempertahankan alur percakapan yang lancar dan persyaratan penerapan yang rendah dari versi sebelumnya, sekaligus menambahkan model dasar yang lebih kuat, dukungan fitur yang lebih luas, serta cakupan open source yang lebih komprehensif (repositori open source ChatGLM3-6B).
Langkah 1: Buat instans ECS
-
Konfigurasikan instans dengan parameter utama berikut.
Untuk semua parameter lainnya, ikuti petunjuk di Buat instans kustom.
-
Instance: ChatGLM3-6B memerlukan sekitar 30 GiB memori. Pilih setidaknya ecs.g8a.4xlarge (64 GiB) untuk operasi yang stabil.
-
Image: Alibaba Cloud Linux 3.2104 LTS 64-bit.
-
Public IP: Pilih Assign Public IPv4 Address. Atur metode penagihan ke Pay-By-Traffic dengan bandwidth puncak 100 Mbps untuk mempercepat pengunduhan model.

-
Data Disk: File model memerlukan ruang penyimpanan yang besar. Atur ukuran data disk menjadi 100 GiB.
-
Langkah 2: Buat lingkungan runtime Docker
-
Instal Docker.
Instal Docker pada Alibaba Cloud Linux 3 seperti yang dijelaskan dalam Instal dan gunakan Docker dan Docker Compose.
-
Verifikasi bahwa daemon Docker sedang berjalan.
sudo systemctl status docker -
Buat dan jalankan kontainer PyTorch yang dioptimalkan untuk AMD dari AC2.
AC2 menyediakan gambar PyTorch yang dioptimalkan untuk CPU AMD guna menyiapkan lingkungan runtime dengan cepat.
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
Langkah 3: Terapkan ChatGLM3-6B secara manual
-
Masuk ke lingkungan kontainer.
sudo docker exec -it -w /workspace pytorch-amd /bin/bashSemua perintah selanjutnya dijalankan di dalam kontainer. Jika Anda keluar, jalankan kembali perintah di atas untuk masuk kembali. Untuk memverifikasi bahwa Anda berada di dalam kontainer, jalankan
cat /proc/1/cgroup | grep docker— adanya output menandakan Anda berada di lingkungan kontainer. -
Instal alat yang diperlukan.
yum install -y tmux git git-lfs wget -
Aktifkan Git LFS.
Git LFS diperlukan untuk mengunduh model pra-latih.
git lfs install -
Unduh kode sumber dan model.
-
Jalankan sesi tmux.
tmuxCatatanPengunduhan model memakan waktu lama dan bergantung pada jaringan. Gunakan tmux untuk mencegah gangguan jika koneksi SSH terputus.
-
Unduh kode sumber dan model pra-latih ChatGLM3-6B.
git clone https://github.com/THUDM/ChatGLM3.git git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git --depth=1 -
Verifikasi hasil unduhan.
ls -lSetelah pengunduhan selesai, direktori berisi item berikut.

-
-
Instal dependensi runtime Python.
Kontainer AC2 telah menyertakan banyak komponen AI Python. Gunakan
yumataudnfuntuk menginstal dependensi tambahan.yum install -y python3-{transformers,sentencepiece,protobuf,accelerate} -
Jalankan percakapan chatbot.
-
Ubah parameter pemuatan model.
Kode sumber mencakup skrip chatbot terminal. Sebelum menjalankannya, konfigurasikan model agar dimuat dengan presisi BF16, yang memanfaatkan set instruksi AVX-512 CPU untuk akselerasi.
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 -
Jalankan chatbot.
export MODEL_PATH="/workspace/chatglm3-6b" python3 cli_demo.pySetelah startup selesai, masukkan teks pada prompt
User:untuk berinteraksi secara real time dengan ChatGLM3-6B.
CatatanMasukkan
stopuntuk keluar dari chatbot.
-