Yapay zeka veya tam yığın geliştirme ile mücadele mi ediyorsunuz? Uzmanlarımız size rehberlik etmek için burada: özel tavsiyeler, teknik entegrasyon ve daha fazlası. Bize ulaşın [email protected].

Mistral 7b Üretken Modelini AWS'de A10 GPU üzerinde dağıtın

Summary

Bu NLP bulut eğitimi, AWS'de NVIDIA A10 GPU üzerinde Mistral 7b üretken yapay zeka modelinin nasıl dağıtılacağını ve kullanılacağını gösterir.

Mistral 7b modeli tüm kıyaslamalarda LLaMA 3 7b'yi ve birçok kıyaslamada LLaMA 3 13b'yi geride bırakıyor. Hatta LLaMA 1 34b modeli ile aynı seviyededir.

Bunu dağıtmak ve kullanmak en az 15 GB VRAM gerektiriyor, bu yüzden en az 24 GB VRAM'e sahip bir A10 GPU'ya ihtiyacımız var.

İşte kursun yapısı:

Transcript

Merhaba, ben NLP Cloud'dan Julien Sainas.

Bugün, Mistral 7b jeneratif modelinin AWS A10 GPU üzerinde nasıl dağıtılacağını göreceğiz.

Mistral 7b, Mistral AI adlı bir Fransız şirketi tarafından piyasaya sürülen son teknoloji ürünü bir üretken modeldir.

Bu model Eylül 2023'te piyasaya sürüldü ve tüm resmi kıyaslamalarda Lama 2 7b'yi geride bıraktı.

Daha da ilginci, birçok kıyaslamada Lama 2 13b'yi geride bırakıyor ve Lama 1 34b ile aynı seviyede.

Mistral AI bu modeli bir Apache lisansı ile yayınladı, bu da bu modeli istediğiniz gibi kullanmanıza izin veriyor.

Ekip hem temel bir model hem de ince ayarlanmış bir sohbet versiyonu yayınladı.

Bugün bu videoda sohbet sürümünü dağıtacağız.

Mistral 7b, en az 14 gig sanal bellek gerektirir ve büyük bir bağlam boyutu olması durumunda daha fazlası gerekir.

Bu GPU 24 gig sanal belleğe sahip ve oldukça uygun maliyetli olduğu için AWS'deki bir A10 NVIDIA GPU'ya dağıtacağız.

Mistral 7b'yi dağıtmanın en kolay yolu Hugging Face çerçevesini kullanmak ve Mistral AI'nın resmi yönergelerini takip etmektir.

İlk adım olarak, doğru AWS makinesini seçmemiz gerekecek.

AWS'de tonlarca makine var, bu nedenle size verebileceğim en iyi tavsiye, bu örnek türleri sayfasından başlayıp sol taraftaki Hızlandırılmış Bilgi İşlem'e gitmenizdir.

Burada, AWS'nin sağladığı tüm hızlandırılmış donanım örneklerinin bir listesi var ve bugün istediğimiz G5.

Burada görebileceğiniz gibi G5, istediğimiz şey olan A10 GPU'yu barındırıyor.

G5 örneklerinin birkaç çeşidi vardır.

Bazılarında yalnızca bir GPU, bazılarında dört veya sekiz GPU vardır.

Bir GPU bizim için yeterli çünkü bir GPU'da yeterli sanal bellek var, ancak örneğin sahip olduğu bellek miktarı konusunda çok dikkatli olmalıyız çünkü Mistral 7b modelini başlattığımızda, modeli yüklemek için geçici olarak biraz belleğe ihtiyacımız olacak.

Bu nedenle bugün bir G5 4X büyük örnek seçeceğiz çünkü 64 gigabayt yeterli olacaktır.

Şimdi AWS konsoluma geçiyorum ve Örneği Başlat'a tıklıyorum.

Buna Test A10 Mistral diyelim.

Ubuntu işletim sistemini seçeceğiz, ancak bir hile var.

Standart Ubuntu işletim sistemini seçmek istemiyoruz çünkü NVIDIA sürücülerini manuel olarak yüklememiz gerekecek ki bu çok zahmetli bir iş.

Burada yapacağımız şey Deep Learning AMI GPU PyTorch sunucusunu seçmek olacak, bu çok daha iyi çünkü bu AMI Ubuntu artı NVIDIA sürücüleri artı CUDA araç seti artı PyTorch ve diğer şeylerle birlikte geliyor, bunların hepsi bugün testlerimiz için ihtiyaç duyacağımız şeyler.

Burada, G5 4X büyük örneğini seçiyoruz.

Eğer bir anahtar çiftiniz yoksa, bir tane oluşturmanız gerekir.

Bunu ilk kez yapıyorsanız ve VS Code'u AWS örneğinize nasıl bağlayacağınızdan tam olarak emin değilseniz, AWS'de VS Code ile uzaktan geliştirme ortamı hakkındaki özel videomuzu izlemenizi tavsiye ederim.

