Video üretimi için Next-Frame Prediction modellerinde giriş kare bağlamı paketlemesinden yararlanma
(lllyasviel.github.io)- FramePack, 13B video diffusion modelini 6GB dizüstü GPU belleğinde bile uzun videolar üretmek için kullanmayı amaçlayan, Next-Frame Prediction tabanlı bir yaklaşımdır
- Giriş karelerini aynı uzunlukta ele almak yerine, kare başına patchifying kernel değerini değiştirerek tahmin hedefine yakın önemli karelere daha fazla GPU kaynağı ayırır
- HunyuanVideo’da 480p kareler
(1, 2, 2)için yaklaşık 1536 tokenden(2, 4, 4)için 192 tokene kadar indirilebilir ve streaming hesaplama karmaşıklığı O(1)’dir - FramePack Scheduling, kare önemini ve sıkıştırma oranını ayarlarken, image-to-video için başlangıç karelerini eşit derecede önemli ele alan zamanlamayı da destekler
- Uzun video üretiminde biriken hatalardan kaynaklanan drifting sorununu azaltmak için, causality’yi bozan çift yönlü sampling kullanılır; inverted anti-drifting sampling ise image-to-video için uygundur
FramePack’in giriş kare bağlamı paketlemesi
- FramePack, Next-Frame veya Next-Frame-Section Prediction modellerinde birden fazla giriş karesi alıp yeni kareleri diffusion ile üreten bir yöntemdir
- Hedef performans ve kullanım koşulları şöyledir
- 13B model ile 6GB dizüstü GPU belleğinde 30 fps hızında binlerce kare üretimi
- Tek bir 8xA100/H100 node üzerinde 13B video modelini batch size 64 ile fine-tune etme
- Kişisel RTX 4090’da optimizasyon öncesi 2.5 saniye/kare, teacache kullanıldığında 1.5 saniye/kare üretim
- timestep distillation yok
- Temel fikir, giriş kare görüntülerini basitçe art arda eklemek yerine, mantıksal GPU bellek yerleşiminde kare başına farklı bağlam uzunlukları yerleştirmektir
- Kare başına bağlam uzunluğu, farklı patchifying kernel değerleriyle ayarlanır
- HunyuanVideo’da 480p kare,
(1, 2, 2)patchifying kernel kullanıldığında yaklaşık 1536 tokendir (2, 4, 4)patchifying kernel’e geçildiğinde kare başına 192 tokene düşer
- HunyuanVideo’da 480p kare,
- Sonraki kare tahmin hedefine daha yakın olanlar gibi daha önemli karelere daha uzun bağlam verilir
- Streaming hesaplama karmaşıklığı O(1)’dir; O(nlogn) ya da O(n) değildir
Zamanlama ve drift önleme
- FramePack Scheduling, kare öneminin basit bir örüntüyü izlemediği, sıkıştırma oranının değiştirildiği veya kullanıcının belirlediği karelerin daha önemli ele alındığı durumları destekler
- image-to-video senaryosunda ilk kare önemli olduğu için, başlangıç karelerini eşit derecede önemli yapan bir zamanlama kullanılabilir
- Tüm zamanlamalar O(1)’dir ve farklı zamanlamalara ilişkin değerlendirmeler Paper içinde yer alır
- Next-Frame Prediction modellerinde videonun uzamasıyla kalite kaybına yol açan drifting, yaygın bir sorundur
- Son üretilen kareyi tekrar tekrar girişe vererek uzun video üretildiğinde, 5–6 yinelemeden sonra hızla bozulabilir ve yaklaşık 10 yinelemeden sonra ciddi şekilde kalite kaybedebilir
- Bu sorun error accumulation veya exposure bias olarak da adlandırılır
- history noise augmentation, special cfg guidance ve rolling diffusion timesteps gibi mevcut yöntemlere ilişkin deneyler de makalede yer alır
- drifting sorununu temelden ele almak için causality kırılmalı ve sampling çift yönlü hale getirilmelidir
- Yalnızca vanilla sampling causal yapıdadır
- anti-drifting sampling ve inverted anti-drifting sampling çift yönlü yöntemlerdir
- inverted anti-drifting sampling, tüm çıkarım sürecinde ilk kareyi yaklaşık hedef olarak ele alır ve image-to-video için uygundur
Demo koşulları ve referanslar
- Demo sonuçları, RTX 3060 6GB dizüstü ve 13B HY varyantı ile hesaplanmıştır
- image-to-5-seconds: 30fps, 150 kare
- image-to-60-seconds: 30fps, 1800 kare
- GitHub deposuna uygun olması için videolar h264crf18 ile sıkıştırılmıştır
- İlgili kaynaklar olarak Paper, Code, FramePack-P1 Preview sunulmaktadır
1 yorum
Hacker News yorumları
Bu kişi bir dâhi. Bilmeyenler olabilir ama ControlNet de onun eseri.
Tüketici donanımında çalışan ilk işe yarar video üretim modeli olması açısından çok anlamlı; yakında ControlNet poz desteğinin de gelmesini bekliyorum.
Büyük şirketler muazzam teklifler yapmış olmalı; gerçekten olağanüstü yetenekli.
İnsanları illa dans ettirmeye çalışması komik. Röportaj için oturan biri bile oturduğu yerden dans etmeye başlıyor.
Statik görüntülerde hep göz arıyoruz, videolarda ise hep dans arar hâle geliyoruz.
Örnekler oldukça etkileyici, ama bunları üretmek için kullanılan kaynaklar aslında neredeyse önemsiz düzeyde. Önceki nesil tüketici donanımında bile çıkarım çalıştırılabiliyor gibi görünüyor.
Bir gün 5090 üzerindeki çıkarım verimi rakamlarını da görmek isterim.
Bunu uzamsal yönde de yapmak mümkün mü? Örneğin bir görüntüyü tek seferde üretmek yerine yukarıdan aşağıya üretmek gibi mümkün olur mu, merak ediyorum.
Bu, ekstrapolasyon yerine video enterpolasyonu için kullanılabilir mi?
Şaşırtıcı. RAM gibi kaynaklar daha fazla olursa daha hızlı olabilir mi? H100 veya H200 üzerinde hızın daha da artırılıp artırılamayacağını da merak ediyorum.
Yapabildiği hareketler fiilen sadece dans gibi görünüyor.