Bizimle iletişime geçin

Yapay Zeka

Llama 2: ChatGPT'ye Açık Kaynak Mücadelesine Derin Bir Bakış

mm
META LLAMA 2 Yüksek Lisans

Büyük Dil Modelleri Karmaşık akıl yürütme görevlerini yerine getirebilen (LLM) dereceleri, programlama ve yaratıcı yazarlık gibi uzmanlık gerektiren alanlarda umut vadetmektedir. Ancak, LLM dünyası yalnızca tak ve çalıştır cenneti değildir; kullanılabilirlik, güvenlik ve hesaplama gereksinimleri açısından zorluklar da mevcuttur. Bu makalede, LLM derecelerinin yeteneklerini derinlemesine inceleyeceğiz. Llama 2, Google Colab'da Hugging Face ve T4 GPU'lar aracılığıyla bu yüksek performanslı LLM'yi kurmak için ayrıntılı bir yol sağlar.

Meta'nın Microsoft ortaklığıyla geliştirdiği bu açık kaynaklı büyük dil modeli, üretken yapay zeka ve doğal dil anlayışı alanlarını yeniden tanımlamayı hedefliyor. Llama 2, terabaytlarca veri üzerinde eğitilmiş sıradan bir istatistiksel model değil; bir felsefenin vücut bulmuş hali. Özellikle üretken yapay zeka alanında, yapay zeka gelişiminin omurgası olarak açık kaynaklı bir yaklaşımı vurgulayan bir felsefe.

Llama 2 ve diyaloglar için optimize edilmiş alternatifi Llama 2-Chat, 70 milyara kadar parametreyle donatılmıştır. Onları insan tercihleriyle yakından uyumlu hale getirmek için tasarlanmış bir ince ayar sürecinden geçiyorlar, böylece halka açık diğer birçok modelden hem daha güvenli hem de daha etkili oluyorlar. İnce ayardaki bu ayrıntı düzeyi genellikle aşağıdaki gibi kapalı "ürün" LLM'leri için ayrılmıştır: ChatGPT ve genel olarak kamu incelemesine veya özelleştirmeye açık olmayan BARD.

Lama 2'nin Teknik Derin İncelemesi

Llama 2 modelinin eğitimi için; öncekiler gibi, otomatik gerileyen bir yöntem kullanıyor transformatör mimarisi, kapsamlı bir öz-denetimli veri kümesi üzerinde önceden eğitilmiştir. Ancak, insan davranışları ve tercihleriyle daha iyi uyum sağlamak için İnsan Geri Bildirimli Takviyeli Öğrenme (RLHF) kullanarak ek bir gelişmişlik katmanı ekler. Bu, hesaplama açısından maliyetli olsa da modelin güvenliğini ve etkinliğini artırmak için hayati önem taşır.

Meta Llama 2 eğitim mimarisi

Meta Llama 2 eğitim mimarisi

Ön Eğitim ve Veri Verimliliği

Llama 2'nin temel yeniliği, ön eğitim sisteminde yatmaktadır. Model, öncülü Llama 1'den ipuçları almakla birlikte, performansını artırmak için birkaç önemli iyileştirme de sunmaktadır. Özellikle, eğitilen toplam jeton sayısında %40'lık bir artış ve bağlam uzunluğunda iki kat artış göze çarpmaktadır. Dahası, model, çıkarım ölçeklenebilirliğini artırmak için gruplanmış sorgu dikkatinden (GQA) yararlanmaktadır.

Denetimli İnce Ayar (SFT) ve İnsan Geri Bildirimiyle Güçlendirilmiş Öğrenme (RLHF)

Llama-2-chat, hem SFT hem de İnsan Geri Bildirimli Takviyeli Öğrenme (RLHF) kullanılarak titizlikle ince ayarlanmıştır. Bu bağlamda, SFT, RLHF çerçevesinin ayrılmaz bir bileşeni olarak hizmet ederek, modelin tepkilerini insan tercihleri ​​ve beklentileriyle yakından uyumlu hale getirir.

OpenAI InstructGPT'de kullanılan SFT ve RLHF metodolojilerini açıklayan bilgilendirici bir örnek sunmuştur. LLaMa 2'ye benzer şekilde, InstructGPT de modelinin performansını optimize etmek için bu gelişmiş eğitim tekniklerinden yararlanır.

