Connect with us

Llama 2: Açık Kaynaklı ChatGPT Rakibine Derin Bir Bakış

Yapay Zekâ

Llama 2: Açık Kaynaklı ChatGPT Rakibine Derin Bir Bakış

mm
META LLAMA 2 LLM

Büyük Dil Modelleri (LLM’ler) karmaşık akıl yürütme görevlerine olanak tanıyan, programlama ve yaratıcı yazma gibi uzmanlaşmış alanlarda vaat göstermiştir. Ancak LLM’lerin dünyası basitçe bir tak ve çalıştır cenneti değildir; kullanılabilirlik, güvenlik ve hesaplama talepleri açısından zorluklar vardır. Bu makalede, Llama 2‘nin yeteneklerine derinlemesine bakacağız ve aynı zamanda Hugging Face ve T4 GPU’lar aracılığıyla Google Colab’da bu yüksek performanslı LLM’yi kurmak için ayrıntılı bir adım adım kılavuz sunacağız.

Meta tarafından Microsoft ile ortaklık içinde geliştirilen bu açık kaynaklı büyük dil modeli, üretken AI ve doğal dil anlayışının sınırlarını yeniden tanımlamayı amaçlıyor. Llama 2, sadece terabaytlarca veri üzerinde eğitilmiş başka bir istatistiksel model değil; bir felsefenin somutlaşmış hali. Özellikle üretken AI alanında AI geliştirme sürecinin omurgasını oluşturan açık kaynaklı bir yaklaşımı vurgulayan bir felsefe.

Llama 2 ve diyalog için optimize edilmiş varyantı Llama 2-Chat, 70 milyar parametreye kadar çıkabilen bir kapasiteye sahiptir. İnsanların tercihlerine yakın bir şekilde hizalanmalarını sağlamak için tasarlanmış bir fine-tuning süreci geçirirler. Bu düzeyde bir ince ayar, genellikle kapalı “ürün” LLM’ler için ayrılmış olan ChatGPT ve BARD gibi modeller için değildir ve genel olarak halkın incelemesi veya özelleştirilmesi için erişilebilir değildir.

Llama 2’nin Teknik Derinlemesine Bakışı

Llama 2 modelinin eğitimi için; seleflerinin yaptığı gibi, özyinelemeli bir transformer mimarisi kullanır, kendiliğinden denetlenen bir veri kümesinde ön-eğitilir. Ancak, insan davranışları ve tercihlerine daha iyi hizalamak için İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF) kullanarak sofistike bir düzey ekler. Bu hesaplama açısından pahalı ancak modelin güvenliğini ve etkinliğini iyileştirmek için hayati önem taşır.

Meta Llama 2 eğitim mimarisi

Meta Llama 2 eğitim mimarisi

Ön Eğitimi ve Veri Etkinliği

Llama 2’nin temel yeniliği, ön eğitimi rejiminde yatmaktadır. Model, 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 öne çıkıyor. Ayrıca, model, çıkarım ölçeklenebilirliğini artırmak için gruplu sorgu dikkati (GQA) kullanıyor.

Denetimli İnce Ayar (SFT) ve İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF)

Llama-2-Chat, Denetimli İnce Ayar (SFT) ve İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF) kullanarak titizlikle ince ayarlanmıştır. Bu bağlamda, SFT, RLHF çerçevesinin bir parçası olarak hizmet eder ve modelin yanıtlarını insan tercihlerine ve beklentilerine yakın bir şekilde hizalar.
OpenAI, InstructGPT’de kullanılan SFT ve RLHF metodolojilerini açıklayan bir illüstrasyon sunmuştur. LLaMa 2 gibi, InstructGPT de bu gelişmiş eğitim tekniklerini modelinin performansını optimize etmek için kullanır.

İlk adım aşağıdaki resimde Denetimli İnce Ayar (SFT)’yi vurgularken, sonraki adımlar İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF) sürecini tamamlar.

Denetimli İnce Ayar (SFT), bir ön-eğitilmiş Büyük Dil Modelini (LLM) belirli bir aşağı akış görevi için optimize etmeye yönelik özel bir süreçtir. Denetimsiz yöntemlerin aksine, veri doğrulaması gerektirmez, 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ı, nicelik yerine niteliği seçti. Sadece 27.540 etiketleme ile, Meta ekibi, insan annotatörlerle rekabet edebilecek performans seviyelerine ulaştı. Bu, sınırlı ancak temiz veri kümelerinin yüksek kaliteli sonuçlar elde edebileceğini gösteren son araştırmalar ile uyumlu.

