Meta'nın Llama'sı: Dil Modeli Ötesi

Llama’nın Evrimi: Statükoya Meydan Okuma

Llama ilk ortaya çıktığında, teknoloji devlerinin büyük, kapalı kaynaklı LLM’lerinin hakimiyetine meydan okudu. Meta AI, daha küçük, daha genelleştirilmiş modellere odaklanan bir strateji benimsedi. Temel fikir, çok sayıda token üzerinde eğitilen bu daha küçük modellerin, özel görevler için yeniden eğitilmesinin ve ince ayar yapılmasının daha kolay ve daha uygun maliyetli olacağıydı. Bu yaklaşım, giderek daha büyük, kaynak yoğun modeller inşa etme eğilimiyle keskin bir tezat oluşturuyordu.

Ancak, Llama’nın ‘açık kaynak’ doğası tartışma konusudur. Meta Llama lisansı, ticari ve kabul edilebilir kullanıma ilişkin belirli kısıtlamalar içerir. Bu kısıtlamalar tartışmasız haklı olsa da, Open Source Initiative’in katı açık kaynak tanımıyla çelişiyor. Bu, Llama’nın gerçekten açık kaynak olarak nitelendirilip nitelendirilemeyeceği konusunda devam eden tartışmalara yol açtı.

Yasal Zorluklarda Gezinme: Telif Hakkı Endişeleri

Llama’nın gelişimi yasal engellerden yoksun değildi. 2023’te Meta, telif hakkıyla korunan kitaplarının Llama’yı eğitmek için izinsiz kullanıldığını iddia eden yazarlar tarafından açılan iki toplu dava ile karşı karşıya kaldı. Bu davalar, büyük dil modelleri için kullanılan eğitim verilerini çevreleyen karmaşık telif hakkı sorunlarını vurgulamaktadır. Şimdiye kadar, mahkemeler yazarların iddialarına pek sempati duymadı.

Genişleyen Yetenekler: Llama’nın Büyüyen Model Ailesi

2023’ün sonlarından bu yana, Meta AI, Llama ailesini önemli ölçüde genişletti. Modeller artık metin tabanlı etkileşimlerle sınırlı değil. Mevcut Llama ekosistemi, hem metin hem de görsel girdileri işleyebilen çok modlu modellerin yanı sıra kod yorumlama ve araç entegrasyonu için tasarlanmış modelleri içerir. Ayrıca Meta, potansiyel riskleri ve saldırıları belirlemek ve azaltmak için Llama Guard olarak bilinen güvenlik bileşenlerini tanıttı, bunlar ‘Llama Stack’ adı verilen genel bir çerçevenin parçası olarak tasarlandı.

İşte Llama ailesindeki bazı önemli modellere daha yakından bir bakış (Meta AI’nın model kartlarından özetlenmiştir):

Llama Guard 1: Etkileşimleri Koruma

Llama Guard 1, Llama 2’ye dayalı 7 milyar parametreli bir modeldir. Hem kullanıcı istemlerinde (istem sınıflandırması) hem de LLM yanıtlarında (yanıt sınıflandırması) içeriği sınıflandırarak bir girdi-çıktı koruması görevi görür. Bu model, Llama tabanlı sistemlerle daha güvenli ve daha sorumlu etkileşimler sağlamaya yardımcı olur.

Llama Guard, potansiyel zararları kategorize etmek için altı seviyeli bir taksonomi kullanır:

  • Şiddet ve Nefret: Bireylere veya gruplara yönelik şiddeti veya nefreti teşvik eden içerik.
  • Cinsel İçerik: Cinsel açıdan müstehcen materyal veya çocukları sömüren, istismar eden veya tehlikeye atan içerik.
  • Silahlar ve Yasadışı Silahlar: Ateşli silahların ve diğer silahların yasadışı satışı, kullanımı veya modifikasyonu ile ilgili içerik.
  • Düzenlenmiş veya Kontrollü Maddeler: Uyuşturucu, alkol veya tütünün yasadışı kullanımını veya satışını teşvik eden içerik.
  • İntihar ve Kendine Zarar Verme: İntihar veya kendine zarar verme için talimatlar veren veya teşvik eden içerik.
  • Suç Planlama: Yasadışı faaliyetleri kolaylaştıran veya planlayan içerik.