Aşağıdaki görüntüdeki 1. Adım, Denetimli İnce Ayar'a (SFT) odaklanırken sonraki adımlar, İnsan Geri Bildiriminden Takviyeli Öğrenme (RLHF) sürecini tamamlar.

Gözetimli İnce Ayar (SFT), önceden eğitilmiş bir Büyük Dil Modelini (LLM) belirli bir alt akış görevi için optimize etmeyi amaçlayan özel bir işlemdir. Veri doğrulaması gerektirmeyen gözetimsiz yöntemlerin aksine, SFT önceden doğrulanmış ve etiketlenmiş bir veri kümesi kullanır.

Genellikle bu veri kümelerini oluşturmak maliyetli ve zaman alıcıdır. Llama 2 yaklaşımı nicelikten ziyade niteliğe önem veriyordu. Meta ekibi, yalnızca 27,540 ek açıklamayla, insan ek açıklamacılarla rekabet edebilecek performans seviyelerine ulaştı. Bu, son çalışmalar sınırlı ama temiz veri kümelerinin bile yüksek kaliteli sonuçlara yol açabileceğini gösteriyor.

SFT sürecinde, önceden eğitilmiş LLM, gözetimli öğrenme algoritmalarının devreye girdiği etiketli bir veri kümesine maruz bırakılır. Modelin dahili ağırlıkları, göreve özgü bir kayıp fonksiyonundan hesaplanan eğimlere göre yeniden kalibre edilir. Bu kayıp fonksiyonu, modelin tahmin edilen çıktıları ile gerçek zemin gerçekliği etiketleri arasındaki tutarsızlıkları niceliksel olarak belirler.

Bu optimizasyon, LLM'nin etiketli veri kümesine gömülü karmaşık modelleri ve nüansları kavramasına olanak tanır. Sonuç olarak, model sadece genelleştirilmiş bir araç değildir, aynı zamanda hedef görevi yüksek derecede doğrulukla yerine getirme becerisine sahip özel bir varlığa da evrilir.

Takviyeli öğrenme, model davranışını insan tercihleriyle daha yakından uyumlu hale getirmeyi amaçlayan bir sonraki adımdır.

Ayarlama aşamasında, İnsan Geri Bildiriminden (RLHF) Takviyeli Öğrenmeden yararlanıldı ve aşağıdaki gibi teknikler kullanıldı: Önem Örnekleme ve Proksimal Politika Optimizasyonu algoritmik gürültüyü ortaya çıkarmak, böylece yerel optimumdan kaçınmak. Bu yinelenen ince ayar, yalnızca modeli geliştirmekle kalmadı, aynı zamanda çıktısını da insan beklentileriyle uyumlu hale getirdi.

Llama 2-Chat, insan tercihi verilerini toplamak için ikili bir karşılaştırma protokolü kullandı ve bu, daha niteliksel yaklaşımlara yönelik dikkate değer bir eğilimi işaret etti. Bu mekanizma, daha sonra konuşmaya dayalı yapay zeka modeline ince ayar yapmak için kullanılan Ödül Modellerini bilgilendirdi.

Hayalet Dikkati: Çok Turlu Diyaloglar

Meta, Llama 2'nin çok turlu diyaloglardaki performansını artırmak için tasarlanmış yeni bir özellik olan Hayalet Dikkat (GAtt) özelliğini kullanıma sundu. Bu özellik, devam eden konuşmalardaki kalıcı bağlam kaybı sorununu etkili bir şekilde çözüyor. GAtt, ilk talimatları sonraki tüm kullanıcı mesajlarına bağlayan bir çapa görevi görüyor. Takviyeli öğrenme teknikleriyle birleştirildiğinde, uzun diyaloglarda tutarlı, alakalı ve kullanıcı odaklı yanıtlar üretilmesine yardımcı oluyor.

Meta Git Deposundan download.sh Kullanarak

  1. Meta Web Sitesini Ziyaret Edin: Şu yöne rotayı ayarla Meta'nın resmi Llama 2 sitesi ve 'Modeli İndir'e tıklayın
  2. Ayrıntıları Doldurun: Devam etmek için şartlar ve koşulları okuyun ve kabul edin.
  3. E-posta Onayı: Form gönderildiğinde Meta'dan modeli git deposundan indirmenize olanak sağlayacak bir bağlantı içeren bir e-posta alacaksınız.
  4. Download.sh dosyasını yürütün: Git deposunu klonlayın ve yürütün download.sh senaryo. Bu komut dosyası, süresi 24 saat içinde dolacak olan Meta'daki bir URL'yi kullanarak kimlik doğrulaması yapmanızı isteyecektir. Ayrıca modelin boyutunu da seçeceksiniz: 7B, 13B veya 70B.

