Kurs
Bu öğreticide, LlaMA-Factory WebUI kullanarak Wikipedia Soru-Cevap veri kümesi üzerinde Llama 3 8B modelini nasıl ince ayar yapacağımızı keşfedeceğiz. LlaMA-Factory WebUI’yi tanıtarak başlayacak, ardından Google Colab ortamında kurulumunu gerçekleştireceğiz. Yapılandırmayı tamamladıktan sonra, veri kümesi üzerinde Llama 3 8B modelini ince ayar sürecini adım adım ele alacak ve modelin performansını sohbet arayüzü üzerinden değerlendireceğiz.
İlerledikçe, özel veri kümelerini nasıl yükleyeceğinizi, modelleri birleştireceğinizi ve Hugging Face’e dışa aktaracağınızı da öğreneceksiniz. Son olarak, ince ayar yapılmış modeli OpenAI API’si üzerinden erişilebilir olacak şekilde nasıl dağıtacağımızı ele alacağız.
ChatGPT, büyük dil modelleri, üretken yapay zeka ve daha fazlası gibi popüler yapay zeka konularında uygulanabilir bilgi edinmek için AI Fundamentals beceri yoluna göz atabilirsiniz.

Görsel: Yazar | Canva
LlaMA-Factory nedir?
hiyouga/LLaMA-Factory, bir WebUI arayüzü üzerinden 100’den fazla büyük dil modeline (LLM) ince ayar yapmanıza olanak tanıyan açık kaynaklı bir projedir. LLM’ler için ince ayar, sohbet, sunum ve kıyaslama amacıyla kapsamlı araçlar ve betikler sunar.
LLaMA-Factory, özel veri kümeleri üzerinde açık kaynak LLM’lere karmaşık yapay zeka kavramlarını öğrenmeden ince ayar yapmak isteyen başlangıç seviyesindeki ve teknik olmayan profesyoneller için özel olarak tasarlanmıştır. Kullanıcıların yalnızca bir model seçmesi, veri kümelerini eklemesi ve birkaç parametreyi ayarlaması eğitim sürecini başlatmak için yeterlidir.
Eğitim tamamlandıktan sonra, aynı web uygulaması modeli test etmek için kullanılabilir; ardından Hugging Face’e dışa aktarılabilir veya yerel olarak kaydedilebilir. Bu, LLM’lere yerelde hızlı ve verimli şekilde ince ayar yapmanın bir yolunu sunar.
Yapay Zeka Uygulamaları Geliştirin
LlaMA-Factory WebUI ile Başlarken
Bu bölümde, LlaMA-Factory WebUI’nin Google Colab ve Microsoft Windows’ta nasıl kurulup başlatılacağını öğreneceğiz.
Google Colab ücretsiz GPU erişimi sağlar; bu nedenle dizüstü bilgisayarınızda GPU veya CUDA yüklü değilse Colab not defteriyle başlamanızı öneririm.
- “T4 GPU” çalışma zamanı türüyle Google Colab not defterini başlatın.
- Kod hücresine, LLaMA-Factory GitHub deposunu klonlamak ve gerekli tüm Python paketlerini kurmak için aşağıdaki komutu yazın.
%cd /content/
%rm -rf LLaMA-Factory
!git clone https://github.com/hiyouga/LLaMA-Factory.git
%cd LLaMA-Factory
%ls
%pip install -e .[torch,bitsandbytes]
- Modellere ve veri kümelerine erişmek için Hugging Face’in CLI aracılığıyla oturum açmanız gerekir. Bunun için, Hugging Face ayarlarına gidip “Access Tokens”a tıklayarak ve Google Colab için yeni bir belirteç oluşturarak yeni bir erişim belirteci üretmelisiniz.

- Colab’in “Secrets” özelliğini kullanarak Hugging Face ortam değişkenini oluşturun; bu özellik, not defteri içinde güvenle erişilebilecek ortam değişkenleri oluşturmamıza olanak tanır.

