Yapay zeka modelleri ve platformları
Llama 2: Derin bir Llama 2 Açık Kaynaklı Rakibine Dalış
Büyük Dil Modelleri (LLM’ler), karmaşık akıl yürütme görevlerine olanak tanıyan özel alanlarda gibi programlama ve yaratıcı yazma gibi uzmanlaşmış alanlarda umut verici sonuçlar göstermiştir. Ancak, LLM’lerin dünyası basitçe bir tak ve çalıştır cenneti değildir; kullanılırlık, güvenlik ve hesaplama talepleri gibi zorluklar vardır. Bu makalede, Llama 2 yeteneklerine derinlemesine dalacağız ve aynı zamanda Hugging Face ve Google Colab’de T4 GPU’lar ile bu yüksek performanslı LLM’yi kurmak için ayrıntılı bir yolculuk sunacağız.
Meta ve Microsoft (MSFT ) ortaklığı ile geliştirilen bu açık kaynaklı büyük dil modeli, üretken AI ve doğal dil anlayışının alanlarını yeniden tanımlamayı amaçlıyor. Llama 2, sadece terabaytlarca veri üzerinde eğitilmiş bir istatistiksel model değil, bir felsefenin somutlaşmasıdır. Bu felsefe, özellikle üretken AI alanında AI geliştirme sürecinin omurgasının açık kaynaklı bir yaklaşım olması gerektiğini vurgulamaktadır.
Llama 2 ve diyalog-optimizasyonlu varyantı Llama 2-Chat, 70 milyar parametreye kadar çıkabilen bir fine-tuning süreci ile donatılmıştır. Bu, onları daha güvenli ve etkili kılar, özellikle de diğer halka açık olarak erişilebilen modellere kıyasla. Bu düzeyde bir fine-tuning genellikle kapalı “ürün” LLM’ler için ayrılmıştır, örneğin ChatGPT ve BARD, bunlar genellikle halka açık inceleme veya özelleştirme için erişilebilir değildir.
Llama 2’nin Teknik Derin Dalışı
Llama 2 modelinin eğitimi için, önceki modeller gibi, otoregresif bir transformer mimarisi kullanılmıştır, bu self-supervised veri kümesinin üzerine önceden eğitilmiştir. Ancak, insan davranışları ve tercihleri ile daha iyi hizalamak için İnsan Geri Bildirimli Peşin Öğrenme (RLHF) kullanarak bir sofistike katman ekler. Bu hesaplama açısından pahalıdır, ancak modelin güvenliği ve etkinliğini iyileştirmek için hayati önem taşır.
Ön Eğitimi & Veri Etkinliği
Llama 2’nin temel yeniliği, ön eğitim rejiminde yatmaktadır. Model, önceki Llama 1’den ipuçları alır, ancak performansını yükseltmek için birkaç kritik geliştirme sunar. Özellikle, eğitilen tokenlerin toplam sayısında %40’lık bir artış ve bağlam uzunluğunda iki katına çıkan bir genişleme dikkat çekicidir. Ayrıca, model, çıkarım ölçeklenebilirliğini artırmak için gruplu sorgu dikkatini (GQA) kullanır.
Denetimli Fine-Tuning (SFT) & İnsan Geri Bildirimli Peşin Öğrenme (RLHF)
Llama-2-Chat, SFT ve RLHF kullanarak titizlikle fine-tuning edilmiştir. Bu bağlamda, SFT, RLHF çerçevesinin bir parçası olarak hizmet eder, modelin yanıtlarını insan tercihleri ve beklentileri ile yakın bir şekilde hizalar.
OpenAI, InstructGPT’de kullanılan SFT ve RLHF metodolojilerini açıklayan bir illustrasyon sağladı. LLaMa 2 gibi, InstructGPT de model performansını optimize etmek için bu gelişmiş eğitim tekniklerini kullanır.
Aşağıdaki resimdeki 1. adım, Denetimli Fine-Tuning (SFT)’yi vurgularken, sonraki adımlar İnsan Geri Bildirimli Peşin Öğrenme (RLHF) sürecini tamamlar.
Denetimli Fine-Tuning (SFT), bir önceden eğitilmiş Büyük Dil Modelini (LLM) belirli bir aşağı akım görevi için optimize etmeye yönelik bir süreçtir. Denetimsiz yöntemlerin aksine, SFT, önceden doğrulanmış ve etiketlenmiş bir veri kümesini kullanır.
Bu veri kümelerinin oluşturulması genellikle maliyetli ve zaman alıcıdır. Llama 2 yaklaşımı, nicelikten çok niteliğe odaklanmıştır. Sadece 27,540 adet etiketleme ile Meta ekibi, insan annotatörlerle rekabet edebilecek performans seviyelerine ulaştı. Bu, temiz veri kümelerinin yüksek kaliteli sonuçlar üretebileceğini gösteren son araştırmalar ile uyumlu görünmektedir.
SFT sürecinde, önceden eğitilmiş LLM, etiketlenmiş bir veri kümesine maruz kalır, burada denetimli öğrenme algoritmaları devreye girer. Modelin iç ağırlıkları, görev özel bir loss fonksiyonundan hesaplanan gradientlere göre yeniden ayarlanır. Bu loss fonksiyonu, modelin öngörülen çıkışları ile gerçek ground-truth etiketleri arasındaki uyumsuzlukları ölçer.
Bu optimizasyon, modelin etiketlenmiş veri kümesindeki karmaşık kalıpları ve nüansları kavramasını sağlar. Sonuç olarak, model sadece genel bir araç değil, hedef görevi yüksek bir doğrulukla gerçekleştirebilen uzmanlaşmış bir varlık haline gelir.
İnsan Geri Bildirimli Peşin Öğrenme, model davranışını insan tercihleri ile daha yakın bir şekilde hizalamak için sonraki adımdır.
Ayarlama aşaması, Importance Sampling ve Proximal Policy Optimization gibi teknikleri kullanarak RLHF’yi uyguladı, bu da algoritmik gürültü getirerek yerel optimumlardan kaçınmayı sağladı. Bu yinelemeli fine-tuning, modeli sadece geliştirmekle kalmadı, aynı zamanda çıkışlarını insan beklentileri ile hizaladı.
Llama 2-Chat, insan tercih veri toplamak için ikili karşılaştırma protokolü kullandı, daha niteliksel yaklaşımlara doğru bir eğilim olduğunu gösterdi. Bu mekanizma, modeli fine-tune etmek için kullanılan Ödül Modellerini bilgilendirdi.
Hayalet Dikkati: Çoklu Dönemeçli Diyaloglar
Meta, Llama 2’nin performansını çoklu dönemeçli diyaloglarda geliştirmek için Hayalet Dikkati (GAtt) adlı yeni bir özellik tanitti. Bu, devam eden konuşmalarda bağlam kaybı sorununu etkili bir şekilde çözer. GAtt, ilk talimatlara tüm sonraki kullanıcı mesajlarını bağlayan bir köprü gibi davranır. Peşin öğrenme teknikleri ile birleştirildiğinde, daha uzun diyaloglar boyunca tutarlı, ilgili ve kullanıcıya uygun yanıtlar üretmede yardımcı olur.
Meta Git Deposu Kullanarak download.sh
- Meta Websitesini Ziyaret Edin: Meta’nın resmi Llama 2 sayfasına gidin ve ‘Modeli İndir’in üzerine tıklayın.
- Ayrıntıları Doldurun: İleri gitmek için şartları ve koşulları okuyun ve kabul edin.
- Elektronik Posta Onayı: Formu gönderdikten sonra, modeli Meta’nın Git deposundan indirmek için bir bağlantı içeren bir elektronik posta alacaksınız.
- download.sh’yi Çalıştırın: Git deposunu klonlayın ve
download.shbetiğini çalıştırın. Bu betik, 24 saat içinde sona erecek bir URL kullanarak Meta’dan kimlik doğrulamanızı isteyecektir. Ayrıca, 7B, 13B veya 70B gibi modelin boyutunu seçeceksiniz.
Hugging Face’den
- Kabul E-postasını Alın: Meta’dan erişimi kazandıktan sonra, Hugging Face sitesine gidin.
- Erişim İsteği Gönderin: İstenen modeli seçin ve erişimi talep edin.
- Onay Bekleyin: 1-2 gün içinde erişiminizin onaylandığına dair bir e-posta alacaksınız.
- Erişim Tokenlerini Oluşturun: Hugging Face hesabınızda ‘Ayarlar’a giderek erişim tokenlerini oluşturun.
Transformers 4.31 sürümü, LLaMa 2 ile tamamen uyumlu olup Hugging Face ekosisteminde birçok araç ve işlevselliği sunar. Eğitim ve çıkarım betikleri, bitsandbytes ile 4-bit kuantizasyon ve Parameter Efficient Fine-tuning (PEFT) gibi araçlar mevcuttur. Başlamak için, en son Transformers sürümüne sahip olduğunuzdan ve Hugging Face hesabınıza giriş yaptığınızdan emin olun.
Şimdi, LLaMa 2 modelinin çıkarımını Google Colab’de GPU çalışma zamanı kullanarak çalıştırmak için basitleştirilmiş bir rehber sunuyoruz:
Paket Kurulumu
<p>!pip install transformers !huggingface-cli login
Gerekli Python Kütüphanelerini İçe Aktarın.
from transformers import AutoTokenizer import transformers import torch
Modeli ve Tokenizer’ı Başlatın
Bu adımda, hangi Llama 2 modelini kullanacağınızı belirtin. Bu rehber için, meta-llama/Llama-2-7b-chat-hf kullanacağız.
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
İstemeyi Kurun
Hugging Face pipeline’ı, metin oluşturma için belirli ayarlarla kullanın:
pipeline = transformers.pipeline( "text-generation", model=model, torch_dtype=torch.float16, device_map="auto")
Metin Dizilerini Oluşturun
Son olarak, pipeline’ı çalıştırın ve girdi temelinde metin dizisi oluşturun:
sequences = pipeline(
'Yapay zeka alanına katkıda bulunan ana kişiler kimlerdir?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"Sonuç: {seq['generated_text']}")
A16Z’nin LLaMa 2 için Kullanıcı Arayüzü
Andreessen Horowitz (A16Z), Llama 2 için Streamlit tabanlı bir sohbet arayüzü başlattı. GitHub’da barındırılan bu arayüz, oturum sohbet geçmişini korur ve ayrıca Replicate üzerinde barındırılan birden fazla Llama 2 API uç noktasını seçme esnekliği sunar. Kullanıcı odaklı bu tasarım, geliştiriciler ve son kullanıcılar için Llama 2 ile etkileşimi basitleştirmeyi amaçlar. İlgi duyanlar için Llama2.ai adresinde canlı bir demo mevcuttur.
Llama 2: GPT Modellerinden ve Öncül Llama 1’den Farkları
Ölçek Çeşitliliği
Llama 2, birçok dil modelinin aksine, farklı parametrelerle çeşitli modeller sunar. Model, 7 milyar ile 70 milyar parametre arasında ölçeklenebilir, böylece çeşitli hesaplama gereksinimlerine uygun farklı yapılandırmalar sağlar.
Geliştirilmiş Bağlam Uzunluğu
Model, Llama 1’e kıyasla 4K tokenlik daha uzun bir bağlam uzunluğuna sahiptir. Bu, daha karmaşık ve geniş içerikleri anlamak ve üretmek için daha fazla bilgiyi korumasına olanak tanır.
Gruplu Sorgu Dikkati (GQA)
Mimari, GQA kavramını kullanır, bu da önceki token çiftlerini önbelleğe alarak dikkat hesabını hızlandırır. Bu, modelin çıkarım ölçeklenebilirliğini artırır ve erişilebilirliğini iyileştirir.
Performans Benchmarks
Llama 2, performans meticlerinde yeni bir standart belirledi. Sadece öncül Llama 1’i geride bırakmakla kalmaz, aynı zamanda Falcon ve GPT-3.5 gibi diğer modellere karşı önemli bir rekabet sunar.
Llama 2-Chat’in en büyük modeli olan 70B, %36’lık durumlarda ChatGPT’yi geride bırakır ve %31.5’lik durumlarda performansını eşler. Kaynak: Makale
Açık Kaynak: Topluluk Gücü
Meta ve Microsoft, Llama 2’yi sadece bir ürün olarak değil, topluluk tarafından yönlendirilen bir araç olarak görmek istiyorlar. Llama 2, araştırma ve ticari olmayan amaçlar için ücretsiz olarak erişilebilirdir. Amacı, AI yeteneklerini demokratikleştirmek, böylece bu yeteneklere startups, araştırmacılar ve işletmeler erişebilir. Açık kaynak yaklaşımı, modelin “kalabalık tarafından hata ayıklamasını” sağlar. Geliştiriciler ve AI etiği uzmanları, güvenlik açıklarını tanımlayabilir, çözümler sunabilir ve bunları hızlandırabilir.
Llama 2 ile İlişkili Mevcut Zorluklar
- Veri Genellemesi: Hem Llama 2 hem de GPT-4, farklı görevlerde tutarlı olarak yüksek performans göstermekte bazen zorlanabilir. Veri kalitesi ve çeşitliliği, bu senaryolarda hacim kadar önemlidir.
- Model Şeffaflığı: AI’nin yanıltıcı çıktılar üretmesiyle ilgili önceki geri dönüşler dikkate alındığında, bu karmaşık modellerin karar alma mantığını keşfetmek önemlidir.
Code Llama – Meta’nın Son Lansmanı
Meta, Code Llama adlı bir büyük dil modelini programlama için özel olarak tasarladı. Parametre boyutları 7B ile 34B arasında değişen bu model, ChatGPT Code Interpreter gibi geliştirici iş akışlarını basitleştirebilir ve programlamayı daha erişilebilir hale getirebilir. Farklı programlama dillerini destekler ve Python gibi belirli görevler için özelleştirilmiş varyantlara sahiptir. Model, çeşitli gecikme gereksinimlerini karşılamak için farklı performans seviyeleri sunar. Açık lisanslı olarak, Code Llama topluluk girdisini sürekli iyileştirme için davet eder.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
Sonuç
Bu makale, Hugging Face desteği ile Google Colab’de Llama 2 modelini metin oluşturma için kurma rehberliğini sundu. Llama 2’nin performansı, otoregresif transformer mimarileri ve İnsan Geri Bildirimli Peşin Öğrenme (RLHF) gibi gelişmiş tekniklerin bir bileşimidir. 70 milyar parametreye kadar çıkan ve Hayalet Dikkati gibi özelliklere sahip olan bu model, belirli alanlarda endüstri standartlarını geride bırakır ve açık doğası, doğal dil anlayışında ve üretken AI’de yeni bir dönemi başlatmayı amaçlar.

















