2 poin oleh GN⁺ 2025-04-21 | 1 komentar | Bagikan ke WhatsApp
  • FramePack adalah pendekatan berbasis Next-Frame Prediction untuk memakai model difusi video 13B dalam pembuatan video panjang bahkan pada memori GPU laptop 6GB
  • Frame input tidak diperlakukan dengan panjang yang sama; sebagai gantinya, patchifying kernel per frame dibuat berbeda agar lebih banyak sumber daya GPU dialokasikan ke frame penting yang lebih dekat dengan target prediksi
  • Pada HunyuanVideo, frame 480p dapat berkurang dari sekitar 1536 token pada (1, 2, 2) menjadi 192 token pada (2, 4, 4), dan kompleksitas komputasi streaming adalah O(1)
  • FramePack Scheduling menyesuaikan tingkat kepentingan frame dan rasio kompresi, dan pada image-to-video juga dimungkinkan scheduling yang memperlakukan frame awal sebagai sama pentingnya
  • Untuk mengurangi drifting akibat akumulasi error dalam generasi video panjang, digunakan sampling dua arah yang melanggar causality, dan inverted anti-drifting sampling cocok untuk image-to-video

Context packing frame input pada FramePack

  • FramePack adalah metode pada model Next-Frame atau Next-Frame-Section Prediction yang menerima beberapa frame input lalu menghasilkan frame baru melalui difusi
  • Target performa dan kondisi penggunaan adalah sebagai berikut
    • Dengan model 13B, menghasilkan ribuan frame pada fps 30 di memori GPU laptop 6GB
    • Fine-tuning model video 13B dengan batch size 64 pada satu node 8xA100/H100
    • Pada RTX 4090 pribadi, menghasilkan 2,5 detik/frame sebelum optimisasi, dan 1,5 detik/frame saat memakai teacache
    • Tanpa timestep distillation
  • Intinya adalah bukan sekadar menempelkan gambar frame input secara berurutan, melainkan menata panjang konteks per frame secara berbeda dalam layout memori GPU yang logis
  • Panjang konteks tiap frame diatur dengan patchifying kernel yang berbeda
    • Pada HunyuanVideo, frame 480p menghasilkan sekitar 1536 token saat memakai patchifying kernel (1, 2, 2)
    • Jika diubah ke patchifying kernel (2, 4, 4), menjadi 192 token per frame
  • Frame yang lebih penting, seperti frame yang lebih dekat ke target prediksi frame berikutnya, diberi konteks yang lebih panjang
  • Kompleksitas komputasi streaming adalah O(1), bukan O(nlogn) atau O(n)

Scheduling dan pencegahan drift

  • FramePack Scheduling mendukung kasus saat kepentingan frame tidak mengikuti pola sederhana, saat rasio kompresi diubah, atau saat pengguna ingin memperlakukan frame tertentu sebagai lebih penting
  • Pada image-to-video, karena frame pertama penting, dapat digunakan scheduling yang membuat frame-frame awal sama pentingnya
  • Semua scheduling bersifat O(1), dan evaluasi beberapa scheduling dimuat dalam Paper
  • Pada model Next-Frame Prediction, drifting adalah masalah umum ketika kualitas video menurun seiring video menjadi lebih panjang
    • Jika frame hasil generasi terakhir terus diumpankan ulang untuk membuat video panjang, hasilnya bisa cepat rusak setelah 5–6 kali, dan dapat terdegradasi parah setelah sekitar 10 kali
    • Masalah ini juga dikenal sebagai error accumulation atau exposure bias
  • Eksperimen terhadap metode sebelumnya seperti history noise augmentation, special cfg guidance, dan rolling diffusion timesteps juga dimuat dalam paper
  • Untuk menangani drifting secara mendasar, causality harus dilanggar dan sampling harus dibuat dua arah
    • Hanya vanilla sampling yang bersifat causal
    • anti-drifting sampling dan inverted anti-drifting sampling adalah pendekatan dua arah
    • inverted anti-drifting sampling memperlakukan frame pertama sebagai target aproksimasi pada semua inferensi, dan cocok untuk image-to-video

Kondisi demo dan materi referensi

  • Hasil demo dihitung dengan RTX 3060 laptop 6GB dan varian 13B HY
    • image-to-5-seconds: 30fps, 150 frame
    • image-to-60-seconds: 30fps, 1800 frame
    • Agar sesuai dengan repositori GitHub, video dikompresi dengan h264crf18
  • Materi terkait yang disediakan mencakup Paper, Code, FramePack-P1 Preview

1 komentar

 
GN⁺ 2025-04-21
Opini Hacker News
  • Orang ini jenius. Mungkin ada yang belum tahu, tetapi ControlNet juga dibuat olehnya
    Ini sangat penting karena merupakan model generasi video pertama yang cukup layak dan berjalan di hardware konsumen, dan saya berharap dukungan pose ControlNet juga segera hadir

    • IC-Light juga dibuat olehnya. Saya penasaran kenapa ia masih berkontribusi ke open source
      Perusahaan-perusahaan besar pasti sudah memberi tawaran luar biasa, bakatnya benar-benar hebat
    • Saya belum benar-benar mencoba generasi video karena tidak sabaran, tapi bukankah Wan juga cukup bagus di hardware biasa?
  • Lucu sekali karena model ini seolah selalu ingin membuat orang menari. Orang yang duduk untuk wawancara pun mulai menari sambil tetap duduk

    • Mungkin karena prompt-nya memuat tarian. Kalau prompt-nya diganti, kemungkinan bisa dibuat melakukan aksi lain, meski mungkin tidak selucu itu
    • Sepertinya ini pengaruh dataset pelatihan TikTok publik berskala besar yang digunakan banyak peneliti video
    • Pengamatan yang menarik
      Pada gambar statis, model selalu mencari mata, dan pada video, model selalu mencari tarian
  • Contohnya cukup mengesankan, padahal resource yang dipakai untuk membuatnya sebenarnya bisa dibilang tidak seberapa. Sepertinya inferensi bisa dijalankan bahkan di hardware konsumen generasi sebelumnya
    Suatu saat saya juga ingin melihat angka throughput inferensi di 5090

  • Bisakah ini dilakukan juga ke arah spasial? Misalnya, alih-alih menghasilkan gambar sekaligus, apakah mungkin membuatnya dari atas ke bawah?

  • Bisakah ini dipakai untuk interpolasi video, bukan ekstrapolasi?

    • “inverted anti-drifting” yang disebut di paper pada dasarnya mirip dengan melakukan banyak ekstrapolasi terlebih dahulu, lalu melakukan interpolasi secara terbalik
  • Menakjubkan. Kalau resource seperti RAM lebih besar, apakah bisa jadi lebih cepat? Saya juga penasaran apakah kecepatannya bisa didorong lebih jauh di H100 atau H200

  • Sepertinya aksi yang bisa dilakukan praktis hanya menari

    • Ada cukup banyak gerakan yang bukan tarian. Memang contoh gerakan kaki yang bukan tarian hanya satu-dua, tetapi yang bergerak bukan cuma kaki
    • Karena model juga menerima prompt teks bersama input gambar, besar kemungkinan contoh-contohnya memang memasukkan tarian