Terapkan model bahasa besar Qwen-7B-Chat pada CPU Intel menggunakan gambar Alibaba Cloud AI Containers (AC2).
Latar Belakang
Qwen-7B adalah model dengan 7 miliar parameter dalam seri model bahasa besar (LLM) Qwen yang dikembangkan oleh Alibaba Cloud. Model ini merupakan LLM berbasis Transformer yang telah menjalani pre-train pada set data masif yang mencakup berbagai jenis data, termasuk teks web, buku profesional, dan kode. Qwen-7B-Chat adalah asisten AI yang dibuat dengan menerapkan teknik penyelarasan pada model dasar Qwen-7B.
Kode untuk Qwen-7B-Chat bersifat open-source di bawah LICENSE. Untuk menggunakannya secara komersial tanpa biaya, Anda harus mengajukan permohonan lisensi komersial. Anda wajib mematuhi perjanjian pengguna, spesifikasi penggunaan, serta seluruh hukum dan peraturan yang berlaku terkait model pihak ketiga yang Anda gunakan. Anda sepenuhnya bertanggung jawab atas legalitas dan kepatuhan penggunaan model-model tersebut.
Langkah 1: Buat Instance ECS
-
Konfigurasikan parameter berikut untuk membuat instance ECS.
Untuk parameter lainnya, lihat Custom launch.
-
Instance: Qwen-7B-Chat memerlukan sekitar 30 GiB memori. Pilih tipe instance minimal ecs.g8i.4xlarge (memori 64 GiB) untuk memastikan operasi model yang stabil.
-
Image: Alibaba Cloud Linux 3.2104 LTS 64-bit.
-
Public IP Address: Pilih Assign Public IPv4 Address. Atur Bandwidth Billing Method menjadi Pay-by-traffic dan bandwidth puncak menjadi 100 Mbps untuk mempercepat unduhan 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.
Untuk menginstal Docker pada Alibaba Cloud Linux 3, ikuti langkah-langkah dalam Install and use Docker and Docker Compose.
-
Verifikasi bahwa daemon Docker sedang berjalan:
sudo systemctl status docker -
Ambil dan jalankan kontainer AI PyTorch:
AC2 menyediakan gambar PyTorch yang dioptimalkan untuk CPU Intel. Gunakan gambar ini untuk menyiapkan lingkungan runtime PyTorch.
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304 sudo docker run -itd --name pytorch --net host -v $HOME/workspace:/workspace ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304
Langkah 3: Terapkan Qwen-7B-Chat Secara Manual
-
Masuk ke lingkungan kontainer:
sudo docker exec -it -w /workspace pytorch /bin/bashSemua perintah selanjutnya dijalankan di dalam kontainer. Jika Anda keluar secara tidak sengaja, jalankan kembali perintah di atas. Untuk memverifikasi bahwa Anda berada di dalam kontainer, jalankan
cat /proc/1/cgroup | grep docker. -
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.
-
Buat sesi tmux:
tmuxCatatanMengunduh model pra-latih dapat memakan waktu lama tergantung kondisi jaringan. Gunakan sesi tmux untuk mencegah gangguan jika koneksi SSH terputus.
-
Unduh kode sumber proyek Qwen-7B dan model pra-latih:
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1 -
Verifikasi isi direktori:
ls -l
-
-
Siapkan lingkungan runtime.
Kontainer AC2 sudah mencakup banyak dependensi AI Python. Instal dependensi tambahan dengan
yumataudnf.yum install -y python3-{transformers{,-stream-generator},tiktoken,accelerate} python-einops -
Jalankan chatbot.
-
Ubah parameter pemuatan model.
Kode sumber mencakup skrip demo terminal untuk menjalankan Qwen-7B-Chat sebagai chatbot lokal. Ubah parameter pemuatan model agar menggunakan presisi BF16, yang memanfaatkan set instruksi AVX-512 CPU untuk akselerasi.
cd /workspace/Qwen grep "torch.bfloat16" cli_demo.py 2>&1 >/dev/null || sed -i "57i orch_dtype=torch.bfloat16," cli_demo.py -
Jalankan chatbot:
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chat --cpu-onlySetelah penerapan selesai, berinteraksilah dengan LLM Qwen-7B-Chat dengan memasukkan pesan pada prompt
User>.User: Who are you? What can you do? Qwen-Chat: I am a large language model from Alibaba Cloud. I can answer questions, create text, express views, write code, and more. I am designed to interact with humans in natural language and help users obtain information, solve problems, or complete tasks. User>CatatanJalankan
:exituntuk keluar dari chatbot.
-