3 puan yazan GN⁺ 2024-10-15 | 1 yorum | WhatsApp'ta paylaş
  • Replicate'te FLUX çalışma hızı önemli ölçüde arttı ve optimizasyon kodu da yayımlanarak uygulamanın incelenmesi ve özel genişletmeler mümkün hale geldi
  • Uçtan uca ölçüm temelinde FLUX.1 [schnell] 512x512·4 steps için 0,29 saniyeye, 1024x1024·4 steps için 0,72 saniyeye kadar indi
  • Hız artışı, flux-fp8-api tabanlı optimizasyon, torch.compile, nightly Torch'un hızlı CuDNN attention kernel'ı ve yeni eşzamanlı HTTP API'sinin birleşiminin sonucu
  • flux-fp8-api içindeki quantization çıktıyı biraz değiştiriyor ancak kaliteye etkisi küçüktü; gerekirse go_fast=false ile kapatılabiliyor
  • Replicate, FLUX iyileştirmelerini kamuya açarken AI Compiler Study Group ve araştırmacılarla birlikte hızlı açık kaynak FLUX oluşturmak için iş birliği yapıyor

FLUX çalışma hızı ve açık demo

  • Replicate'te FLUX modelinin çalışması daha da hızlandı ve optimizasyon uygulaması açık kaynak olarak yayımlandı
  • ABD'nin batısından Python istemcisi kullanılarak ölçülen uçtan uca hızlar şöyle
  • FLUX.1 [schnell] demosu gerçek zamanlı giriş biçiminde sunuluyor; uygulamanın tamamını ve kaynak kodunu da inceleyebilirsiniz

Optimizasyon yöntemi ve kalite kontrolü

  • Replicate'teki birçok modele topluluk katkı sağlıyor, ancak FLUX modelleri Black Forest Labs ile iş birliği içinde sürdürülüyor
  • Hız iyileştirmeleri için iki çalışma uygulandı
    • Alex Redden'ın flux-fp8-api projesi başlangıç noktası olarak alındı ve torch.compile ile nightly Torch derlemesindeki hızlı CuDNN attention kernel kullanıldı
    • Replicate'in yeni eşzamanlı HTTP API'si eklendi; böylece tüm görüntü modelleri daha hızlı çalışabiliyor
  • flux-fp8-api içindeki quantization model çıktısını biraz değiştiriyor, ancak kalite etkisi küçüktü
    • FLUX.1 [schnell] ve FLUX.1 [dev] için binlerce prompt çıktısını karşılaştıran bir araç bulunuyor; karşılaştırma sonuçlarını doğrudan görebilirsiniz
    • go_fast girdisini false olarak ayarlarsanız bu optimizasyonu devre dışı bırakabilirsiniz
  • Model sağlayıcıların kaliteyi etkileyen optimizasyonlar uygulayıp uygulamadığı çoğu zaman belirsiz olduğu için Replicate, optimizasyon yöntemini açıklıyor ve kullanıcının bunu kapatabilmesini sağlıyor

Açık kaynak kod ve kullanım yolları

