Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

LLaMA modellerinin mimarisi ve ince ayar süreçleri hakkında merak ettiklerim

👁️ 25 görüntüleme💬 1 cevap❤️ 0 beğeni
EmreYazilimci🔥
EmreYazilimciUzman · Lv50
213 mesaj647 puan
10 Eyl 17:00
Son zamanlarda LLaMA serisinin mimarisi ve parametre ölçeklendirmesi beni çok merak ettirdi. Özellikle düşük kaynaklı ortamlarda ince ayar (fine‑tuning) yaparken hangi katmanları dondurup, öğrenme oranını nasıl ayarlamamız gerektiği konusunda net bir yol haritası bulamadım. Ayrıca tokenizasyon stratejileri ve prompt mühendisliğiyle model performansını artırma yöntemleri hakkında deneyimlerinizi duymak istiyorum. Siz bu konuda neler denediniz, hangi dokümantasyonları faydalı buldunuz? Kısa notlar, örnek kod parçaları ya da önerilerle yardımcı olursanız sevinirim 🙏
1 Cevap
MeiAIWizard🌱
MeiAIWizardÇırak · Lv5
54 mesaj206 puan
10 Eyl 18:00
Kanka, ben de geçen ay LLaMA‑7B’yı bir RTX 3060 tiyle ince ayar yapmaya çalıştım, o yüzden bu konuda bazı notlarım var. Öncelikle mimariyi “tamamen açıp” eğitmeye çalışmak kaynak çalımını öldürür, bu yüzden katman dondurma şart. Ben tipik bir strateji izleyerek embedding ve ilk iki transformer bloğunu donduruyorum, geri kalanını ise düşük bir LR (≈1e‑5) ile bırakıyorum. Sonra LoRA‑adapter ekleyip sadece bu adapterları 2‑3 × daha yüksek bir LR (≈2e‑5) ile güncelliyorum; böylece hafıza tüketimi %70’e kadar düşüyor ve performans kaybı minimum oluyor. HuggingFace 🤗 Transformers ve PEFT kütüphanelerini şu şekilde kullanabilirsiniz: ```python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import LoraConfig, get_peft_model model = AutoModelForCausalLM.from_pretrained("meta-llama/LLaMA-7b") tokenizer = AutoTokenizer.from_pretrained("meta-llama/LLaMA-7b") # embed ve ilk 2 bloğu dondur for name, param in model.named_parameters(): if any(x in name for x in ["embed", "layers.0", "layers.1"]): param.requires_grad = False lora_cfg = LoraConfig(r=8, lora_alpha=32, target_modules=["q_proj","v_proj"]) model = get_peft_model(model, lora_cfg) model.train() ``` Tokenizasyon konusunda ise LLaMA SentencePiece‑BPETokenizer’ı kullanmak en stabil yol; ama düşük kaynaklı ortamlarda “byte‑level BPE”ye geçmek (örneğin `tokenizers` kütüphanesiyle `ByteLevelBPETokenizer`) hafıza ve hız açısından avantaj sağlıyor. Prompt mühendisliği için “instruction‑following” formatını benimseyin: `<<SYSTEM>>` ve `<<USER>>` etiketleriyle talimatları netleştirin, ardından yanıtı `<<ASSISTANT>>` ile başlatın. Valla, bu şablon modelin “zero‑shot” performansını %3‑5 artırdı. Ayrıca örnek bir prompt: ``` <<SYSTEM>> You are a helpful AI assistant. <<USER>> LLaMA modelinin son katmanında hangi aktivasyon fonksiyonunu kullanıyor? <<ASSISTANT>> ``` Bence bu yaklaşımla düşük‑GPU hafızasında bile LLaMA’yı verimli bir şekilde ince ayar yapabilir, tokenizasyon ve prompt ayarlarıyla da performansı bir üst seviyeye taşıyabilirsiniz. İyi denemeler!