Ferret: Çok Modlu Büyük Dil Modeli
(github.com/apple)- Ferret, serbest biçimli referans hedeflerini girdi olarak alan ve yanıtlarında konumu temellendiren uçtan uca bir MLLM olup, ayrıntı düzeyinden ve konumdan bağımsız referans verme ile temellendirmeyi hedefler
- Temel bileşenleri Hybrid Region Representation ve Spatial-aware Visual Sampler’dır; bunlar MLLM’de ayrıntılı open-vocabulary referans verme ve temellendirmeyi destekler
- Proje yaklaşık 1,1 milyon örnekten oluşan GRIT Dataset, Ferret-Bench, 7B·13B checkpoint delta’ları ile eğitim, değerlendirme ve demo çalıştırma prosedürlerini birlikte sunar
- Eğitim 8×A100 80GB ortamı temel alınarak yapılır; GPU sayısı daha az olduğunda global batch size’ı korumak için
per_device_train_batch_size,gradient_accumulation_steps,num_gpuskombinasyonu ayarlanmalıdır - Veri ve kod yalnızca araştırma amaçlıdır; dataset CC BY NC 4.0 kapsamında yalnızca ticari olmayan kullanıma izin verir ve LLaMA, Vicuna, GPT-4 lisans koşullarına da uyulmalıdır
Ferret’in hedefi ve yapısı
- Ferret, “Refer and Ground Anything Anywhere at Any Granularity” yaklaşımını öne çıkaran uçtan uca bir MLLM’dir
- Rastgele biçimdeki referans girdilerini kabul etmeyi ve yanıtlarda hedefi temellendirmeyi amaçlar
- Başlıca katkılar üç başlıkta özetlenir
- Ferret Model: Hybrid Region Representation ve Spatial-aware Visual Sampler kullanarak ayrıntılı open-vocabulary referans verme ve temellendirmeyi mümkün kılar
- GRIT Dataset: Yaklaşık 1,1 milyon örneklik, büyük ölçekli, hiyerarşik ve sağlam ground-and-refer instruction tuning dataset’i
- Ferret-Bench: Referans verme ve temellendirme, anlam, bilgi ve akıl yürütmeyi birlikte gerektiren multimodal değerlendirme benchmark’ı
Sürümler ve model durumu
- 8 Ekim 2024’te Ferret-UI yayımlandı
- UI odaklı bir MLLM olarak, referring, grounding ve reasoning görevlerini etkili biçimde çalıştırabildiği belirtiliyor
- 10 Temmuz 2024’te Ferret-v2 COLM 2024’e kabul edildi
- 15 Şubat 2024’te Ferret ICLR 2024 Spotlight olarak kabul edildi
- 14 Aralık 2023’te Ferret checkpoint’leri 7B·13B yayımlandı
- 30 Ekim 2023’te FERRET model kodu ve Ferret-Bench yayımlandı
Kurulum ve eğitim koşulları
- Kurulum, depoyu klonladıktan sonra
python=3.10Conda ortamında paketleri kurma akışını izlerpip install -e .pycocotoolsprotobuf==3.20.0
- Eğitim için ek paketler olarak ninja ve
flash-attn --no-build-isolationkurulumu gerekir - FERRET eğitimi için referans ortam her biri 80GB belleğe sahip 8 A100 GPU’dur
- Daha az GPU ile eğitim yaparken global batch size korunmalıdır
- Global batch size =
per_device_train_batch_size×gradient_accumulation_steps×num_gpus
- Global batch size =
- İnce ayar hiperparametreleri LLaVA(Vicuna) ile benzer bir yapı kullanır
- FERRET-7B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0 - FERRET-13B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0
- FERRET-7B: Global Batch Size 128, Learning rate
Temel model ve checkpoint kullanımı
- Eğitimden önce Vicuna v1.3 tabanlı model ağırlıkları hazırlanmalıdır
- LLaVA’nın 1. aşama ön eğitim projector ağırlıkları da gereklidir
- 7B projector
- 13B projector
- Açık checkpoint’ler, ön eğitim modelinin tamamı olarak değil Vicuna ile delta biçiminde sunulur
- Kullanıcı önce Vicuna ağırlıklarını almalı, ardından Ferret’in 7B veya 13B delta’sını indirmeli ve
ferret.model.apply_deltabetiğiyle Vicuna ağırlıklarına offset uygulamalıdır - Apple’ın sağladığı weight differentials için CC-BY-NC lisansı geçerlidir; LLaMA veya diğer üçüncü taraf yazılımlar kendi koşullarına tabidir
Değerlendirme ve demo çalıştırma
- Değerlendirme ayrıntılı prosedürleri ayrı
EVAL.mdbelgesinde ele alır - Yerel demo Gradio web UI kullanır ve FERRET eğitimi ile checkpoint’lerin yerel kullanımını gerektirir
- Demo çalıştırma akışı üç adımdan oluşur
- controller çalıştırma:
ferret.serve.controller - Gradio web sunucusunu çalıştırma:
ferret.serve.gradio_web_server - GPU’da çıkarım yapan model worker’ı çalıştırma:
ferret.serve.model_worker
- controller çalıştırma:
- model worker,
--model-pathile belirtilen tek bir modelden sorumludur - Model yüklemesi bittikten sonra “Uvicorn running on ...” görünürse, çalıştırılan modeli listede doğrulamak için Gradio web UI yenilenebilir
Kullanım kısıtları ve kaynaklar
- Veri ve kod yalnızca araştırma amaçlı tasarlanmış ve lisanslanmıştır
- Kullanım, LLaMA, Vicuna ve GPT-4 lisans sözleşmelerine uyulmasıyla sınırlıdır
- Dataset CC BY NC 4.0 kapsamındadır ve yalnızca ticari olmayan kullanıma izin verir
- Dataset ile eğitilen modeller araştırma amacı dışında kullanılmamalıdır
- Proje LLaVA kod tabanına ve Vicuna LLM kod tabanına dayanır
1 yorum
Hacker News yorumları
Şimdiden multimodale mi geçiyoruz? Google bu alandaki erişilebilirlikte görüntü açıklamalarını “şirket logosu” seviyesinden daha iyi hâle getiremezse Apple’a dönmeyi düşünüyorum.
Apple’ın da hataları azaltması ve VoiceOver’ın en ufak dokunuşta dağılacakmış gibi hissettirmesini gidermesi gerekiyor ama LLM olmadan bile görüntü açıklamaları zaten temiz ve net.
Örneğin “siyah arka plan üzerinde yeşil logo”ya daha yakın; Google ise az önce söylediğim gibi “şirket logosu”na daha yakın. Yapay zekanın iyi, yüksek kaliteli verilerle eğitilmek yerine kitle kaynaklı hâle getirildiğinde ortaya çıkan sonuç gibi.
Flamingo model ailesini kullanıyor: https://deepmind.google/discover/blog/tackling-multiple-task...
Gelecek yılki macOS / iOS sürümlerine LLM özellikleri geleceği de söyleniyor.
Bununla ilgili bakılmaya değer bir şey: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
Apple, bu tür LLM’leri kullanarak cihaz üzerinde çıkarımda büyük bir ilerlemeye hazırlanıyor gibi görünüyor.
https://arxiv.org/abs/2312.11514
Makale eski (Ekim 2023), ama ağırlıklar yeni yayımlandı (Aralık 2023).
https://lifearchitect.ai/models-table/
Apple LLM konusunda sessiz görünüyordu, ama gösterişli reklamlar olmadan donanım+yazılım yapay zeka yığınını istikrarlı biçimde geliştirmeyi sürdürdü.
Yeni bir iOS sürümünün bir anda OpenAI/Bard sohbet penceresini gülünç derecede eski gösterecek hâle getirmesi durumunda Microsoft/OpenAI ve Google’ı geride bırakabileceğini düşünüyorum.
Yapay zeka kullanımının önemli bir kısmı Apple donanımına kayarsa bu Nvidia için de tehdit olur; Arm ve TSMC’nin ise bundan fayda görmesi muhtemel.
Aynı teknolojiyi Siri veya klavye otomatik tamamlama gibi ürünlerde kademeli iyileştirmeler için “sadece” kullanması daha olası; bence doğru yön de bu.
Girişim sermayesi almaya çalışmıyor ve ana işi de “aramanın evrimi” olarak yapay zekanın tehdidi altında değil.
Ürün tarafında şimdiye kadar duyduğumuz tek mesaj, M3 Max’in makine öğrenmesi modellerini çalıştırmaya uygun olduğu türünden.
Gerçek tüketici ürünü hazır olana kadar finans toplantılarında usulen bahsedip analistleri idare etmesi yeterli.
Geliştirici güvenini yeniden kazanmak da uzun zaman alır; bunun olacağını sanmıyorum.
“MLLM”in ne anlama geldiğini tanımlayabilir misiniz?
Apple’ın en erken gelecek yıl, iyi bir cihaz üzerinde çalışan özel LLM asistanı olan iPhone çıkarmasını umuyorum.
Donanım buna gayet uygun görünüyor.
Öyle olursa normalde yaklaşık 4 yılda bir yaptığım değiştirme döngüsünü bozup yeni telefon alabilirim. Benim için Siri neredeyse kullanılamaz durumda.
Çevrimiçi/çevrimdışı duruma göre farklı özellikler mi sunacağı, yoksa tamamen çevrimdışı mı olacağı ilginç.
Arka plan için bir yazı: https://archive.is/en3VL
Bir ses aracından beklenen şeye çok yakın. Siri’deki gibi belirli komutları yüksek sesle söylemek yerine, sıradan bir insanla konuşur gibi konuşabiliyorsunuz.
https://jackcook.com/2023/09/08/predictive-text.html
En yeni iPhone’u kullanıyorum ama gerçekten çalıştığını gördüğüm durumlar çok nadir.
Şimdilik ya yazma hızıma yetişemeyecek kadar yavaş ya da model çok küçük olduğu için yeterince faydalı öneri sunamıyor gibi.
Bugün bile ChatGPT’ye çok korkunç şeyler söyletebilirsiniz; Apple cihaz üzerinde bir şey çıkarırsa onu da kötü bir robota dönüştürmek mümkün olacaktır.
Kişisel olarak LLM’lerin hâlâ halka yönelik üretim kullanımı için güvenli olmadığını düşünüyorum.
“FERRET, 80 GB belleğe sahip 8 adet A100 GPU ile eğitildi” denmiş; demek ki Apple da CUDA tuzağından kurtulamamış gibi
Nvidia ile ahlaki bir karşıtlık içindeyken kısmen ona bağımlı hale gelmeleri ilginç
Ancak yeterince derine dalmaya karar verirse kendi hesaplama altyapısına para harcayabilir
Nvidia şu anda GPU hesaplamasının kralı ve benzer donanım geliştirmek ne küçük ne de ucuz bir iş; ama Apple yatırım yapmaya karar verirse bunu başarabilecek çok iyi bir konumda
Şirketler arasında gerilim olsa bile, bir süreç daha ucuz ya da kolay hale geliyorsa şirketlerin bunu seve seve göze alacağını düşünüyorum
Studio ve Mac Pro bile daha çok dizüstü çiplerinin birbirine eklenmiş hali gibi; ağır işler için ağır ekipman kullanmak gerekir
Nvidia ile ilişkilerinin kötüleştiğini biliyorum ama AMD/ROCm ekosistemini güçlendirmelerini isterdim
Elbette Apple’ın da bu alanda kendine ait bir şeyler geliştiriyor olması çok muhtemel. Nakit benzeri varlıkları onlarca milyar dolar seviyesinde, dolayısıyla ciddi bir Ar-Ge’ye harcıyor olabilirler
Sonuçta bu tür derin öğrenme modelleri her donanımda çalışır ve biraz performans kaybını göze alırsanız bir donanım türünü başka biriyle kolayca değiştirebilirsiniz
Temelde genel amaçlı bir emtiaya yakınlar
Ticari olarak kullanılabilen ve iPhone’da yerel olarak çalıştırılabilen en iyi açık kaynak modelin hangisi olduğunu bilen var mı?
Açık kaynak ve başlıca platformlarda native olarak çalışıyor. iPad Mini, Pixel 7, iPhone 12, Surface Pro (Windows 10 & Ubuntu Jellyfish), Mac (Intel & M mimarisi) üzerinde çalıştığını gösteren videolar da paylaştım
Tamamlanmış bir uygulama kesinlikle değil. Flutter’da cihaz üzerinde AI kullanmak istediğim için llama.cpp portuyla başladım; ileride whisper.cpp, bark.cpp gibi güncel uygulamaları da port etmeyi düşünüyorum
Depo: https://github.com/BrutalCoding/aub.ai
Apple cihazlarında şunu kullanabilirsiniz: https://testflight.apple.com/join/XuTpIgyY
Uygulama herhangi bir GGUF dosyasıyla uyumlu, ancak sohbet UI’ının/konuşma balonlarının bozulmaması için ChatML prompt formatında olması gerekiyor. Henüz özelleştirilebilir hale getirmedim; sonuçta bu sadece eklentinin örnek uygulaması. Yine de hedeflediğim şekle getirmek için aktif olarak çalışıyorum
Yine de kullanılabilirlik açısından ChatGPT4 uygulaması çok daha iyi. Model de daha iyi; metin/görsel/ses dahil multimodal özellikleri ve UI’ı da daha iyi
“Veriler ve kod yalnızca araştırma amaçlı kullanım için tasarlanmış ve lisanslanmıştır. Ayrıca LLaMA, Vicuna ve GPT-4’ün lisans sözleşmelerine uygun kullanımla sınırlıdır. Veri kümesi CC BY NC 4.0 lisanslıdır ve yalnızca ticari olmayan kullanıma izin verir; bu veri kümesiyle eğitilen modeller araştırma amaçları dışında kullanılmamalıdır”
Bir dakika, GPT-4 burada nasıl devreye girdi?