Diğer portları açmanıza gerek yok ve belki 100 gigs disk eklemenizi tavsiye ederim.

Teorik olarak, model yalnızca 20 gigabayt sabit disk almalıdır, ancak daha fazlasına sahip olmak her zaman en iyisidir çünkü belki de kütüphaneleri yüklememiz gerekecek, bu yüzden burada güvende olacağız.

Örneği Başlat'a tıklayalım.

Güzel, yaratıldı.

Belki de ilk kez bir 8N GPU başlattığınız için kota sorunu yaşıyorsanız, AWS desteğine ulaşmanızı tavsiye ederim.

Şimdi burada genel IP'yi alıyorum ve şimdi VS Code'a geçiyorum.

Sol altta, geçerli bir pencereyi ana bilgisayara bağlamanız ve önce ana bilgisayarlarınızı yapılandırmanız gerekir.

İşte, bu AWS'den aldığım IP adresi ve bu da benim SSH anahtarım.

Dosyayı kaydediyorum ve aynı şeyi tekrar yapıyorum ve bu sefer Mistral 7B'ye tıklıyorum.

Yeni parmak izini kabul etmek istiyorum.

Mükemmel.

Şimdi 8N GPU makinemiz üzerindeyiz.

Öncelikle GPU'nun doğru sürücülerle mevcut olup olmadığını kontrol edelim.

NVIDIA SMI ile mükemmel.

Burada bir 8N GPU'm olduğunu ve boş olduğunu görebiliyorum, bu yüzden bugün modelim için neredeyse 24 gigs VRAM'im var.

VS Code ile açacağım bir test dizini oluşturuyorum ve şimdi bir test dosyası oluşturuyorum.

Belki de buna infer.py diyelim.

Peki bu infer.py dosyasına ne koymalıyız? Çok kolay.

Sarılan Yüz'deki Mistral Yapay Zeka modelimize gidelim.

Hugging Face'te ilk kez bir model indiriyorsanız, temel olarak buraya modellere gidebilirsiniz ve tonlarca modeliniz mevcuttur.

Buraya tıklayıp Mistral 7B yazabilirsiniz.

Gördüğünüz gibi Mistral zaten listenin başındaydı çünkü bu günlerde çok moda.

Instruct modelini seçeceğim çünkü bugün oynamak daha eğlenceli ve burada sadece Mistral AI ekibinin yönergelerini takip ediyorum.

Bu yüzden kodu VS Code'a kopyalayıp yapıştırıyorum.

Bu haliyle çalışmayacaktır çünkü bundan önce Transformers kütüphanesini yüklememiz gerekecektir.

Bu Mistral 7B modeli Transformers'a yeni eklendiği için henüz PyPy paketinde mevcut değil, ancak bu bir sorun değil.

Transformers'ı doğrudan GitHub deposundan yükleyeceğiz.

Güzel.

Şimdi, Transformers doğru şekilde yüklendi.

Yapmamız gereken son şey, modelin kayan nokta 16 versiyonunu kullanmaktır çünkü modelin varsayılan versiyonu olan kayan nokta 32'yi kullanırsak, A10 GPU'muz için çok büyük olacaktır ve çoğu zaman, bu tür bir model için FP16 ve FP32 arasındaki fark kesinlikle fark edilmez.

Bugün yapmamız gereken şey Torch'u içe aktarmak ve modeli yüklerken bu parametreyi, Torch dtype, eklemektir.

Güzel.

Şimdi çıkarım komut dosyasını çalıştırmayı deneyelim.

Güzel.

Yani mayonez hakkında uygun bir tarifimiz var.

Belki başka bir şey deneyebiliriz.

Transformers'ın bir Linux sunucusuna nasıl kurulacağını modele soralım.

Bunu kaldırabiliriz.

Güzel.

Yani CSS, neden olduğundan emin değilim.

Buradaki CSS işaretlemesi dışında kulağa doğru geliyor.

Bu detayın neden olduğundan emin değilim, ama sanırım bu size güzel bir 7B modeli olduğunu göstermek için yeterli ve şimdi nasıl kullanılacağını biliyorsunuz, bu yüzden şimdi sıra sizde.

Artık Mistral 7B modelini kendi sunucunuza nasıl dağıtacağınızı biliyorsunuz.

Gördüğünüz gibi, özellikle de bugün yalnızca tek bir GPU kullandığımız için karmaşık olması gerekmiyor.

Yeterli sanal belleğe sahip bir A10 GPU'nuz yoksa, birkaç küçük GPU'ya ihtiyacınız olabilir.

Bu durumda, modelinizi birkaç küçük GPU'ya bölmeniz gerekecektir.

Bu biraz daha karmaşık olacak ve bunun için başka bir özel videoya ihtiyacımız olacak.

İyi günler dilerim.