1 yorum

 
GN⁺ 2024-10-15
Hacker News yorumları
  • Metinden-görüntüye modeller verimsiz geliyor. Metin→sahne grafiği→anlamsal olarak bölütlenmiş görüntü→nihai görüntü gibi aşamalara ayırmanın mümkün ve daha iyi olup olmayacağını merak ediyorum.
    Her aşama ayrı ayrı eğitilip modüler hale getirilebilir; yeni bir prompt çıktısıyla her şeyi baştan yapmak yerine görüntüyü daha kolay düzenlemek mümkün olabilir. O zaman "x nesnesi y nesnesinin yanında ve üstünde foo yazısı var" gibi üretimler çok daha kolaylaşır; sanat stili ya da gerçekçilik düzeyi ise prompt'a uyumdan ayrılmış nihai render modeline bırakılabilir.
    Video oyunu çıktısını iyileştiren video2video ya da kare kare img2img modellerine benzer bir his veriyor.
    https://www.theverge.com/2021/5/12/22432945/intel-gta-v-real...
    https://www.reddit.com/r/aivideo/comments/1fx6zdr/gta_iv_wit...

    • Genel olarak bu tür bir yaklaşımın sinir ağı tabanlı modellerde sürekli başarısız olduğu defalarca görüldü.
      a→b'ye giden bir sinir ağı ve b→c'ye giden bir sinir ağı eğitebiliyorsanız, genelde bu bileşimi doğrudan a→c'ye giden daha basit bir sinir ağıyla değiştirebilirsiniz. a'yı b'ye dönüştürürken bilgi kaybı olabileceği için bu mantıklı. Tek bir sinir ağı, c'yi oluşturmak için gereken a'ya ait ilgili bilginin üst katmanlara taşınmasını garanti eder.
    • Bu, görüntü tanıma gibi alanlarda uzun süre başarısız olup sonunda daha büyük ve daha derin matrislerle zorlayarak çözdüğümüz yaklaşımla özünde aynı değil mi diye düşünüyorum.
      Özellikleri çıkarıp insan gibi akıl yürütme yöntemi kulağa makul geliyor; ama sonunda bilgisayarın saf biçimde yaptığı örüntü eşleştirmeyi ölçeklendirmek daha kolay olmuş gibi görünüyor.
    • Yapay zeka sanatının modüler bir yaklaşıma geçmesini isterdim. Karakter, arka plan, stil, kamera hareketi gibi şeylerin her biri ayrı aşamalarda üretilsin.
      Her şeyi tek seferde tarif edip sonucun hoşunuza gitmesini ummak mantıklı değil.
    • Difüzyon modelleri özünde bunu yapıyor. Sadece "sahne grafiği" ile "tüm görüntü" arasında net bir sınır yok.
      Gürültüden başlayıp kademeli olarak daha fazla ayrıntı ekliyorlar.
    • Burada görüntünün nesnelerden oluşan bir koleksiyon olduğu yönünde yanlış bir varsayım var. Görüntüler illa böyle değildir.
      Ben donmuş turkuaz şeftali tüyü fotoğrafı istiyorum.
  • Ticari olmayan lisans açık kaynak değildir. Çünkü asıl telif hakkı sahibi bakımı durdurursa başka biri devralamaz ya da bedava köle gibi çalışmak zorunda kalır.
    Açık kaynağın özü, asıl yazar çalışmayı bıraktığında neyin mümkün olduğundadır. Açık kaynak herkese geliştirmeyi sürdürme lisansı verir; bu doğal olarak para kazanabilme yetisini de içerir. Bu yön eksikse buna açık kaynak denmemeli.
    Yalnızca FLUX.1 [schnell] açık kaynaklıdır (Apache2); FLUX.1 [dev] ise ticari olmayan lisansa sahiptir.

    • FLUX.1-schnell modelinin ince ayarlandığı ve distilasyonun kaldırıldığı OpenFLUX.1 var. OpenFLUX.1, Apache 2.0 lisanslıdır.
      https://huggingface.co/ostris/OpenFLUX.1/
    • Açık kaynak, kaynağın görülebilir ve incelenebilir olduğu anlamına gelmez mi? Kaynağı görmenize izin veren bir kapalı kaynak uygulama bilmiyorum.
  • FLUX.schnell'i kolayca denemek istiyorsanız prompt'u Pollinations URL'sine koymanız yeterli.
    https://pollinations.ai/p/a_donkey_holding_a_sign_with_flux_...
    https://pollinations.ai/p/a_donkey_holding_a_sign_with_flux_...
    https://pollinations.ai/p/Minimalist%20and%20conceptual%20ar...
    Hızı gerçekten şaşırtıcı. Sadece üç L40S GPU ile kullanıcılar için her 30 dakikada 8000 görüntü üretiyoruz. Bu arada Pollinations ekibindenim.

    • Buradaki "sadece" ifadesi çoğu kişiye epey pahalı geliyor
  • Flux ile en sevdiğim iş, Substack için beyaz arka planlı görseller oluşturmak. Ardından gelen metin harika oluyor ve görsel çalışma üzerinden de görsel olarak bir şeyler aktarılabiliyor
    [1]https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_...

    • Bence bu örnek, sanatçıların neden öfkelendiğini iyi gösteriyor. LLM belirli bir sanatçının kendine özgü stilini açıkça taklit ediyor ve bunun sonucunda o sanatçı ücretli işleri kaçırıyor
      Bu konuda net bir duruşum var mı bilmiyorum. Teknoloji ilerlemeye devam ediyor sonuçta. Yine de ilginç
    • Prompt’u paylaşabilir misin?
  • Flux, yerelde barındırılan üretim sistemleri arasında prompt’a uyma açısından önde gelen adaylardan biri, ancak her yerde beliren sığ alan derinliğini ortadan kaldırmak sinir bozucu derecede zor

    • Sanatsal görseller için optimize edilmiş gibi mi?
  • Az önce Midjourney aboneliğimi iptal ettim. Yapmak istediğim işler açısından fazla geride kalmış gibi geliyor
    Replicate ve Ideogram kullanmayı da uzun süre düşündüm

    • Son zamanlarda ben de bunun şaşırtıcılık etkisinin ötesinde bir değeri olup olmadığını sorguluyorum. Başka bir araca mı geçtiğini, yoksa artık bu tür araçlarda değer mi görmediğini merak ediyorum
    • Midjourney’nin kendine özgü bir havası var ve eller, ayaklar, yazılar konusunda zayıf olduğu için hiç kullanmadım
      Emad’in düşüşünün üzerinden daha 1 yıl bile geçmeden yerel, açık kaynaklı ve daha iyi bir modelin çıkması akıl almaz. Bu, bu şirketlerin hendeklerinin ne kadar sığ olduğunu gösteriyor; devasa miktarda nakit yakmaları sayesinde de biz kârlı çıkıyoruz
  • FLUX 1.1’in neyle eğitildiğini bilen var mı? Pro modelde “kamera dosya adı + basit bir kelime” şeklinde iki kelimelik prompt ile neredeyse 100 görüntü ürettim; hepsi birinin telefon fotoğrafı gibi görünüyordu.
    Üzerinde metin olmasaydı bunun yapay zeka görseli olabileceğini aklıma bile getirmeyeceğim seviyedeydi. Bazen kırpılmış fotoğraf gibi görünüyor; çok sayıda yemek fotoğrafı, dağınık yemek masası ve apartman çıkıyor.
    Herkese açık Facebook gönderileri, Snapchat, Vkontakte mi kazındı? OneDrive ya da Dropbox’taki kişisel görseller mi satın alındı? İkinci kelime olarak kadın adı girince neredeyse her zaman NSFW filtresi devreye giriyor. Bu yüzden eğitim setinde epey özel görüntü bulunduğunu tahmin ediyorum.
    Kendiniz bakın. Otomatik çalan müziğe dikkat.
    people: https://vm.tiktok.com/ZGdeXEhMg/
    food and stuff: https://vm.tiktok.com/ZGdeXEBDK/
    signs: https://vm.tiktok.com/ZGdeXoAgy/
    [edit] Bu görüntülere bakınca birinin özel fotoğraflarına bakıyormuşum gibi rahatsız oluyorum. “IMG00012.JPG forbid” gibi prompt’larda bu görüntüleri açıklayacak kadar yönlendirici bilgi yok; dolayısıyla bunların tamamı eğitim verisinden gelmiş olmak zorunda.
    FLUX 1.1 pro’nun önceki herkese açık modellerden temelde farklı bir eğitim seti kullandığına inanmıyorum. Sadece bu tür üretimlere karşı daha hassas olabilir.
    Gerçekten çok tuhaf bir his. O yüzden tekrar soruyorum: Bu modellerde kullanılan eğitim verilerine dair bilgi var mı?

    • Bu sadece flux’a özgü değil; Stable Diffusion dahil başka modellerde de aynı şey yapılabiliyor.
      Aşağıdaki iki Reddit gönderisi bu dosya adı geleneğini biraz ele alıyor.
      DSC_0001-9999.JPG - Nikon varsayılanı
      DSCF0001-9999.JPG - Fujifilm varsayılanı
      IMG_0001-9999.JPG - genel görüntü
      P0001-9999.JPG - Panasonic varsayılanı
      CIMG0001-9999.JPG - Casio varsayılanı
      PICT0001-9999.JPG - Sony varsayılanı
      Photo_0001-9999.JPG - Android fotoğrafı
      VID_0001-9999.mp4 - genel video
      Ek olarak bir 3D yazılım dosya adı versiyonu da hazırladım. Hepsini test ettim, yalnızca bazıları işe yaradı.
      Autodesk Filmbox (FBX): my_model0001-9999.fbx
      Stereolithography (STL): Model0001-9999.stl
      3ds Max: 3ds_Scene0001-9999.max
      Cinema 4D: Project0001-9999.c4d
      Maya (ASCII): Animation0001-9999.ma
      SketchUp: SketchUp0001-9999.skp
      [1]: https://www.reddit.com/r/StableDiffusion/comments/1fxkt3p/co...
      [2]: https://www.reddit.com/r/StableDiffusion/comments/1fxdm1n/i_...
    • Bunun ham eğitim veri setinden kaynaklanma olasılığının çok düşük olduğunu düşünüyorum. Ben ters bir sorun yaşadım. “background” token’ı, prompt’ta nasıl kullanıldığı neredeyse fark etmeksizin tüm görüntüye güçlü bir bulanıklık getiriyordu; ilginç olan, prompt yorumlamasının çok daha iyi hâle gelmiş olmasıydı.
      Metne yönelik güçlü bir düzeltmeyle birlikte, modeli flux tarzı görüntüleri tercih etmeye iten çok sayıda ayar yapılmış olma ihtimali yüksek.
      Hangi süreci izlerlerse izlesinler, belirli terimler geçtiği anda LoRA’dan bile daha güçlü etki edecek kadar modeli aşırı hassas hâle getirmişler.
      Gösterdiğin fotoğraflar genel bağlam içinde özellikle dikkat çekici değil. Varsayılan görüntü formatının dışına çıkıp fotogerçekçi sonuçlar almak çok çaba gerektirmiyor. Kişisel olarak bunu fotogerçekçiliği saklamaya çalışmalarından ziyade, varsayılanları insanların istediği görüntülere göre ayarlamaları olarak görüyorum.
    • Ben de aynı şeyi yaşadım ve gerçekten tuhaftı. Başta iyi sonuçlar çıkıyordu, sonra bozuldu.
      Flux hakkındaki eleştirel yorumların neden hepsinin downvote aldığını ya da flag’lendiğini bilmiyorum; epey tuhaf.
  • Benzer kalite iddia edip karşılaştırma sayfasına işaret ediyorlar ama öncelikle detayların çok daha az olduğu çok açık. Daha kötüsü, “bulutlu bir günde, yeşil bir vadiye bakan bir dağ yolu virajını dönen sarı renkli 2017 Corvette’in 3/4 önden görünümü” örneği.
    Orijinal model ön tarafı gösteriyor, hız sürümü ise Corvette’in arka tarafını gösteriyor. Tamamen farklı bir resim. Benzer değil, belirgin biçimde farklı.
    https://flux-quality-comparison.vercel.app/

  • Meta modeliyle ilgili bir başlık her açıldığında, gerçek anlamda açık kaynak olmadığına dair düzeltmeler yağıyor.
    O hâlde FLUX için de bunu netleştirmek gerekiyor. Yayımlanan modeller arasında açık kaynak olan tek model FLUX schnell ve o da tescilli bir modelden damıtıldığı için üzerinde çalışması çok daha zor.
    İronik biçimde Meta’nın Llama modelleri, pratik açıdan çok daha izin verici lisanslara sahip ve Meta’nın kendi açık kaynak framework’leriyle ya da çeşitli üçüncü taraf araçlarla ince ayar yapmak da çok kolay. FLUX schnell ise böyle değil.
    Açık kaynak topluluğunun, Schnell’in yapay kısıtlarını düzeltmeye çalışan OpenFLUX veya benzeri projeler etrafında güç toplaması gerektiğini düşünüyorum: https://huggingface.co/ostris/OpenFLUX.1

  • “Replicate’in tüm görüntü modellerini çok daha hızlı yapan yeni bir senkron HTTP API ekledik” diyorlar; senkron olunca neden hızlı oluyor ki? Tıklayıp baktım
    https://replicate.com/changelog/2024-10-09-synchronous-api
    “Artık istemci kütüphaneleri ve API, model çalıştırmayı çok daha hızlı hale getiriyor; özellikle de dosya döndürüldüğünde”
    …teşekkürler de?
    Bir geliştirici olarak yaşadığım sıkıntıyı paylaşıyorum. Akılda kalmak ve bizim destekçiniz olmamızı istiyorsanız biraz daha iyi açıklamanızı isterdim

    • İkinci paragrafta sebep kelimesi kelimesine açıklanmış. Dosya verisini almak için ikinci bir istek yapılmasını gerektiren bir URL döndürmek yerine, yanıtın içinde gerçek dosya verisini döndürüyor
    • Doğru. Bu kısım net değildi. Önceden ne yapılması gerektiğini açıklayan bir paragraf daha ekledim