Code Llama 70B: Kodlama Ustalığının Üçlüsü

Code Llama 70B, Llama’nın kodlama yeteneklerinde önemli bir genişlemeye işaret ediyordu. Bu model üç farklı varyantta mevcuttur:

  • Code Llama: Genel kod sentezi ve anlayışı için tasarlanmış temel model. Kod üretebilir, kod işlevselliğini açıklayabilir ve hata ayıklamaya yardımcı olabilir.
  • Code Llama – Python: Python programlama için özel olarak tasarlanmış özel bir sürüm. Bu model, Python kodu üretmek ve anlamak için optimize edilmiştir ve bu da onu Python geliştiricileri için değerli bir araç haline getirir.
  • Code Llama – Instruct: Talimatları izlemeye ve daha güvenli dağıtım sağlamaya odaklanan bir varyant. Bu model, özellikle belirli yönergelere ve güvenlik protokollerine uyan kod üretmek için kullanışlıdır.

Her üç varyant da farklı boyutlarda mevcuttur: 7 milyar, 13 milyar, 34 milyar ve 70 milyar parametre. Code Llama ve varyantları, öncelikle İngilizce ve ilgili programlama dillerinde hem ticari hem de araştırma amaçlı kullanım için tasarlanmıştır. Code Llama’nın güçlü kodlama yeteneklerine sahip olduğuna dair yeterli kanıt var.

Llama Guard 2: Gelişmiş Güvenlik Sınıflandırması

Llama Guard 2, selefinin temeli üzerine inşa edilerek gelişmiş güvenlik sınıflandırma yetenekleri sunar. Llama 3’e dayalı bu 8 milyar parametreli model, MLCommons tehlike taksonomisiyle uyumlu olarak 11 kategori জুড়ে güvenlik etiketlerini tahmin etmek için eğitilmiştir.

Llama Guard 2 tarafından kapsanan tehlike kategorileri şunlardır:

  • S1: Şiddet Suçları: Şiddet içeren suç eylemleriyle ilgili içerik.
  • S2: Şiddet İçermeyen Suçlar: Şiddet içermeyen suçlarla ilgili içerik.
  • S3: Cinsellikle İlgili Suçlar: Cinsel suçları içeren içerik.
  • S4: Çocukların Cinsel İstismarı: Çocukları cinsel olarak sömüren, istismar eden veya tehlikeye atan içerik.
  • S5: Uzman Tavsiyesi: Uzmanlık alanlarında (örneğin, tıbbi, yasal, finansal) niteliksiz veya yanıltıcı tavsiye.
  • S6: Gizlilik: Gizliliği ihlal eden veya kişisel bilgileri rıza olmaksızın ifşa eden içerik.
  • S7: Fikri Mülkiyet: Fikri mülkiyet haklarını ihlal eden içerik.
  • S8: Ayrım Gözetmeyen Silahlar: Yaygın ve ayrım gözetmeyen zarara neden olan silahlarla ilgili içerik.
  • S9: Nefret: Bireylere veya gruplara karşı nefret veya önyargı ifade eden içerik.
  • S10: İntihar ve Kendine Zarar Verme: İntihar veya kendine zarar verme için talimatlar veren veya teşvik eden içerik.
  • S11: Cinsel İçerik: Cinsel açıdan müstehcen materyal.

Meta Llama 3: Diyalogda Çok Yönlülük

Meta Llama 3, hem önceden eğitilmiş hem de talimatla ayarlanmış varyantlarla 8 milyar ve 70 milyar parametre olmak üzere iki boyutta sunulur. Talimatla ayarlanmış modeller, özellikle diyalog tabanlı uygulamalar için optimize edilmiştir ve bu da onları sohbet robotları ve konuşmaya dayalı yapay zeka sistemleri için uygun hale getirir.

Prompt Guard: Kötü Amaçlı Girişlere Karşı Savunma

Prompt Guard, jailbreak’ler (güvenlik kısıtlamalarını atlama girişimleri) ve istem enjeksiyonları (hazırlanmış girdiler aracılığıyla modelin çıktısını manipüle etme girişimleri) dahil olmak üzere kötü amaçlı istemleri algılamak için tasarlanmış bir sınıflandırıcı modelidir. Meta AI, optimum performans elde etmek için Prompt Guard’ın uygulamaya özel verilerle ince ayar yapılmasını önerir.

