Topik ini menjelaskan cara menggunakan gambar kontainer Kecerdasan Buatan (AI) dari Alibaba Cloud AI Containers (AC2) untuk menerapkan Qwen-7B-Chat pada Instance ECS (Elastic Compute Service) dengan GPU NVIDIA guna membuat chatbot.
Langkah 1: Buat Instance ECS
Buka halaman pembelian instance di Konsol ECS.
Konfigurasikan parameter sesuai petunjuk untuk membuat Instance ECS.
Catat parameter berikut. Untuk informasi lebih lanjut tentang konfigurasi parameter lainnya di halaman pembelian Instance ECS, lihat Buat Instance di Tab Peluncuran Kustom.
Instance: Qwen-7B-Chat memerlukan lebih dari 16 GiB Memori GPU. Untuk memastikan stabilitas model, pilih tipe instance minimal ecs.gn6i-c4g1.xlarge.
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 tetapkan Bandwidth Maksimum ke 100 Mbit/s.

Data Disk: Beberapa file model Qwen-7B-Chat memerlukan ruang penyimpanan besar. Untuk memastikan kinerja optimal, tambahkan disk data minimal 100 GiB.
Langkah 2: Buat lingkungan runtime Docker
Instal Docker.
Untuk panduan instalasi Docker pada Instance ECS dengan Alibaba Cloud Linux 3, lihat Instal Docker.
Jalankan perintah berikut untuk memverifikasi bahwa daemon Docker telah dimulai:
sudo systemctl status dockerJalankan perintah berikut untuk menginstal driver NVIDIA dan Komponen Compute Unified Device Architecture (CUDA):
sudo dnf install -y anolis-epao-release sudo dnf install -y kernel-devel-$(uname -r) nvidia-driver{,-cuda}Jalankan perintah berikut untuk menginstal NVIDIA Container Toolkit:
sudo dnf install -y nvidia-container-toolkitJalankan perintah berikut untuk memulai ulang daemon Docker. Saat NVIDIA Container Toolkit terpasang, panggilan balik pra-mulai Oracle Cloud Infrastructure (OCI) ditambahkan. Selama pemulangan daemon Docker, GPU menjadi dapat diakses oleh kontainer melalui panggilan balik pra-mulai OCI.
sudo systemctl restart dockerSetelah daemon Docker dimulai ulang, kemampuan pass-through GPU diaktifkan untuk Docker. Saat membuat kontainer, konfigurasikan parameter
--gpus <gpu-request>untuk menentukan GPU mana yang akan dilewatkan.Jalankan perintah berikut untuk membuat dan menjalankan kontainer AI PyTorch:
AC2 menyediakan berbagai gambar kontainer AI. Anda dapat menggunakan gambar tersebut untuk dengan cepat membuat lingkungan runtime PyTorch.
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121 sudo docker run -itd --name pytorch --gpus all --net host -v $HOME/workspace:/workspace \ ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121Saat perintah sebelumnya dijalankan, sistem menarik gambar kontainer, menggunakan gambar untuk membuat kontainer bernama
pytorchyang berjalan dalam mode terpisah, serta memetakan direktori home ke kontainer untuk melestarikan kode.
Langkah 3: Terapkan Qwen-7B-Chat
Jalankan perintah berikut untuk masuk ke lingkungan kontainer:
sudo docker exec -it -w /workspace pytorch /bin/bashAnda harus menggunakan lingkungan kontainer untuk menjalankan perintah selanjutnya. Jika keluar secara tidak sengaja, masuk kembali ke lingkungan kontainer. Gunakan perintah
cat /proc/1/cgroup | grep dockeruntuk memeriksa apakah lingkungan saat ini adalah kontainer. Jika ada keluaran perintah yang dikembalikan, lingkungannya adalah kontainer.Jalankan perintah berikut untuk menginstal dan mengonfigurasi perangkat lunak yang diperlukan:
yum install -y git git-lfs wget tmuxJalankan perintah berikut untuk mengaktifkan Git Large File Storage (LFS).
Mengunduh model pralatih memerlukan dukungan Git LFS.
git lfs installUnduh kode sumber dan model.
Buat sesi tmux:
tmuxCatatan: Proses pengunduhan model pralatih memerlukan waktu lama. Disarankan untuk mengunduh model dalam sesi tmux. Jika instance terputus, sambungkan kembali ke instance dan jalankan perintah
tmux attachuntuk melanjutkan sesi.Jalankan perintah berikut untuk mengunduh kode sumber dan model pralatih proyek Qwen-7B-Chat:
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1
Jalankan perintah berikut untuk menerapkan lingkungan runtime:
Sejumlah dependensi Python AI telah diintegrasikan ke dalam AC2. Anda dapat menggunakan
YUMatauDandified YUM (DNF)untuk menginstal dependensi runtime Python.dnf install -y python-einops \ python3-datasets \ python3-gradio \ python3-mdtex2html \ python3-protobuf \ python3-psutil \ python3-pyyaml \ python3-rich \ python3-scikit-learn \ python3-scipy \ python3-sentencepiece \ python3-tensorboard \ python3-tiktoken \ python3-transformers \ python3-transformers-stream-generator \ yum-utilsBeberapa dependensi tertentu harus diunduh dan diinstal secara manual untuk mencegah komponen dalam gambar AC2 tertimpa selama instalasi.
yumdownloader --destdir ./rpmpkgs python3-timm python3-accelerate rpm -ivh --nodeps rpmpkgs/*.rpm && rm -rf rpmpkgsBerinteraksi dengan chatbot:
Jalankan perintah berikut untuk memulai chatbot:
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chatSetelah penyebaran selesai, Anda dapat memasukkan teks di prompt
User:untuk berbicara dengan model Qwen-7B-Chat secara real-time.
CatatanUntuk keluar dari chatbot, jalankan perintah
:exit.