- Hugging Face Hub’a, Hugging Face erişim belirteci kullanarak oturum açın.
from huggingface_hub import login
from google.colab import userdata
hf_token = userdata.get("HUGGINGFACE_TOKEN")
login(token = hf_token)
llamafactory-clikullanarak LLaMA-Factory WebUI’yi başlatın. Web uygulamasına erişmek için herkese açık bir bağlantı oluşturabilmek adına GRADIO_SHARE=1 ayarını yapıyoruz.
%cd /content/LLaMA-Factory/
!GRADIO_SHARE=1 llamafactory-cli webui
- WebUI’yi yeni bir sekmede açmak için genel URL’ye tıklayın.

LLAMA-Factory WebUI sade görünüyor ancak pek çok seçenek ve sekme barındırıyor. Bunları bir sonraki bölümde inceleyeceğiz.

Kendi LlaMA-Factory WebUI’nizi başlatırken sorun yaşıyorsanız lütfen Google Colab not defterine bakın.
LlaMA-Factory WebUI’yi Windows’ta çalıştırma
LlaMA-Factory WebUI’yi Windows’ta yerel olarak çalıştırmak istiyorsanız, bitsandbytes kütüphanesinin önceden derlenmiş bir sürümünü kurmanız gerekir. CUDA 11.1’den 12.2’ye kadar destekler; bu nedenle CUDA sürümünüze göre uygun sürümü seçin.
- Windows terminalinizi açın ve LLaMA-Factory GitHub deposunu klonlamak için Git komutunu yazın.
- Gerekli tüm Python paketlerini kurun.
- Windows için bitsandbytes kütüphanesini kurun.
$ git clone https://github.com/hiyouga/LLaMA-Factory.git
$ cd LLaMA-Factory
$ pip install -e .[torch,bitsandbytes]
$ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
- LLaMA-Factory WebUI’yi başlatın.
$ llamafactory-cli webui
- CLI üzerinden bir erişim belirteci sağlayarak Hugging Face’e oturum açmayı unutmayın.
$ huggingface-cli login
LlaMA-3 8B Chat’i LlaMA-Factory WebUI ile İnce Ayar Yapma
Bu bölümde kod yazmayacağız. Model ve ince ayar için veri kümesini seçecek, bazı parametreleri değiştirecek ve daha hızlı eğitim için birkaç düğmeye basacağız.
Büyük dil modellerine ince ayarın teorisini anlamak için şu kapsamlı rehbere göz atın: Büyük Dil Modellerine İnce Ayar.
Veri kümesini ve modeli seçme
Şu modeli ince ayar yapacağız: unsloth/llama-3-8b-bnb-4bit; veri kümesi olarak da Microsoft/wiki_qa veri kümesini kullanacağız. Veri kümesi aşağıda gösterildiği gibi birden fazla sütun içerir; ancak modelin ince ayarı için “question” ve “answer” sütunlarını kullanacağız.

Kaynak: microsoft/wiki_qa | Microsoft’tan Wiki Soru Cevap derlemi
Google Colab’in ücretsiz sürümünde LLaMA-3-8B talimat (instruction) modelinin tamamını yükleyemiyoruz. Bunun yerine, Unsloth tarafından sağlanan aynı modelin 4-bit miktarlandırılmış sürümünü yükleyeceğiz.
Bunu yapmak için model adını “Custom” olarak seçin ve depo bağlantısı olarak “unsloth/llama-3-8b-bnb-4bit” ifadesini model yoluna yapıştırın.