Llama Guard’ın aksine, Prompt Guard belirli bir istem yapısı gerektirmez. Bir dize girdisi üzerinde çalışır ve onu güvenli veya güvensiz olarak sınıflandırır (iki farklı şiddet seviyesinde). Yalnızca etiketler üreten bir BERT modelidir.

Llama Guard 3: Çok Modlu ve Çok Dilli Güvenlik

Llama Guard 3 üç versiyonda mevcuttur: Llama Guard 3 1B, Llama Guard 3 8B ve Llama Guard 3 11B-Vision. İlk ikisi yalnızca metin modelleridir, üçüncüsü ise Llama 3.2 11B-Vision modelinin görme anlama yeteneklerini içerir. Tüm sürümler çok dillidir (yalnızca metin istemleri için) ve MLCommons konsorsiyumu tarafından tanımlanan tehlike kategorilerine uyar.

Llama Guard 3 8B, S14 kategorisi, Kod Yorumlayıcı Kötüye Kullanımı için de kullanılabilir. Llama Guard 3 1B modelinin bu özel kategori için optimize edilmediğini unutmamak önemlidir.

Llama Guard 2’nin tehlike kategorilerini genişleten tehlike kategorileri şunlardır:

  • S1: Şiddet Suçları
  • S2: Şiddet İçermeyen Suçlar
  • S3: Cinsellikle İlgili Suçlar
  • S4: Çocukların Cinsel İstismarı
  • S5: İftira
  • S6: Uzman Tavsiyesi
  • S7: Gizlilik
  • S8: Fikri Mülkiyet
  • S9: Ayrım Gözetmeyen Silahlar
  • S10: Nefret
  • S11: İntihar ve Kendine Zarar Verme
  • S12: Cinsel İçerik
  • S13: Seçimler
  • S14: Kod Yorumlayıcı Kötüye Kullanımı

Meta Llama 3.1: Çok Dilli Üretken Modeller

Meta Llama 3.1 koleksiyonu, 8 milyar, 70 milyar ve 405 milyar parametre boyutlarında (metin girişi, metin çıkışı) önceden eğitilmiş ve talimatla ayarlanmış üretken modeller dahil olmak üzere çok dilli büyük dil modellerini içerir.

Desteklenen diller şunlardır: İngilizce, Almanca, Fransızca, İtalyanca, Portekizce, Hintçe, İspanyolca ve Tayca.

Meta Llama 3.2: Gelişmiş Diyalog Yetenekleri

Llama 3.2 koleksiyonu, 1 milyar ve 3 milyar parametre boyutlarında (metin girişi, metin çıkışı) önceden eğitilmiş ve talimatla ayarlanmış üretken modelleri kapsayan çok dilli büyük dil modellerine sahiptir. Bu modellerin nicelenmiş versiyonları da mevcuttur. Llama 3.2 talimatla ayarlanmış yalnızca metin modelleri, çok dilli diyalog için optimize edilmiştir ve aracı geri alma ve özetleme gibi görevlerde üstündür. 1B ve 3B modelleri, Llama 3.1’in daha küçük, daha az güçlü türevleridir.

Resmi olarak desteklenen diller şunlardır: İngilizce, Almanca, Fransızca, İtalyanca, Portekizce, Hintçe, İspanyolca ve Tayca. Ancak, Llama 3.2 bu sekiz dilin ötesinde daha geniş bir dil yelpazesinde eğitilmiştir.

Llama 3.2-Vision: Görüntü Akıl Yürütme ve Anlama

Llama 3.2-Vision koleksiyonu, çok modlu büyük dil modellerini sunar. Bu modeller, 11 milyar ve 90 milyar parametre boyutlarında (metin ve görüntü girişi, metin çıkışı) görüntü akıl yürütme için önceden eğitilmiş ve talimatla ayarlanmıştır. Talimatla ayarlanmış modeller, görsel tanıma, görüntü akıl yürütme, altyazı oluşturma ve görüntülerle ilgili genel soruları yanıtlama için optimize edilmiştir.

