Topik ini menjelaskan cara menggunakan gambar kontainer Kecerdasan Buatan (AI) dari Alibaba Cloud AI Containers (AC2) untuk menerapkan model ChatGLM3-6B pada instance Elastic Compute Service (ECS) dengan prosesor AMD guna membuat chatbot.
Informasi latar belakang
ChatGLM3 adalah generasi terbaru dari model open source dalam seri ChatGLM. ChatGLM3-6B mewarisi fitur seperti kemampuan dialog yang lancar dan penerapan yang mudah dari pendahulunya, serta memperkenalkan model dasar yang lebih kuat, fungsionalitas yang lebih luas, dan serangkaian open source yang lebih ekstensif. Untuk informasi lebih lanjut, lihat ChatGLM3-6B.
Langkah 1: Buat instance ECS
Buka halaman pembelian instance di konsol Elastic Compute Service (ECS).
Konfigurasikan parameter sesuai petunjuk untuk membuat instance ECS.
Catat parameter berikut. Untuk informasi tentang cara mengonfigurasi parameter lainnya di halaman pembelian instance ECS, lihat Buat Instance di Tab Peluncuran Kustom.
Instance: Model ChatGLM3-6B membutuhkan sekitar 30 GiB memori. Untuk memastikan model berjalan stabil, pilih ecs.g8a.4xlarge atau tipe instance lain dengan 64 GiB memori atau lebih.
Image: Pilih image Alibaba Cloud Linux 3.2104 LTS 64-bit.
Public IP Address: Untuk mempercepat proses unduhan model, pilih Assign Public IPv4 Address, atur Metode Penagihan Bandwidth ke Pay-by-traffic, dan kemudian atur Bandwidth Maksimum ke 100 Mbit/s.

Data Disk: Beberapa file model untuk ChatGLM3-6B perlu diunduh dan menempati volume penyimpanan yang besar. Untuk memastikan model berjalan sesuai harapan, kami sarankan Anda menambahkan disk data 100-GiB.
Langkah 2: Buat lingkungan runtime Docker
Instal Docker.
Untuk informasi tentang cara menginstal Docker pada instance ECS yang menjalankan Alibaba Cloud Linux 3, lihat Instal Docker.
Jalankan perintah berikut untuk memverifikasi bahwa daemon Docker telah dimulai:
sudo systemctl status dockerJalankan perintah berikut untuk membuat dan menjalankan kontainer AI PyTorch.
AC2 menyediakan berbagai macam gambar kontainer untuk skenario AI, termasuk gambar PyTorch yang dioptimalkan untuk perangkat keras dan perangkat lunak AMD dan dapat digunakan untuk dengan cepat membuat lingkungan runtime 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
Langkah 3: Terapkan ChatGLM3-6B
Jalankan perintah berikut untuk masuk ke lingkungan kontainer:
sudo docker exec -it -w /workspace pytorch-amd /bin/bashAnda harus menggunakan lingkungan kontainer untuk menjalankan perintah selanjutnya. Jika Anda keluar secara tidak sengaja, masuk kembali ke lingkungan kontainer menggunakan perintah di atas. Anda dapat menjalankan perintah
cat /proc/1/cgroup | grep dockeruntuk memeriksa apakah lingkungan saat ini adalah kontainer. Jika ada output perintah yang dikembalikan, lingkungannya adalah kontainer.Jalankan perintah berikut untuk menginstal dan mengonfigurasi perangkat lunak yang diperlukan:
yum install -y tmux git git-lfs wgetJalankan perintah berikut untuk mengaktifkan Git Large File Storage (LFS).
Untuk mengunduh model pra-pelatihan, Anda harus mengaktifkan Git LFS.
git lfs installUnduh kode sumber dan model.
Jalankan perintah berikut untuk membuat sesi tmux:
tmuxCatatanDibutuhkan waktu yang lama untuk mengunduh model pra-pelatihan, dan tingkat keberhasilan unduhan bervariasi berdasarkan kondisi jaringan. Untuk mempertahankan koneksi ke instance ECS dan kelangsungan proses unduhan model, kami sarankan Anda mengunduh model dalam sesi tmux.
Jalankan perintah berikut untuk mengunduh kode sumber dan model pra-pelatihan proyek ChatGLM3-6B:
git clone https://github.com/THUDM/ChatGLM3.git git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git --depth=1Jalankan perintah berikut untuk melihat direktori kerja saat ini:
ls -lSetelah proses unduhan selesai, direktori saat ini ditampilkan seperti yang ditunjukkan pada gambar berikut.

Jalankan perintah berikut untuk menerapkan lingkungan runtime.
Sejumlah besar dependensi Python AI diintegrasikan ke dalam AC2. Anda dapat menggunakan
Yellowdog Updater Modified (YUM)atauDandified YUM (DNF)untuk menginstal dependensi runtime Python.yum install -y python3-{transformers,sentencepiece,protobuf,accelerate}Berinteraksi dengan chatbot.
Jalankan perintah berikut untuk memodifikasi parameter muat model.
Contoh skrip terminal disediakan dalam kode sumber proyek, yang memungkinkan Anda menjalankan model ChatGLM3-6B untuk berinteraksi dengan chatbot di tempat. Sebelum Anda menjalankan skrip, modifikasi parameter muat model untuk memuat model dengan presisi BFloat16 dan mempercepat proses pemuatan dengan menggunakan set instruksi AVX-512 untuk CPU.
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.pyJalankan perintah berikut untuk memulai chatbot:
export MODEL_PATH="/workspace/chatglm3-6b" python3 cli_demo.pySetelah proses penyebaran selesai, Anda dapat memasukkan teks di prompt
User:untuk berinteraksi dengan model ChatGLM3-6B secara real-time.
CatatanAnda dapat menjalankan perintah
stopuntuk keluar dari chatbot.