Bu kapsamlı rehberle Alpaca-LoRA’yı cihazınızda nasıl çalıştıracağınızı öğrenin. Bu açık kaynaklı modelin, güçlü ama verimli bir YZ sohbet botu çözümü sunmak için LoRA teknolojisinden nasıl yararlandığını keşfedin.
Üretken yapay zekâ ivme kazanmaya devam ederken, dünyanın dört bir yanındaki geliştiriciler doğal dili kullanarak heyecan verici uygulamalar geliştirme fırsatını değerlendiriyor. Özellikle bir araç son dönemde oldukça ilgi topladı: ChatGPT.
ChatGPT, OpenAI tarafından geliştirilen bir dil modelidir. Amacı, insan benzeri diyalog kurabilen, yapay zekâ destekli bir sohbet botu olarak hizmet vermektir. Oldukça faydalı bir araç olsa da bazı sorunları vardır. ChatGPT açık kaynaklı değildir; yani kaynak kodu erişilebilir ve değiştirilebilir değildir. Ayrıca son derece kaynak yoğundur; bu da kendi uygulamanızı oluşturmayı kötü bir çözüm hâline getirir.
Bu tür sorunlar, ChatGPT gibi çalışabilen ancak açık kaynak lisansı ve daha düşük kaynak gereksinimleriyle gelen Alpaca-LoRA gibi bir dizi ChatGPT alternatifinin ortaya çıkmasına yol açtı.
Bu eğitimde özellikle Alpaca-LoRA’ya odaklanacağız. Ne olduğunu, cihazınızda çalıştırmak için gereken önkoşulları ve çalıştırma adımlarını ele alacağız.
Alpaca LoRA nedir?
2023 Mart ayının başında Eric J. Wang, Alpaca-LoRA projesini yayımladı. Bu proje, Stanford Alpaca sonuçlarını Parametre Verimli İnce Ayar (PEFT) kullanarak yeniden üretmeye yönelik kodlar içeriyor; bu, geliştiricilerin LoRA kullanarak dönüştürücü tabanlı modelleri ince ayar yapmasına olanak tanıyan bir kütüphanedir.
Mevcut ağırlıkların dondurulması. Modeli, birbirine bağlı düğümlerden oluşan karmaşık bir ağ olarak düşünün (bunlar “ağırlıklar”). Normalde modeli iyileştirmek için eğitim sırasında bu düğümlerin tamamını ayarlarsınız. LoRA ise “Bunlara dokunmayalım; oldukları gibi kalsınlar” der.
Yeni ağırlıkların eklenmesi. Ardından LoRA bu ağa birkaç yeni, daha basit bağlantı (yeni ağırlıklar) ekler.
Yalnızca yeni ağırlıkların eğitilmesi. Tüm karmaşık ağı ayarlamak yerine, yalnızca bu yeni ve daha basit bağlantıları iyileştirmeye odaklanırsınız.
Böylece, modeli görevlerinde daha iyi hâle getirirken hem zaman hem de bellek tasarrufu sağlarsınız.
LoRA’nın avantajları
LoRA’nın avantajları şunlardır:
Taşınabilirlik - Rank ayrıştırmalı ağırlık matrisleri, orijinal modele kıyasla çok daha az sayıda eğitilebilir parametre içerir; bu nedenle eğitilmiş LoRA ağırlıkları kolayca taşınabilir ve Rasberry Pi üzerinde dahi çalıştırılabilir.
Erişilebilirlik – Geleneksel ince ayara kıyasla LoRA’nın GPU bellek kullanımını önemli ölçüde azalttığı gösterilmiştir; bu da Tesla T4, RTX 3080 veya hatta RTX 2080 Ti gibi tüketici GPU’larında ince ayar yapmayı mümkün kılar.
Alpaca: Açık Kaynaklı Model
Öte yandan Alpaca, Large Language Model Meta AI (LLaMA) tabanlı, talimatla ince ayar yapılmış açık kaynaklı bir yapay zekâ dil modelidir. Stanford Üniversitesi’ndeki bir araştırma ekibi tarafından, büyük dil modellerini (LLM) daha erişilebilir kılmak amacıyla geliştirilmiştir.
Ve bu bizi Alpaca-LoRA’ya getiriyor.
Alpaca-LoRA modeli, LoRA’dan yararlanarak eğitim sürecini hızlandırırken daha az bellek tüketen, Stanford Alpaca modelinin daha az kaynak gerektiren bir sürümüdür.
Alpaca-LoRA Önkoşulları
Alpaca-LoRA modelini yerel olarak çalıştırmak için bir GPU’ya sahip olmalısınız. NVIDIA T4 gibi düşük özellikli bir GPU ya da 4090 gibi tüccar sınıfı bir GPU olabilir. Projenin yaratıcısı Eric J. Wang’a göre, model “çift saatler içinde tek bir RTX 4090'da çalışıyor.”
Not: Bu yazıdaki yönergeler, Eric J. Wang’ın Alpaca-LoRA deposunda sağladıklarını izlemektedir.
Alpaca-LoRA Nasıl Çalıştırılır: 4 Adım
Adım 1: Sanal ortamı oluşturun (Opsiyonel)
Sanal ortamlar, belirli bir proje için gereken Python bağımlılıklarını depolamak için kullanılan yığıtlanmış kapsayıcılardır. Bu, farklı projeler için gereken bağımlılıkları birbirinden ayırı tutmaya yardımcı olur; böylece projeleri paylaşmayı kolaylaştırır ve bağımlılık çatışmalarını azaltır.
Alpaca-LoRA modelini çalıştırmak için bir sanal ortam kullanmak zorunlu değildir, ancak tavsiye edilir.
Windows işletim sisteminde komut istemini kullanarak bir sanal ortam oluşturmak için şunları çalıştırın:
alpaca-lora deposu, finetune.py adında bir dosya içerir. finetune.py, diğer şeylerin yanı sıra LLaMA modeline uygulanan basit bir Parametre Verimli İnce Ayar (PEFT) örneği barındırır.
Modelin hiperparametrelerini değiştirmek isterseniz çalıştırmanız gereken dosya budur; ancak zorunlu değildir. Depo yazarına göre, “Hiperparametre ayarı yapmadan da LoRA modeli, Stanford Alpaca modeliyle karşılaştırılabilir çıktılar üretir. Daha ileri ayarlar daha iyi performans sağlayabilir [...].”
finetune.py dosyasını nasıl kullanacağa dair bir örnek şöyledir:
alpaca-lora deposunda ayrıca generate.py adlı bir dosya bulunur. generate.py dosyasını çalıştırmak şunları gerçekleştirir:
Temel modeli Hugging Face model deposundan okur
Model ağırlıklarını tloen/alpaca-lora-7b konumundan okur
Belirli bir girdi üzerinde çıkarım yapılan bir Gradio arayüzü başlatır.
Bu yazının yazıldığı tarihte, modeli eğitmek için kullanılan en güncel Alpaca-LoRA adaptörü alpaca-lora-7b’dir. Bu, 26 Mart 2023’te aşağıdaki komut kullanılarak gerçekleştirilmiştir:
Alpaca-LoRA, Stanford Alpaca modelinin daha az kaynak tüketimli bir sürümüdür. Bu amaca, büyük dil modellerinin düşük-rank uyumlaması (LoRA) sayesinde ulaşır; bu sayede eğitim süreci hızlanırken orijinal Alpaca modeline kıyasla çok daha az bellek tüketilir.
Büyük dil modelleri (LLM) ve üretken yapay zekâ hakkında daha fazla bilgi edinmek için şu eğiticileri inceleyin:
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Üretken yapay zekâyı sorumlu kullanmaya başlayın. Üretken yapay zekâ modellerinin nasıl geliştirildiğini ve gelecekte toplumu nasıl etkileyeceğini öğrenin.
Yapay zekanın temellerini keşfedin, yapay zekayı işinizde etkili bir şekilde kullanmayı öğrenin ve dinamik yapay zeka dünyasında yolunuzu bulmak için ChatGPT gibi modellere dalın.
Üretken yapay zekâ ivme kazanmaya devam ederken, dünyanın dört bir yanındaki geliştiriciler doğal dili kullanarak heyecan verici uygulamalar geliştirme fırsatını değerlendiriyor. Özellikle bir araç son dönemde oldukça ilgi topladı: ChatGPT.
ChatGPT, OpenAI tarafından geliştirilen bir dil modelidir. Amacı, insan benzeri diyalog kurabilen, yapay zekâ destekli bir sohbet botu olarak hizmet vermektir. Oldukça faydalı bir araç olsa da bazı sorunları vardır. ChatGPT açık kaynaklı değildir; yani kaynak kodu erişilebilir ve değiştirilebilir değildir. Ayrıca son derece kaynak yoğundur; bu da kendi uygulamanızı oluşturmayı kötü bir çözüm hâline getirir.
Bu tür sorunlar, ChatGPT gibi çalışabilen ancak açık kaynak lisansı ve daha düşük kaynak gereksinimleriyle gelen Alpaca-LoRA gibi bir dizi ChatGPT alternatifinin ortaya çıkmasına yol açtı.
Bu eğitimde özellikle Alpaca-LoRA’ya odaklanacağız. Ne olduğunu, cihazınızda çalıştırmak için gereken önkoşulları ve çalıştırma adımlarını ele alacağız.
Alpaca LoRA nedir?
2023 Mart ayının başında Eric J. Wang, Alpaca-LoRA projesini yayımladı. Bu proje, Stanford Alpaca sonuçlarını Parametre Verimli İnce Ayar (PEFT) kullanarak yeniden üretmeye yönelik kodlar içeriyor; bu, geliştiricilerin LoRA kullanarak dönüştürücü tabanlı modelleri ince ayar yapmasına olanak tanıyan bir kütüphanedir.
LoRA’yı anlamak
Büyük Dil Modellerinin Düşük-Rank Uyumlaması (LoRA), büyük modellerin eğitimini hızlandırmak ve daha az bellek tüketmek için kullanılan bir yöntemdir.
Nasıl çalıştığına bakalım:
Böylece, modeli görevlerinde daha iyi hâle getirirken hem zaman hem de bellek tasarrufu sağlarsınız.
LoRA’nın avantajları
LoRA’nın avantajları şunlardır:
Alpaca: Açık Kaynaklı Model
Öte yandan Alpaca, Large Language Model Meta AI (LLaMA) tabanlı, talimatla ince ayar yapılmış açık kaynaklı bir yapay zekâ dil modelidir. Stanford Üniversitesi’ndeki bir araştırma ekibi tarafından, büyük dil modellerini (LLM) daha erişilebilir kılmak amacıyla geliştirilmiştir.
Ve bu bizi Alpaca-LoRA’ya getiriyor.
Alpaca-LoRA modeli, LoRA’dan yararlanarak eğitim sürecini hızlandırırken daha az bellek tüketen, Stanford Alpaca modelinin daha az kaynak gerektiren bir sürümüdür.
Alpaca-LoRA Önkoşulları
Alpaca-LoRA modelini yerel olarak çalıştırmak için bir GPU’ya sahip olmalısınız. NVIDIA T4 gibi düşük özellikli bir GPU ya da 4090 gibi tüccar sınıfı bir GPU olabilir. Projenin yaratıcısı Eric J. Wang’a göre, model “çift saatler içinde tek bir RTX 4090'da çalışıyor.”
Not: Bu yazıdaki yönergeler, Eric J. Wang’ın Alpaca-LoRA deposunda sağladıklarını izlemektedir.
Alpaca-LoRA Nasıl Çalıştırılır: 4 Adım
Adım 1: Sanal ortamı oluşturun (Opsiyonel)
Sanal ortamlar, belirli bir proje için gereken Python bağımlılıklarını depolamak için kullanılan yığıtlanmış kapsayıcılardır. Bu, farklı projeler için gereken bağımlılıkları birbirinden ayırı tutmaya yardımcı olur; böylece projeleri paylaşmayı kolaylaştırır ve bağımlılık çatışmalarını azaltır.
Alpaca-LoRA modelini çalıştırmak için bir sanal ortam kullanmak zorunlu değildir, ancak tavsiye edilir.
Windows işletim sisteminde komut istemini kullanarak bir sanal ortam oluşturmak için şunları çalıştırın:
Bu, geçerli çalışma dizininizde venv adlı bir sanal ortam oluşturur.
Not: İkinci venv’i tercih ettiğiniz adla değiştirerek sanal ortamınıza istediğiniz adı verebilirsiniz.
Herhangi bir bağımlılığı yüklemeden önce sanal ortamı etkinleştirmeniz gerekir. Sanal ortamınızı etkinleştirmek için aşağıdaki komutu çalıştırın:
Sanal ortamı artık kullanmadığınızda, aşağıdaki komutu çalıştırarak devre dışı bırakın:
Artık Alpaca-LoRA’yı çalıştırmaya hazırsınız.
Adım 2: Kurulum
Alpaca-LoRA modelini çalıştırmanın ilk adımı, depoyu GitHub’dan klonlamak ve çalıştırma için gereken bağımlılıkları yüklemektir.
GitHub deposunu yüklemek için aşağıdaki komutu kullanın:
Ardından, şunu kullanarak az önce yüklediğiniz
alpaca-loradeposuna gidin:Ve bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın:
Adım 3: Modeli İnce Ayarlama (Opsiyonel)
alpaca-loradeposu,finetune.pyadında bir dosya içerir.finetune.py, diğer şeylerin yanı sıra LLaMA modeline uygulanan basit bir Parametre Verimli İnce Ayar (PEFT) örneği barındırır.Modelin hiperparametrelerini değiştirmek isterseniz çalıştırmanız gereken dosya budur; ancak zorunlu değildir. Depo yazarına göre, “Hiperparametre ayarı yapmadan da LoRA modeli, Stanford Alpaca modeliyle karşılaştırılabilir çıktılar üretir. Daha ileri ayarlar daha iyi performans sağlayabilir [...].”
finetune.pydosyasını nasıl kullanacağa dair bir örnek şöyledir:Adım 4: Modeli Çalıştırma / Çıkarım
alpaca-loradeposunda ayrıcagenerate.pyadlı bir dosya bulunur.generate.pydosyasını çalıştırmak şunları gerçekleştirir:tloen/alpaca-lora-7bkonumundan okurBu yazının yazıldığı tarihte, modeli eğitmek için kullanılan en güncel Alpaca-LoRA adaptörü
alpaca-lora-7b’dir. Bu, 26 Mart 2023’te aşağıdaki komut kullanılarak gerçekleştirilmiştir:Farklı bir adaptör kullanmak isterseniz, tercih ettiğiniz adaptörün konumuna bir bağlantıyla
generate.pydosyasını çalıştırarak bunu yapabilirsiniz.Kapanış
Alpaca-LoRA, Stanford Alpaca modelinin daha az kaynak tüketimli bir sürümüdür. Bu amaca, büyük dil modellerinin düşük-rank uyumlaması (LoRA) sayesinde ulaşır; bu sayede eğitim süreci hızlanırken orijinal Alpaca modeline kıyasla çok daha az bellek tüketilir.
Büyük dil modelleri (LLM) ve üretken yapay zekâ hakkında daha fazla bilgi edinmek için şu eğiticileri inceleyin: