LLM alanında "açık kaynak", "indirilebilir ağırlıklar" anlamına gelen bir terim olarak kullanılıyor.
(web.archive.org)- LLaMA2, ticari kullanım ve model çıktılarının kullanımı konusunda kısıtlamalar içerdiği için geleneksel açık kaynak tanımına uymuyor; ancak yapay zeka model alanında açık kaynak kavramının kendisinin yeniden evrilmesi gerekiyor
- Yayınlandığı tarih itibarıyla 700M MAU üzeri hizmetlerde ticari kullanım yasağı, model çıktılarının başka LLM’lerin eğitiminde kullanılmasının yasaklanması gibi OSS ruhuyla çelişen kısıtlamalar bulunuyor
- Yazılım tarihinde "free software" → "open source" → "source available" şeklinde anlam kayması yaşandığı gibi, yapay zekada da "open source" yaygın olarak indirilebilir ağırlıklar anlamında kullanılıyor
- Model açıklık düzeyleri Open models, Open weights, Restricted weights, Contaminated weights olarak ayrılıyor ve LLaMA2 Restricted weights kategorisine giriyor
- Baştan yeniden eğitilebilen tam açık kaynak bir model, maliyet sorunu nedeniyle gerçekçi değil; Meta’nın yaklaşık $2M düzeyindeki hesaplama çıktısını paylaşmış olması ise alanın gelişimi açısından net pozitif
LLaMA2 ve "açık kaynak" terimi tartışması
- LLaMA2 yayımlandığında birçok OSS topluluğu mensubu, model için "open source" teriminin yanlış kullanılmasından rahatsızlık duydu
- Model genel olarak açık olsa da belirgin kısıtlamalar içeriyor
- Yayın günü itibarıyla MAU’su 700M’yi aşan işletmeler modeli ticari olarak kullanamıyor
- Model çıktıları başka büyük dil modellerinin eğitiminde kullanılamıyor
- Bu tür kısıtlamalar açık kaynak ruhu (OSS ethos) ile pek uyumlu değil ve model geleneksel anlamda açık kaynak olarak adlandırılamaz
- Ancak buna göre bunun çok da önemli olmadığı, yapay zeka modelleri çağında "open source" teriminin yeniden evrilmesi gerektiği savunuluyor
From Free to Open — "özgür"den "açık"a
- 1976’daki "Open Letter to Hobbyists" sonrasında, yazılım şirketlerinin ticari çıkarları ve kısıtlamaları aşmaya çalışan hacker merakı arasında süregelen bir gerilim vardı
- "free software" hareketi 1970’lerde MIT AI Lab’de Richard Stallman ile başladı ve 1983’te GNU projesine uzandı
- GPL "copyleft" lisansı doğdu; Red Hat, MySQL, Git ve Ubuntu tarafından benimsendi
- "open source" terimi ise 1998’de MIT’den Christine Peterson sayesinde ortaya çıktı
- "Freeware Summit"te "free software" resmen bırakıldı ve yerine "open source software" kullanılmaya başlandı
- Sonrasında "free" ve "open source" toplulukları, anlam yorumlarındaki fark nedeniyle ayrıştı
- Free Software Foundation’ın tanımladığı free software, open source’un bir alt kümesidir ve GPL, Apache gibi oldukça esnek lisanslar kullanır
- Son 10 yılda ticari açık kaynak şirketleri ile bulut hyperscaler’ları arasındaki gerilim, bir başka ayrışmaya daha yol açtı
- Elastic ve MongoDB, SSPL (Server-Side Public License) lisansına geçti; barındırılan sürüm sunulmadığı sürece ticari kullanıma izin veriliyor
- Amaç, AWS’nin ürünü yeniden bulut hizmeti olarak barındırıp gelir elde etmesini engellemekti
- SSPL, OSS sınırlarının ötesine geçiyor ve OSI tarafından açık kaynak lisansı olarak kabul edilmiyor
- Buna rağmen birçok geliştirici hâlâ MongoDB’yi açık kaynak diye adlandırıyor
- "open source", özgürlük anlamını giderek yitiriyor ve geliştirici algısında neredeyse "source available" ile eşanlamlı hale geliyor
From Source to Weights — "kaynak"tan "ağırlıklar"a
- Dolly, MPT ve LLaMA gibi açık modellerin yükselişiyle toplulukta benzer bir ayrışma yaşandı
- Bugün çoğu yapay zeka mühendisi için "open source", indirilebilir ağırlıklardan (downloadable weights) ne fazla ne eksik bir şey ifade ediyor
- Heather Meeker, "open weights" tanımını önermiş olsa da toplulukta henüz uzlaşı yok
- Temel tartışma, yalnızca open weights ile bir modelin açık kaynak sayılıp sayılamayacağı
- Yazılım benzetmesiyle bu, baştan derlenebilecek kaynak kod olmadan yalnızca ikili dosyaların yayımlanmasına benziyor
- Baştan yeniden eğitilebilen gerçek bir açık kaynak model için eğitim kodu, ön eğitim veri seti, ince ayar tercih verileri, RLHF örnekleri gibi her şeyin yayımlanması gerekir
- Sorun eğitim maliyetidir; bunların hepsi yayımlansa bile geliştiricilerin ve şirketlerin çoğu için modeli baştan eğitmek maliyet nedeniyle mümkün değildir
- Sonuç olarak yalnızca nihai ağırlıklara erişim bile tercih edilir
Model açıklık düzeylerinin 4 aşamalı sınıflandırması
- Open models: RedPajama, MPT-7B gibi modeller; Apache 2.0 lisansı altında ticari kullanıma uygun open weights sunar
- Veri setleri de açık kaynak olduğu için model baştan yeniden eğitilebilir
- Open weights: StabilityAI tarafından eğitilen StableLM bu gruba girer; ağırlıklar Apache 2.0 ile yayımlanır ancak eğitim veri seti açıklanmaz
- README’ye göre The Pile üzerine kurulu yeni bir deneysel veri setiyle ön eğitim yapılmıştır ve yaklaşık 1.5T token ile yaklaşık 3 kat daha büyüktür
- Restricted weights: LLaMA2 bu gruptadır; ön eğitim veri seti açıklanmamıştır ve ağırlıklar ticari kullanıma açık görünse de yukarıda anılan belirli kısıtlamaları taşır
- Contaminated weights: Dolly 1.0 ve LLaMA1 bu gruptadır; ağırlıklar yayımlanmıştır ancak eğitim veri seti ticari kullanıma izin vermez, bu yüzden teknik olarak açık olsalar da pratikte kullanılamazlar
Sonuç — açıklığın yönü
- Bir süre daha open source ile open weights birbirinin yerine kullanılacak ve buna göre bu sorun değil
- Önemli olan, bu çalışmaların giderek daha açık biçimde (as openly as possible) yürütülüyor olması
- LLaMA2 lisansından hayal kırıklığı duymak doğal; yine de Meta’nın yaklaşık $2M değerinde FLOPS’u bir GitHub deposunda paylaşmış olması, bu alanın ilerleyişi için net bir olumlu katkı
1 yorum
Hacker News görüşleri
Yazının hemen üstünde LLaMA’yı sınırlı ağırlıklar kategorisine koyup sonra da bundan böyle açık kaynak ile açık ağırlıkların birbirinin yerine kullanılacağını söylemek tuhaf
Yazarın önerdiği tanıma göre bile LLaMA 2.0 açık kaynak değil ve böyle adlandırılmamalı
Eğer LLM alanında açık kaynak, “ağırlıkları indirebilirsiniz” anlamına geliyor ve kullanım kısıtları önemsiz sayılıyorsa, bu yeni bağlama uyarlanmış bir terim değişiminden çok Open Source kavramının içini boşaltmaya benziyor
LLaMA açık ağırlık da değil; olsa olsa kaynak kodu açık yazılımla karşılaştırılabilecek kapalı, mülkiyetli bir ağırlık paketi
Facebook’un LLaMA’yı açık kaynak diye adlandırması aldatıcı ve bu anlatının peşine takılmamak gerekir
Ağırlıklar üzerinde telif hakkı kurulup kurulamayacağı ise ayrı bir tartışma; ben kişisel olarak kurulamayacağını düşünüyorum
Ancak çoğu insan ayrımı bilmediği için buna “açık kaynak” demeye devam edecek ve bunu düzeltmek zor olacak; asıl demek istediğim buydu
Sadece “bu açık kaynak değil” demek yerine daha iyi bir terim üretmemiz gerekiyor
Ayrıca ağırlık kullanımı kısıtlı olsa da kamuya açıklanan hesaplama yatırımı çok büyük. Eğitim tokenı / parametre oranı 285:1 ve kayıp grafiği, modelin hâlâ doygunluğa ulaşmadığını gösteriyor
Kendi modelini eğitmek isteyen başka ekipler için bu değerli bir bilgi
LLaMA1 çok kısıtlayıcıydı ama makaledeki veri bileşimi RedPajama’nın ortaya çıkmasına yol açtı ve bu da MPT eğitiminde kullanıldı
Geleneksel etiketlere uymasa bile, bu tür çalışmalarda açık kaynağa doğru akan kayda değer bir değer hâlâ var
llama lisansının çıktıları başka modelleri eğitmek için kullanmayı yasakladığını bilmiyordum
Bu fiilen öldürücü bir kısıt. İleride sentetik veri en önemli eğitim verisi olacaksa, yeni model eğitiminde sentetik veri kullanımını engelleyen bir model ciddi biçimde sakatlanmış bir modeldir
Erişilebilir olduğu için izin veya lisans olmadan rastgele internet verisiyle model eğitmek tamam, ama bizim modelimizle başka model eğitmek yasak gibi davranıyorlar
Bu modellerin hukuki dayanağı, telif hakkıyla korunan materyaller üzerinde eğitim yapmanın adil kullanım olduğudur
Aksi halde Facebook, hak sahiplerinin iradesinden bağımsız olarak veri setine telifli materyal dahil etmenin adil kullanım olmadığını mı savunacak? Öyleyse bu LLaMA için kötü haber olur
“Bununla eğitim yapmak için izin gerekir” pozisyonu, herhangi bir yapay zeka şirketi için ilginç bir hukuki duruştur
Mantık şu: “Biz internetin büyük bir kısmında izinsiz eğitim yaparız ama bizim model çıktılarımızla eğitim yapmayı iznimiz olmadan aklınızdan bile geçirmeyin!”
OpenAI da benzer kısıtlar koyuyor
Bir modelin çıktısıyla başka bir modeli eğitemezsiniz; bu, tamamen saçma sonuçlara yol açar. Buna model çöküşü deniyor: https://arxiv.org/abs/2305.17493v2
Ayrıca Llama 2 lisansı, kullanıcıların türetilmiş modeller eğitmesine izin veriyor. İnsanların gerçekten önemsediği kısım şu: https://github.com/facebookresearch/llama/blob/main/LICENSE
Bu aslında yeni bir sorun değil. Yazılım için tanımlanmış katı Open Source kavramı, yazılım olmayan şeylere hiçbir zaman tam olarak uymadı
Bu yüzden Creative Commons lisansları var. Bir fotoğrafı GPL2 ile dağıtmak baştan mantıklı değil
Yeni mecralarda her zaman yeniden tanımlama gerekir
GPL, kaynak kodu değişiklik yapmak için tercih edilen biçim olarak tanımlar ve kaynaktan çalıştırılabilir dosya üretmek için gereken betikleri de kapsar
Bu durumda ağırlıklar, süreçten çıkan optimize edilmiş çalıştırılabilir koda daha yakındır; “kaynak” ise eğitim verisi ile bunu modele dönüştüren kod ve süreç olurdu
Çok büyük LLM’lerde neredeyse kimse bundan yararlanamaz ama küçük akademik modellerde araştırmacıların birbirinin işi üzerine inşa etmesi açısından anlamlıdır
Bir dil modelinin kaynağı pratikte, belirli bir modeli eğitmekte kullanılan koda daha çok benzer; modelin kendisi ise makine kodu değil ama derlenmiş bir ikiliye daha yakındır
Bu yüzden bir modelin gerçekten açık kaynak sayılabilmesi için, onu üretmekte kullanılan yazılımın açıklanması ve benim bunu değiştirip kendi verimle eğiterek kullanabilmem gerekir diye düşünüyorum
Ağırlıkların telif hakkına tabi olup olmadığı da mahkemede henüz netleşmedi; sonuca bağlı olarak çeşitli lisanslar ve kısıtlamaların tümü anlamsız hale gelebilir
“Sanatçılar, model tıpkı insanlar gibi öğreniyor; dolayısıyla telif hakkınızı ihlal edemez. Yanlışlıkla kitabınızın bir kısmını çıktı olarak verdiyse, bu sadece tesadüfi bir intihaldir. Hepimiz yapıyoruz, değil mi haha! Avukatlar ABD'de intihalin yasa dışı olmadığını da hatırlatıyor.”
“Mühendisler, modelimizin çıktıları telif hakkına tabidir; dolayısıyla bununla kendi modelinizi eğitirseniz onun sahibi biz oluruz.”
Bu ikisinin aynı anda nasıl doğru olabildiğini anlamıyorum
En fazla belirli bir kullanıcıyı bağlayan bir sözleşme hükmü olur; sonradan o iyileştirilmiş modeli kullanan kişiler açısından ise sorun yok gibi görünüyor
Yine de gerçekte böyle bir dünyanın mümkün olup olamayacağını hayal etmek zor
Ağırlıkların neden telif hakkına tabi olmayabileceğini özetleyebilir ya da bu bakış açısını destekleyen kaynaklar paylaşabilirseniz iyi olur
Telif hakkına neyin tabi olup olmadığının değişebileceğini akılda tutmak gerekir
GPL, FSF v. Cisco davasında (2008) sınandı; ancak daha kısıtlayıcı lisanslar henüz sınanmadı
Sorun şu ki MPT-30b ve Falcon-40b gibi gerçek açık kaynak lisanslarını benimsemiş büyük modeller zaten var
Llama2 ağırlıklarına erişebildiğimiz için minnettarım; ancak geleneksel OSI anlamında gerçekten açık kaynak olan rakip modeller varken, Llama2'nin “açık kaynak” payesini alması bana haksızlık gibi geliyor
Lisanslar arasındaki pratik fark yeterince küçük olduğu için, benim de dahil olduğum çoğu kişi muhtemelen model kalitesi daha iyi olan Llama2'yi seçecek
Ama bu teşvikler sonunda bizi garip yarı açık lisanslara kilitleyebilir
Zaten source available diye bir ifade varken neden “açık kaynak” teriminin evrilmesi gerektiğini anlamıyorum
Bu durumda “az kısıtlayıcı bir lisansla sunulan ağırlıklar” demek yeterli
Bu yazıdaki diyagram, yalnızca GPL'yi özgür yazılım olarak gösterip MIT/Apache'yi açık kaynak ama özgür yazılım değilmiş gibi sunduğu için çok yanlış
FSF tarafı “açık kaynak” terimini sevmese de, onlar bile “neredeyse tüm açık kaynak yazılımlar özgür yazılımdır” der
Özellikle MIT, Apache ve LGPL lisansları açıkça özgür yazılım lisanslarıdır. Aksi halde Debian'ın ya da FSF onaylı dağıtımların seçebileceği yazılımlar çok daha az olurdu
Diyagramın ayırmaya çalıştığı şey muhtemelen copyleft ile özgür yazılım ya da açık kaynaktı
İzin vericilik açısından sıralanacaksa alt küme ilişkisi de ters olmalıydı. GPL, SSPL vb.'ye göre çok daha izin vericidir ama MIT/Apache'ye göre daha az izin vericidir
Aradaki fark teknik değil siyasidir
Yazının şu kısmı da epey yanıltıcı: “Free Software Foundation'ın tanımladığı özgür yazılım, açık kaynak yazılımın yalnızca bir alt kümesidir ve GPL ile Apache gibi çok izin verici lisanslar kullanır”
Diyagramda teorik olarak “Restricted Weights”ın dışında ama “Completely Closed”ın tamamından daha dar olan başka bir kategori daha olmalı
Örneğin ücretsiz kullanılabilen ama pratikte incelenemeyen ya da taşınamayan kara kutu ağırlıklar ve modeller gibi
Bu, “ücretsiz kullanılabilen” kapalı kaynak yazılımların kardeş kategorisine karşılık gelir
Ücretsiz kullanılabilen ama ikili dosya yığını olarak sunulan yapay zeka buna uyar
Ya da çıkarım motoru ile ağırlıkları önceden derlenmiş ikili dosyalar olarak çağıran, fakat kaynak kodu olmayan bir Python modülü de buna girer
Yazılım dünyasındaki geleneksel karşılığı bugün açık kaynak olmayan üçüncü taraf Linux sürücüleridir. Ücretsizdirler ama açık değillerdir
Yapay zeka dünyasında ise henüz bunu çok görmedik. Ağırlıkları yayımlayanlar genelde araştırma amaçlı hareket ettiği için çıkarım tarafının da açık kaynak olması bekleniyor; kapalı modellere sahip olanlar ise para kazanmak istediğinden çıkarım tarafını açmak için bir neden görmüyor ve sadece API ücreti almakla yetiniyor, örneğin “OpenAI” gibi
Başlık düzenlenmiş. Asıl başlık “LLaMA2 isn't "Open Source" - and why it doesn't matter”
Gerçek başlık ve verdiği his oldukça farklı şekilde değiştirilmiş; bu da yazarla yayımlayanın açık kaynağın anlamını farklı görüyor olabileceğini düşündürüyor
Open Source teknik kültürde epey yer etmiş durumda; bundan sapmak uzun zamandır alay konusu oluyordu
Son dönemde topluluğun bu tür “açık” lisanslara daha hoşgörülü hale geldiği görülüyor
FOSS ölçütlerini karşılamayan projelere yönelen eleştirilerin çoğu aslında aşırıya kaçıyor; ama yine de “open” yönüne fazla hızlı kaymamamız gerektiğini düşünüyorum
LLaMa2 hakkında başka bir yazı daha var: https://opensourceconnections.com/blog/2023/07/19/is-llama-2...