Alibaba Cloud AI Containers (AC2) görüntüsü kullanarak Qwen-7B-Chat büyük dil modelini bir Intel CPU üzerinde dağıtın.
Arka Plan
Qwen-7B, Alibaba Cloud tarafından geliştirilen Qwen büyük dil modeli (LLM) serisinde yer alan 7 milyar parametreli bir modeldir. Web metinleri, profesyonel kitaplar ve kod dahil olmak üzere geniş bir veri yelpazesi içeren devasa bir veri kümesi üzerinde ön eğitilmiş, Transformer tabanlı bir LLM'dir. Qwen-7B-Chat, temel Qwen-7B modeline hizalama teknikleri uygulanarak oluşturulan bir yapay zeka asistanıdır.
Qwen-7B-Chat'in kodu LICENSE kapsamında açık kaynaklıdır. Ücretsiz ticari amaçlarla kullanmak için bir ticari lisans başvurusu göndermeniz gerekir. Kullandığınız üçüncü taraf modeller için kullanıcı sözleşmelerine, kullanım şartlarına ve geçerli tüm yasa ve yönetmeliklere uymalısınız. Bu modelleri kullanımınızın yasallığını ve uyumluluğunu sağlamaktan yalnızca siz sorumlusunuz.
Adım 1: Bir ECS örneği oluşturun
Örnek satın alma sayfasına şuraya gidin.
-
Bir ECS örneği oluşturmak için aşağıdaki parametreleri yapılandırın.
Diğer parametreler için Özel başlatma konusuna bakın.
Instance: Qwen-7B-Chat yaklaşık 30 GiB bellek gerektirir. Modelin kararlı çalışmasını sağlamak için en az ecs.g8i.4xlarge (64 GiB bellek) örnek türünü seçin.
Image: Alibaba Cloud Linux 3.2104 LTS 64-bit.
Public IP Address: Assign Public IPv4 Address seçeneğini belirleyin. Bandwidth Billing Method ayarını Pay-by-traffic olarak yapın ve modele indirme işlemini hızlandırmak için maksimum bant genişliğini 100 Mbps olarak ayarlayın.
Data Disk: Model dosyaları önemli miktarda depolama alanı gerektirir. Veri disk boyutunu 100 GiB olarak ayarlayın.
Adım 2: Bir Docker çalışma zamanı ortamı oluşturun
-
Docker'ı yükleyin.
Alibaba Cloud Linux 3 üzerinde Docker yüklemek için Docker ve Docker Compose'u yükleme ve kullanma konusundaki adımları izleyin.
-
Docker arka plan programının çalıştığını doğrulayın:
sudo systemctl status docker -
PyTorch AI konteynerini çekin ve çalıştırın:
AC2, Intel CPU'lar için optimize edilmiş PyTorch görüntüleri sağlar. Bir PyTorch çalışma zamanı ortamı kurmak için bu görüntüyü kullanın.
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
Adım 3: Qwen-7B-Chat'i manuel olarak dağıtın
-
Konteyner ortamına girin:
sudo docker exec -it -w /workspace pytorch /bin/bashSonraki tüm komutlar konteyner içinde çalıştırılır. Yanlışlıkla çıkarsanız önceki komutu yeniden çalıştırın. Konteyner içinde olduğunuzdan emin olmak için
cat /proc/1/cgroup | grep dockerkomutunu çalıştırın. -
Gerekli araçları yükleyin:
yum install -y tmux git git-lfs wget -
Git LFS'yi etkinleştirin:
Ön eğitimli modeli indirmek için Git LFS gereklidir.
git lfs install -
Kaynak kodunu ve modeli indirin.
-
Bir tmux oturumu oluşturun:
tmuxNotÖn eğitimli modelin indirilmesi ağ koşullarına bağlı olarak uzun sürebilir. SSH bağlantınız kesilirse kesinti yaşanmaması için bir tmux oturumu kullanın.
-
Qwen-7B proje kaynak kodunu ve ön eğitimli modeli indirin:
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1 -
Dizin içeriğini doğrulayın:
ls -l
-
-
Çalışma zamanı ortamını kurun.
AC2 konteyneri birçok Python AI bağımlılığı içerir. Kalan bağımlılıkları
yumveyadnfile yükleyin.yum install -y python3-{transformers{,-stream-generator},tiktoken,accelerate} python-einops -
Sohbet botunu başlatın.
-
Model yükleme parametrelerini değiştirin.
Kaynak kod, Qwen-7B-Chat'i yerel bir sohbet botu olarak çalıştırmak için bir terminal demo betiği içerir. CPU'nun AVX-512 komut setinden yararlanarak hızlandırma sağlayan BF16 hassasiyetini kullanmak için model yükleme parametrelerini değiştirin.
cd /workspace/Qwen grep "torch.bfloat16" cli_demo.py 2>&1 >/dev/null || sed -i "57i orch_dtype=torch.bfloat16," cli_demo.py -
Sohbet botunu başlatın:
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chat --cpu-onlyDağıtımdan sonra,
User>isteminde mesajlar girerek Qwen-7B-Chat LLM ile etkileşim kurun.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>NotSohbet botundan çıkmak için
:exitkomutunu çalıştırın.
-