Modelimizi ince ayar yapmak için birden fazla veri kümesi seçebiliriz. Ancak bu öğreticide yalnızca yukarıda gösterildiği gibi ön tanımlı bir veri kümesi olan “Wikiqa”yı kullanacağız.
Eğitim parametrelerini ayarlama
Sayfayı aşağı kaydırarak model eğitim argümanlarını ayarlayın. Aşağıdaki parametreleri belirleyeceğiz:
- Öğrenme oranı: 4e-5
- Epoch sayısı: 1.0
- Maksimum örnek: 1000 (model eğitimini hızlandırmak için)
Diğer argümanlar varsayılan değerlerinde bırakılacaktır. Bu değerler, ince ayar yapılmış modelin davranışını değiştirmek için düzenlenebilir.

Ayrıca LoRa derecesini (rank) ve diğer LoRa ile ilgili yapılandırmaları değiştirme seçeneğine de sahibiz. Bu öğreticide diğer tüm ayarları varsayılan değerlerinde bırakıyoruz.

Eğitim sürecini başlatma
Eğitim yapılandırmasını görmek için sayfayı biraz daha aşağı kaydırın. Çıkış dizinini ve yapılandırma yolunu belirtin ve “Start” düğmesine basın. LlaMA-Factory önce modeli ve veri kümesini indireceği ve ardından her ikisini de yükleyeceği için, kayıp grafiğinin görünmesi biraz zaman alacaktır; bu işlem en az 5 dakika sürebilir.

Model tamamen yüklendiğinde ve eğitim başladığında, kayıp grafiğinde görselleştirmeleri görmeye başlayacaksınız. Gözlemleyebileceğimiz gibi, adım sayısı arttıkça kayıp kademeli olarak azalıyor; bu harika.

Eğitim tamamlandığında sol altta bitiş mesajını göreceksiniz. Gözlemlediğimiz üzere, kayıp kademeli olarak azalmış ve 45 adımdan sonra yatay seyretmeye başlamıştır.

Bir veri bilimci veya geliştiriciyseniz, Python diliyle modelinize ince ayar yapmanın kolay olduğunu göreceksiniz.
LlaMA-3’ü eğitmek isteyen teknik kişiler için ayrıntılı bir rehberimiz var: Llama 3’e İnce Ayar ve Yerelde Kullanım: Adım Adım Rehber.
İnce ayar yapılmış modeli değerlendirme
İnce ayar yapılan modeli değerlendirmek için menüyü “Train”den “Chat”e çevirmemiz gerekiyor. Ardından “Checkpoint path” bölümüne gidip kaydedilmiş ince ayarlı adaptörü yükleyin.

Bundan sonra “Load model” düğmesine tıklayın ve model başarıyla yüklenene kadar birkaç saniye bekleyin.

Sohbet giriş kutusunu görmek için aşağı kaydırın ve dağ sıralarıyla ilgili genel bir soru yazın.

Bunun sonucunda, “wiki_qa” veri kümesine benzer şekilde basit ve doğrudan bir yanıt alacaksınız.

Bir soru daha soralım. Modelin son derece iyi performans gösterdiğini görebiliyoruz. 30 dakika içinde modeli ince ayar yaptık; bu işlem Transformer kütüphanesiyle 4 saatten fazla sürebilirdi. Harika.

Bazen, ince ayar LLM’in tüm sorunlarına çözüm değildir. Bu nedenle, RAG ve İnce Ayar: Uygulamalı Örneklerle Kapsamlı Bir Öğretici yazısını okuyarak sizin için en iyi yaklaşımı öğrenmelisiniz.
LlaMA-Factory WebUI Ek Özellikler
İnce ayar ve testin ötesinde, LLaMA-Factory ekosistemi; ince ayar için özel veri kullanımı, modelleri birleştirme ve dışa aktarma, ayrıca vLLM kullanarak ince ayar yapılmış modelleri dağıtma gibi çeşitli temel özellikler sunar.
Özel veri kümesi
Özel bir veri kümesi eklemek için data/dataset_info.json dosyasını değiştirmeniz yeterlidir; bu sayede veri kümesi LLaMA-Factory WebUI içinde erişilebilir olacaktır.
Veri kümesi dosyalarının gerekli biçimi ve dataset_info.json dosyasının nasıl değiştirileceği hakkında ayrıntılı bilgi için lütfen data/README.md dokümantasyonuna bakın.
Hugging Face veya ModelScope hub’larındaki veri kümelerini kullanmayı seçebilir ya da veri kümesini yerel diskinizden yükleyebilirsiniz.