Sarılma Yüzünden

  1. Kabul E-postası Alın: Meta'dan erişim sağladıktan sonra şuraya gidin: Sarılma Yüz.
  2. Erişim talep etmek: İstediğiniz modeli seçin ve erişim izni vermek için bir istek gönderin.
  3. Onay: 1-2 gün içinde 'erişim izni verildi' e-postasını bekleyin.
  4. Erişim Belirteçleri Oluşturun: Erişim belirteçleri oluşturmak için Hugging Face hesabınızdaki 'Ayarlar'a gidin.

Transformers 4.31 sürümü, LLaMa 2 ile tamamen uyumludur ve Hugging Face ekosisteminde birçok araç ve işlevi kullanıma sunar. Eğitim ve çıkarım betiklerinden bitsandbytes ile 4 bitlik nicemleme ve Parametre Verimli İnce Ayar'a (PEFT) kadar araç seti kapsamlıdır. Başlamak için en son Transformers sürümünü kullandığınızdan ve Hugging Face hesabınızda oturum açtığınızdan emin olun.

İşte LLaMa 2 model çıkarımını çalıştırmaya yönelik basitleştirilmiş bir kılavuz Google İşbirliği GPU çalışma zamanından yararlanan bir ortam:

Google Colab Modeli - T4 GPU

Google Colab Modeli – T4 GPU

 

 

 

 

 

 

Paket Kurulumu

!pip install transformers
!huggingface-cli login

Gerekli Python kitaplıklarını iç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'yi kullanıyoruz.

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

Boru Hattını Ayarlayın

Belirli ayarlarla metin oluşturmak için Hugging Face hattını kullanın:

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

Metin Dizileri Oluşturun

Son olarak işlem hattını çalıştırın ve girişinize göre bir metin dizisi oluşturun:

sequences = pipeline(
    'Who are the key contributors to the field of artificial intelligence?\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"Result: {seq['generated_text']}")

A16Z'nin LLaMa 2 için kullanıcı arayüzü

Andreessen Horowitz (A16Z) kısa süre önce Llama 2 için özel olarak tasarlanmış son teknoloji ürünü Streamlit tabanlı bir sohbet robotu arayüzünü piyasaya sürdü. GitHub'da barındırılan bu kullanıcı arayüzü, oturum sohbet geçmişini korur ve aynı zamanda üzerinde barındırılan birden fazla Llama 2 API uç noktası arasından seçim yapma esnekliği sağlar. Tekrarlamak. Bu kullanıcı merkezli tasarım, Llama 2 ile etkileşimleri basitleştirmeyi amaçlayarak onu hem geliştiriciler hem de son kullanıcılar için ideal bir araç haline getiriyor. Bunu deneyimlemek isteyenler için canlı demo şu adreste mevcuttur: Llama2.ai.

Llama 2: Onu GPT Modellerinden ve öncülü Llama 1'den farklı kılan nedir?

Ölçek Çeşitliliği

Sınırlı ölçeklenebilirlik sunan birçok dil modelinin aksine Llama 2, çeşitli parametrelere sahip modeller için size çok sayıda farklı seçenek sunar. Model, 7 milyardan 70 milyara kadar parametreyi ölçeklendirerek çeşitli hesaplama ihtiyaçlarına uyacak bir dizi konfigürasyon sağlar.

Geliştirilmiş Bağlam Uzunluğu

Model, Llama 4'e göre artırılmış 1K token bağlam uzunluğuna sahiptir. Bu, onun daha fazla bilgi tutmasına olanak tanır ve böylece daha karmaşık ve kapsamlı içerikleri anlama ve oluşturma yeteneğini geliştirir.

Gruplandırılmış Sorgu Dikkati (GQA)

Mimarlık şu kavramı kullanıyor: DKGÖnceki belirteç çiftlerini önbelleğe alarak dikkat hesaplama sürecini hızlandırmak üzere tasarlanmıştır. Bu, erişilebilirliği artırmak için modelin çıkarım ölçeklenebilirliğini etkili bir şekilde iyileştirir.

Performans Karşılaştırmaları

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

Llama 2-Chat Modellerinin ChatGPT ve Diğer Rakiplerle Performans Analizi

LLama 2 performans ölçümlerinde yeni bir standart belirledi. Yalnızca selefi LLama 1'den daha iyi performans göstermekle kalmıyor, aynı zamanda Falcon ve GPT-3.5 gibi diğer modellerle de önemli bir rekabet sunuyor.

Llama 2-Chat'in en büyük modeli olan 70B, vakaların %36'sında ChatGPT'yi geride bırakıyor ve vakaların %31.5'inde de eşleşme performansı sağlıyor. Kaynak: kâğıt

Açık Kaynak: Topluluğun Gücü

Meta ve Microsoft, Llama 2'nin sıradan bir üründen daha fazlası olmasını hedefliyor; onu topluluk odaklı bir araç olarak öngörüyorlar. Llama 2'ye hem araştırma hem de ticari olmayan amaçlarla erişim ücretsiz. Yapay zeka yeteneklerini demokratikleştirerek, onu yeni kurulan şirketler, araştırmacılar ve işletmeler için erişilebilir hale getirmeyi hedefliyorlar. Açık kaynaklı bir paradigma, modelin "kitle kaynaklı sorun giderme"sine olanak tanır. Geliştiriciler ve yapay zeka etiği uzmanları, stres testleri yapabilir, güvenlik açıklarını tespit edebilir ve hızlı bir şekilde çözümler sunabilirler.

LLaMa 2'nin lisans koşulları genel olarak hoşgörülü olsa da, istisnalar var. Google gibi aylık 700 milyondan fazla kullanıcısı olan büyük şirketlerin kullanımı için Meta'dan açık yetki alınması gerekiyor. Ek olarak lisans, LLaMa 2'nin diğer dil modellerinin geliştirilmesi amacıyla kullanılmasını yasaklamaktadır.

Llama 2 ile Güncel Zorluklar

  1. Veri Genelleştirme: Hem Llama 2 hem de GPT-4 bazen farklı görevlerde aynı düzeyde yüksek performansta bocalıyor. Bu senaryolarda veri kalitesi ve çeşitliliği hacim kadar önemlidir.
  2. Model Şeffaflığı: Yapay zekanın yanıltıcı çıktılar üretmesiyle ilgili daha önceki aksaklıklar göz önüne alındığında, bu karmaşık modellerin ardındaki karar verme mantığını keşfetmek çok önemlidir.

Code Llama – Meta'nın Son Lansmanı

Meta yakın zamanda duyuruldu Kod Laması 7B'den 34B'ye kadar değişen parametre boyutlarıyla programlama konusunda uzmanlaşmış geniş bir dil modelidir. Benzer ChatGPT Kod Tercümanı; Code Llama, geliştirici iş akışlarını kolaylaştırabilir ve programlamayı daha erişilebilir hale getirebilir. Çeşitli programlama dillerini barındırır ve Python'a özgü görevler için Code Llama-Python gibi özel varyasyonlarla gelir. Model ayrıca çeşitli gecikme gereksinimlerini karşılamak için farklı performans seviyeleri sunar. Açık lisanslı Code Llama, sürekli iyileştirme için topluluk katkısını davet ediyor.

Kodlamaya yönelik bir yapay zeka aracı olan Code Llama ile tanışın

Sonuç

Bu makale, Google Colab'da Hugging Face desteğiyle metin üretimi için bir Llama 2 modeli kurma sürecini adım adım açıklamaktadır. Llama 2'nin performansı, otomatik gerilemeli dönüştürücü mimarilerden İnsan Geri Bildirimli Takviyeli Öğrenmeye (RLHF) kadar çeşitli gelişmiş tekniklerle desteklenmektedir. 70 milyara kadar parametresi ve Hayalet Dikkat gibi özellikleriyle bu model, belirli alanlarda mevcut endüstri standartlarını geride bırakıyor ve açık yapısıyla doğal dil anlama ve üretken yapay zeka alanında yeni bir çağın önünü açıyor.

Son beş yılımı, Makine Öğrenimi ve Derin Öğrenmenin büyüleyici dünyasına dalarak geçirdim. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla farklı yazılım mühendisliği projesine katkıda bulunmamı sağladı. Devam eden merakım, beni daha fazla keşfetmeye hevesli olduğum bir alan olan Doğal Dil İşleme'ye de çekti.