SFT sürecinde, ön-eğitilmiş LLM, etiketlenmiş bir veri kümesine maruz kalır ve burada denetimli öğrenme algoritmaları devreye girer. Modelin iç ağırlıkları, görev özel bir loss fonksiyonundan hesaplanan gradyanlara göre yeniden ayarlanır. Bu loss fonksiyonu, modelin predicted çıkışları ile gerçek ground-truth etiketleri arasındaki uyumsuzlukları ölçer.

Bu optimizasyon, LLM’nin 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 Hesaplamalı Öğrenme, model davranışını insan tercihlerine daha yakın bir şekilde hizalamak için sonraki adımdır.

İnce ayar aşaması, Importance Sampling ve Proximal Policy Optimization gibi teknikleri kullanarak İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF)’yi uyguladı. Bu yinelemeli ince ayar, modelin performansını sadece iyileştirmekle kalmadı, aynı zamanda çıkışını insan beklentilerine 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 yarattı. Bu mekanizma, Reward Modellerini bilgilendirdi ve sonra da sohbet AI modelinin ince ayarını gerçekleştirdi.

Hayalet Dikkati: Çok Tur Diyaloglar

Meta, Llama 2’nin çok tur diyaloglardaki performansını artırmak için Hayalet Dikkati (GAtt) adlı yeni bir özellik tanıttı. Bu, süregelen sohbetlerdeki bağlam kaybı sorununu etkili bir şekilde çözer. GAtt, ilk talimatları tüm sonraki kullanıcı mesajlarına bağlayan bir tür ankraj görevi görür. Peşin Hesaplamalı Öğrenme teknikleriyle birleştirildiğinde, daha tutarlı, ilgili ve kullanıcıya uyumlu yanıtlar üretmede yardımcı olur.

Meta Git Deposu Kullanarak download.sh

  1. Meta Websitesini Ziyaret Edin: Meta’nın resmi Llama 2 sayfasına gidin ve ‘Modeli İndir’in üzerine tıklayın.
  2. Detayları Doldurun: İleri gitmek için şartları ve koşulları okuyun ve kabul edin.
  3. E-Posta Onayı: Formu gönderdikten sonra, modeli Meta’nın Git deposundan indirmek için bir bağlantı içeren bir e-posta alacaksınız.
  4. download.sh’yi Çalıştırın: Git deposunu klonlayın ve download.sh betiğini çalıştırın. Bu betik, 24 saat içinde sona erecek bir URL kullanarak Meta’dan kimlik doğrulaması yapmanızı isteyecektir. Ayrıca, modelin boyutunu (7B, 13B veya 70B) seçeceksiniz.

Hugging Face’den

  1. Erişim İzni E-Postası: Meta’dan erişimi kazandıktan sonra, Hugging Face sitesine gidin.
  2. Erişim Talebi: İstenen modeli seçin ve erişimi talep edin.
  3. Onay: 1-2 gün içinde erişiminizin onaylandığına dair bir e-posta bekleyin.
  4. 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 tam olarak uyumludur ve Hugging Face ekosisteminde birçok aracı ve işlevselliği açar. Eğitim ve çıkarım betiklerinden 4-bit quantization ve Parameter Efficient Fine-tuning (PEFT) ile bitsandbytes’e kadar, araç seti geniş kapsamlıdır. 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.

Aşağıda, Google Colab ortamında LLaMa 2 modeli çıkarımını çalıştırmak için basitleştirilmiş bir kılavuz bulunmaktadır:

Google Colab Modeli - T4 GPU

Google Colab Modeli – T4 GPU

 

 

 

 

 

 

Paket Kurulumu


!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 kılavuz için meta-llama/Llama-2-7b-chat-hf kullanıyoruz.

model = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model)

İstemciyi Kurun

Hugging Face pipeline’ı, belirli ayarlarla metin oluşturma için kullanın:

pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto")

Metin Dizilerini Oluşturun

Son olarak, istemciyi çalıştırın ve girdi metninize dayalı bir metin dizisi oluşturun:

sequences = pipeline(
'Yapay zeka alanına katkıda bulunan ana katkıda bulunanlar 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 Arayüzü

Andreessen Horowitz (A16Z), Llama 2 için özel olarak tasarlanmış bir Streamlit tabanlı sohbet botu arayüzü başlattı. GitHub’da barındırılan bu arayüz, sohbet geçmişini korur ve ayrıca Replicate üzerinde barındırılan birden fazla Llama 2 API endpoint’ini seçme esnekliği sunar. Kullanıcı merkezli tasarım, Llama 2 ile etkileşimi basitleştirmeyi amaçlar, böylece geliştiriciler ve son kullanıcılar için ideal bir araç haline gelir. İlgi duyanlar için canlı bir demo Llama2.ai adresinde mevcuttur.

Llama 2: GPT Modellerinden ve Öncülünden Farklı Yönleri

Ölçek Çeşitliliği

Çok fazla dil modelinin aksine, Llama 2 farklı parametrelerle modeller sunar. Model, 7 milyar ile 70 milyar parametre arasında ölçeklenir, 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 artırılmış bir bağlam uzunluğuna sahiptir. Bu, daha karmaşık ve geniş içerikleri anlamak ve üretmek için daha fazla bilgi tutmasına olanak tanır.

Gruplu Sorgu Dikkati (GQA)

Mimari, önceki token çiftlerinin önbelleğe alınmasını sağlayan GQA kavramını kullanır. Bu, dikkat hesabını hızlandırır ve modelin çıkarım ölçeklenebilirliğini artırır.

Performans Benchmarks

Llama 2-Chat Modellerinin ChatGPT ve Diğer Rakipler ile Karşılaştırmalı Performans Analizi

Llama 2-Chat Modellerinin ChatGPT ve Diğer Rakipler ile Karşılaştırmalı Performans Analizi

LLama 2, performans metriclerinde yeni bir standart belirledi. Sadece selefi Llama 1’i değil, aynı zamanda Falcon ve GPT-3.5 gibi diğer modellerle de rekabet ediyor.

Llama 2-Chat’in en büyük modeli olan 70B, %36’lık bir oranda ChatGPT’yi geride bırakıyor ve %31.5’lik bir oranda performansı eşleştiriyor. 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 istiyor. Llama 2, araştırma ve ticari olmayan amaçlar için ücretsiz olarak erişilebilir. Amacı, AI yeteneklerini demokratikleştirmek, böylece start-up’lar, araştırmacılar ve işletmeler için erişilebilir kılmaktır. Açık kaynaklı bir yaklaşım, modelin hata ayıklama ve güvenlik testlerini hızlandırır. Geliştiriciler ve AI etiği uzmanları, modeli test edebilir, zayıflıkları belirleyebilir ve çözümler sunabilir.

Llama 2’nin lisans koşulları genel olarak esnek olmakla birlikte, istisnalar vardır. 700 milyondan fazla aylık kullanıcıya sahip büyük işletmeler, zoals Google, Llama 2’yi kullanmak için Meta’dan açık izin almaları gerekir. Ayrıca, lisans, LLaMa 2’nin diğer dil modellerinin geliştirilmesinde kullanılmasını yasaklar.

Llama 2 ile İlgili Mevcut Zorluklar

  1. Veri Genellemesi: Hem Llama 2 hem de GPT-4, çeşitli görevlerde tutarlı olarak yüksek performans göstermekte bazen zorlanabilir. Bu senaryolarda, veri kalitesi ve çeşitliliği hacim kadar önemlidir.
  2. Model Şeffaflığı: AI’nin yanıltıcı çıktılar üretmesiyle ilgili önceki sorunlar göz önüne alındığında, bu karmaşık modellerin karar alma mantığını keşfetmek kritik önem taşır.

Code Llama – Meta’nın Son Lansmanı

Meta, Code Llama‘yı duyurdu. Bu, programlama için uzmanlaşmış bir büyük dil modelidir ve 7 milyar ile 34 milyar parametre arasında değişen boyutlara sahiptir. ChatGPT Code Interpreter‘e benzer şekilde; Code Llama, geliştirici iş akışlarını basitleştirebilir ve programlamayı daha erişilebilir hale getirebilir. Çeşitli programlama dillerini destekler ve Python gibi belirli dillere özgü varyantlara sahiptir. Model, farklı gecikme gereksinimlerini karşılamak için farklı performans seviyeleri sunar. Açık lisanslı olarak, Code Llama, sürekli geliştirme için topluluk geri bildirimi davet eder.

https://about.fb.com/news/2023/08/code-llama-ai-for-coding/

Sonuç

Bu makale, Llama 2 modelini Hugging Face desteğiyle Google Colab’da metin oluşturma için kurmak için size rehberlik etti. Llama 2’nin performansı, özyinelemeli transformer mimarileri ve İnsan Geri Bildirimli Peşin Hesaplamalı Öğrenme (RLHF) gibi gelişmiş tekniklere dayanır. 70 milyar parametreye kadar çıkan bir kapasite ve Hayalet Dikkati gibi özelliklerle, bu model belirli alanlarda endüstri standartlarını geride bırakıyor ve açık doğası, doğal dil anlayışında ve üretken AI’de yeni bir dönemin kapılarını aralıyor.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi daldırmış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML odaklı 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım ayrıca beni Doğal Dil İşleme'ye doğru çekti, bu alanda daha fazla keşfetmeye hevesliyim.