data/dataset_info.json dosyasının ön izlemesi
Modeli birleştirme ve dışa aktarma
İnce ayarlı LoRA adaptörünü tam modelle kolayca birleştirip “Export” sekmesine tıklayarak Hugging Face Hub’a dışa aktarabiliriz.
Maksimum parça boyutunu ayarlayın, dışa aktarma dizini yolunu belirleyin ve Hugging Face Hub depo kimliğini ve dışa aktarma aygıtını belirtin. Modeli birleştirme ve tüm model dosyalarını Hugging Face Hub’a yükleme işlemi birkaç dakika sürecektir.
Not: Colab’in ücretsiz sürümü yalnızca 12 GB RAM sunar; oysa 8 milyar parametreli bir modelin LoRA’sını birleştirmek için en az 16 GB RAM gerekir. Bu nedenle, bu işlem Colab’in ücretsiz sürümünde gerçekleştirilemez.

İnce ayarlı modeli Hugging Face Hub’a birleştirme ve dışa aktarma
OpenAI tarzı API ve vLLM ile dağıtım
LlaMA-Factory, model sunumu ve dağıtımı için vLLM çerçevesiyle birlikte gelir. Aşağıdaki komutu yazarak Llama-3-8B-Instruct modelini sunabilir ve OpenAI Python API’si veya RestAPI üzerinden erişebiliriz.
$ API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml
Dosyayı değiştirebilir veya kendi .yaml dosyanızı oluşturarak ince ayarlı modelinizi üretimde sunabilirsiniz. Tek yapmanız gereken, model klasörünün yolunu yerelde veya Hugging Face Hub’da belirtmektir.

Kaynak: hiyouga/LLaMA-Factory (github.com)
Özellikle tescilli GPT-4o modeline ince ayar yapmanıza olanak tanıyan benzer düşük kodlu bir çözüm arıyorsanız, sizin için kapsamlı bir rehberimiz var. Adım adım öğreticimize burada göz atın: OpenAI’nin GPT-4’üne İnce Ayar: Adım Adım Rehber.
Sonuç
LLaMA-Factory WebUI, hem yeni başlayanlar hem de uzmanlar için süreci sadeleştirir. Yapmanız gereken tek şey, modeli özel bir veri kümesi üzerinde ince ayar yapmak için birkaç parametreyi ayarlamaktır. Aynı kullanıcı arayüzünü kullanarak modeli test edebilir, Hugging Face’e dışa aktarabilir veya yerel olarak kaydedebilirsiniz. Bu da modeli daha sonra LLaMA-Factory CLI api komutuyla üretimde dağıtmanıza olanak tanır. Bu kadar basit.
Yüzlerce satır kod yazıp ince ayar sorunlarını çözmek yerine, yalnızca birkaç tıklamayla benzer sonuçlara ulaşabilirsiniz.
Bu öğreticide LLaMA-Factory WebUI’yi, ve bu çerçeveyi kullanarak LLaMA-3-8B-Instruct modeline bir Wikipedia Soru-Cevap veri kümesi üzerinde nasıl ince ayar yapılacağını öğrendik. Ayrıca, yerleşik sohbet botu menüsünü kullanarak ince ayarlı modeli test ettik ve LLaMA-Factory’nin sunduğu ek özellikleri keşfettik.
Yaklaşan “Kendi Llama 3 Modelinize İnce Ayar” Webinarı’na ücretsiz kaydolup Python kullanarak LLM’lere nasıl ince ayar yapacağınızı öğrenin: Fine-Tuning Your Own Llama 3 Model.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