Yalnızca metin görevleri için resmi olarak desteklenen diller İngilizce, Almanca, Fransızca, İtalyanca, Portekizce, Hintçe, İspanyolca ve Tayca’dır. Llama 3.2 daha geniş bir dil kümesinde eğitilmiştir, ancak görüntü+metin uygulamaları için İngilizce desteklenen tek dildir.

Meta Llama 3.3: Güçlü Bir 70B Modeli

Meta Llama 3.3 çok dilli büyük dil modeli, 70 milyar parametreye (metin girişi, metin çıkışı) sahip, önceden eğitilmiş ve talimatla ayarlanmış üretken bir modeldir.

Desteklenen diller: İngilizce, Almanca, Fransızca, İtalyanca, Portekizce, Hintçe, İspanyolca ve Tayca.

Büyük dil modellerinin, Llama 3.2 dahil, izole dağıtım için tasarlanmadığını anlamak çok önemlidir. Uygun güvenlik önlemleriyle kapsamlı bir yapay zeka sistemine entegre edilmeleri gerekir. Geliştiricilerin, özellikle aracı sistemler oluştururken sistem korumalarını uygulamaları beklenir.

Llama 3.3, Llama 3.2 yalnızca metin modelleri ve Llama 3.1, aşağıdaki araçlar için yerleşik destek içerir:

  • Brave Search: Web aramaları yapmak için bir araç çağrısı.
  • Wolfram Alpha: Karmaşık matematiksel hesaplamaları yürütmek için bir araç çağrısı.
  • Code Interpreter: Modelin Python kodu çıktısı vermesini sağlayan bir araç çağrısı.

Not: Llama 3.2 vision modelleri, metin+görüntü girdileriyle araç çağırmayı desteklemez.

Llama Stack: Birleşik Bir Çerçeve

Llama modellerinin sayısı çok fazla olabilir. Seçim ve entegrasyon sürecini basitleştirmek için Meta, Llama Stack’i sunar. Bu çerçeve Llama modellerini vurgular, ancak aynı zamanda geri alma-artırılmış üretim (RAG) için vektör veritabanları gibi ilgili yetenekler için bağdaştırıcılar sağlar.

Llama Stack şu anda Python, Swift, Node ve Kotlin’de SDK’ları desteklemektedir. Aşağıdakiler dahil olmak üzere çeşitli dağıtımlar sunar:

  • Yerel dağıtım (Ollama kullanarak): Yerel geliştirme ve test için.
  • Cihaz üzerinde dağıtımlar (iOS ve Android): Llama modellerini mobil cihazlara dağıtmak için.
  • GPU’lar için dağıtımlar: Daha hızlı işleme için GPU’ların gücünden yararlanmak için.
  • Uzaktan barındırılan dağıtımlar (Together ve Fireworks): Llama modellerine bulut tabanlı hizmetler aracılığıyla erişmek için.

Llama Stack’in arkasındaki temel kavram, geliştiricilerin yerel olarak uygulamalar oluşturmasını ve ardından kolayca bir üretim ortamına geçiş yapmasını sağlamaktır. Hatta uzak bir Llama Stack’e karşı yerel geliştirme için etkileşimli bir Llama Stack Playground sağlar.

Llama Modellerini Çalıştırma: Çok Yönlü Dağıtım Seçenekleri

Llama modelleri Linux, Windows, macOS ve bulut dahil olmak üzere çeşitli platformlarda dağıtılabilir. Llama 3.2 ve Llama 3.2-Vision gibi nicelenmiş Llama modelleri, Ollama gibi araçlar kullanılarak M4 Pro MacBook Pro gibi dizüstü bilgisayarlarda bile modern donanımda etkili bir şekilde çalışabilir.

Meta, Llama modellerini dağıtmak ve kullanmak için kapsamlı nasıl yapılır kılavuzları sağlar. Ayrıca, LangChain ve LlamaIndex gibi popüler çerçeveler için entegrasyon kılavuzları mevcuttur.

Özetle, Llama sadece basit bir dil modeli olmaktan çıkıp, güvenlik özellikleri, kod üretimi ve birçok dil için destek içeren çok modlu bir yapay zeka çerçevesi haline geldi. Meta’nın sistemi, Llama’nın birçok yerde dağıtılmasına olanak tanıyor, ancak eğitim verileriyle ilgili yasal sorunlar ve Llama’nın açık kaynak olup olmadığı konusundaki tartışmalar devam ediyor.