Topik ini menjelaskan fitur dan metrik utama dari model Wan2.1, praktik terbaik untuk menerapkan model di cloud edge, serta cara menyiapkan lingkungan pengujian. Ini membantu Anda memahami fitur model, persyaratan penerapan, dan metode optimasi performa secara efisien, sehingga dapat menerapkan dan menggunakan model di cloud edge untuk memenuhi kebutuhan pembuatan video dalam berbagai skenario.
Pengenalan model Wan2.1
Model Wan2.1 adalah model generasi video open-source yang dikembangkan oleh Alibaba Cloud. Model ini memiliki keunggulan signifikan dalam menangani gerakan kompleks, memulihkan hukum fisika nyata, meningkatkan kualitas sinematik, dan mengoptimalkan kepatuhan instruksi. Baik Anda seorang pembuat konten, pengembang, atau pengguna perusahaan, Anda dapat menemukan model dan fitur yang sesuai dengan kebutuhan bisnis Anda untuk mencapai pembuatan video berkualitas tinggi. Model Wan2.1 juga mendukung pembuatan efek teks bahasa Cina dan Inggris terdepan di industri, memenuhi kebutuhan kreatif dalam iklan, video pendek, dan bidang lainnya. Menurut sistem evaluasi otoritatif VBench, model Wan2.1 menempati peringkat pertama dengan total skor 86,22%, melampaui model generasi video domestik dan internasional seperti Sora, Minimax, Luma, Gen3, dan Pika.
Wan2.1-T2V-14B: Edisi profesional berperforma tinggi yang memberikan performa terdepan di industri untuk memenuhi skenario dengan persyaratan kualitas video sangat tinggi.
Wan2.1-T2V-1.3B: Mampu menghasilkan video 480P dengan persyaratan memori GPU rendah.
Konfigurasi yang direkomendasikan dan performa inferensi untuk menerapkan model Wan2.1
Cloud edge menyediakan sumber daya komputasi heterogen multi-spesifikasi pada node-node yang tersebar luas untuk memenuhi kebutuhan komputasi heterogen dalam berbagai skenario. Memori GPU berkisar antara 12 GB hingga 48 GB. Jika Anda menerapkan model Wan2.1-T2V-1.3B di cloud edge untuk inferensi, konfigurasi yang direkomendasikan dan performa inferensinya adalah sebagai berikut:
Untuk menggunakan Wan2.1-T2V-1.3B dengan presisi BFloat16 untuk menghasilkan video 480P, kami merekomendasikan Anda menggunakan instance yang mencakup lima GPU dengan memori 12 GB masing-masing.
Untuk instance yang mencakup lima GPU dengan memori 12 GB masing-masing, berjalan pada satu GPU dalam mode single-path dapat mencapai efektivitas biaya terbaik. Meskipun operasi single-GPU memerlukan waktu lama untuk pembuatan video, tugas inferensi multi-path dapat diproses secara bersamaan, menghasilkan pengembalian lebih tinggi dalam satuan waktu.
Jika Anda memprioritaskan efisiensi pembuatan video, Anda dapat menggunakan instance yang mencakup dua GPU dengan memori 48 GB masing-masing. Ini mengurangi waktu pembuatan video single-path sekitar 85% dengan hanya peningkatan biaya sebesar 35%.
Tipe Instance
Metode Inferensi
Durasi Video (s)
Waktu Pembuatan (s)
Penggunaan Memori GPU (GB)
Biaya Single-path
Instance bare metal lima-GPU dengan memori 12 GB masing-masing
Single-GPU single-path
5
1459
9,6
100%
Empat-GPU single-path
5
865
35,3
296%
Instance single-GPU dengan memori 48 GB masing-masing
Single-GPU single-path
5
456
18,6
144%
Instance dual-GPU dengan memori 48 GB masing-masing
Dual-GPU single-path
5
214
20,9
135%
Untuk menggunakan Wan2.1-T2V-14B dengan presisi BFloat16 untuk menghasilkan video 720P, kami merekomendasikan Anda menggunakan instance yang mencakup dua GPU dengan memori 48 GB masing-masing.
720P memberikan pengalaman video berkualitas lebih tinggi, tetapi waktu pembuatan video akan lebih lama. Anda dapat memilih sumber daya yang sesuai berdasarkan kebutuhan skenario bisnis Anda dan kualitas video contoh.
Tipe Instance
Metode Inferensi
Durasi Video (s)
Waktu Pembuatan (s)
Penggunaan Memori GPU (GB)
Instance dual-GPU dengan memori 48 GB masing-masing
Dual-GPU single-path
5
3503
41
Tabel berikut menjelaskan konfigurasi untuk tipe instance yang disebutkan sebelumnya.
Parameter Lingkungan
Instance bare metal lima-GPU dengan memori 12 GB masing-masing
Instance single-GPU dengan memori 48 GB masing-masing
Instance dual-GPU dengan memori 48 GB masing-masing
CPU
Dua CPU 24-core, 3,0 hingga 4,0 GHz
48 core
96 core
Memori
256 GB
192 GB
384 GB
GPU
Lima GPU NVIDIA dengan memori 12 GB masing-masing
Satu GPU NVIDIA dengan memori 48 GB masing-masing
Dua GPU NVIDIA dengan memori 48 GB masing-masing
Sistem Operasi
Ubuntu 20.04
Driver GPU
Versi Driver: 570.124.06
Versi CUDA: 12.4
Versi Driver: 550.54.14
Versi CUDA: 12.4
Versi Driver: 550.54.14
Versi CUDA: 12.4
Kerangka kerja Inferensi
PyTorch
Siapkan lingkungan pengujian
Buat instance dan lakukan inisialisasi
Buat instance di konsol ENS
Masuk ke Konsol ENS.
Di bilah navigasi di sebelah kiri, pilih .
Di halaman Instances, klik Create Instance. Untuk informasi tentang cara mengonfigurasi parameter instance ENS, lihat Buat Instance.
Anda dapat mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda. Tabel berikut menjelaskan konfigurasi yang direkomendasikan.
Langkah
Parameter
Nilai yang Direkomendasikan
Konfigurasi Dasar
Metode Penagihan
Langganan
Tipe Instance
Komputasi x86
Spesifikasi Instance
NVIDIA 48GB * 2
Untuk spesifikasi detail, hubungi manajer pelanggan.
Gambar
Ubuntu
ubuntu_22_04_x64_20G_alibase_20240926
Jaringan dan Penyimpanan
Jaringan
Jaringan Mandiri
Disk Sistem
Ultra Disk, 80 GB atau lebih
Disk Data
Ultra Disk, 1 TB atau lebih
Pengaturan Sistem
Atur Kata Sandi
Kunci Kustom atau Pasangan Kunci
Konfirmasi pesanan.
Setelah Anda menyelesaikan pengaturan sistem, klik Confirm Order di pojok kanan bawah. Sistem mengonfigurasi instance berdasarkan konfigurasi Anda dan menampilkan harga. Setelah pembayaran dilakukan, halaman akan beralih ke konsol ENS.
Anda dapat melihat instance yang dibuat di konsol ENS. Jika instance berada dalam status Berjalan, instance tersebut tersedia.
Buat instance dengan memanggil operasi
Anda juga dapat memanggil operasi untuk membuat instance di Portal OpenAPI.
Berikut ini menjelaskan kode referensi parameter operasi.
{
"InstanceType": "ens.gnxxxx", <Tipe instance>
"InstanceChargeType": "PrePaid",
"ImageId": "ubuntu_22_04_x64_20G_alibase_20240926",
"ScheduleAreaLevel": "Region",
"EnsRegionId": "cn-your-ens-region", <Node edge>
"Password": <YOURPASSWORD>, <Kata sandi>
"InternetChargeType": "95BandwidthByMonth",
"SystemDisk": {
"Size": 80,
"Category": "cloud_efficiency"
},
"DataDisk": [
{
"Category": "cloud_efficiency",
"Size": 1024
}
],
"InternetMaxBandwidthOut": 5000,
"Amount": 1,
"NetWorkId": "n-xxxxxxxxxxxxxxx",
"VSwitchId": "vsw-xxxxxxxxxxxxxxx",
"InstanceName": "test",
"HostName": "test",
"PublicIpIdentification": true,
"InstanceChargeStrategy": "instance", <Penagihan berdasarkan instance>
}Masuk ke instance dan inisialisasi disk
Masuk ke instance
Untuk informasi lebih lanjut tentang cara masuk ke instance, lihat Hubungkan ke Instance.
Inisialisasi disk
Perluas direktori root.
Setelah Anda membuat atau mengubah ukuran instance, Anda perlu memperluas partisi root secara online tanpa me-restart instance.
# Instal toolkit lingkungan cloud. sudo apt-get update sudo apt-get install -y cloud-guest-utils # Pastikan alat partisi GPT sgdisk ada. type sgdisk || sudo apt-get install -y gdisk # Perluas partisi fisik. sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3 # Ubah ukuran sistem file. sudo resize2fs /dev/vda3 # Verifikasi hasil pengubahan ukuran. df -h
Mount disk data.
Anda perlu memformat dan mount disk data. Bagian berikut menyediakan perintah contoh. Jalankan perintah berdasarkan kebutuhan bisnis Anda.
# Identifikasi disk baru. lsblk # Format disk tanpa mempartisinya. sudo mkfs -t ext4 /dev/vdb # Konfigurasikan mount. sudo mkdir /data echo "UUID=$(sudo blkid -s UUID -o value /dev/vdb) /data ext4 defaults,nofail 0 0" | sudo tee -a /etc/fstab # Verifikasi mount. sudo mount -a df -hT /data # Modifikasi izin. sudo chown $USER:$USER $MOUNT_DIR
CatatanJika Anda ingin membuat gambar berdasarkan instance, Anda harus menghapus baris
ext4 defaults 0 0dari file/etc/fstab. Jika tidak, instance yang dibuat berdasarkan gambar tidak dapat dimulai.
Instal dependensi
Untuk informasi tentang cara menginstal CUDA, lihat Unduhan Toolkit CUDA 12.4 | NVIDIA Developer.
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
chmod +x cuda_12.4.0_550.54.14_linux.run
# Langkah ini memerlukan waktu. Interaksi grafis akan muncul.
sudo sh cuda_12.4.0_550.54.14_linux.run
# Tambahkan variabel lingkungan.
vim ~/.bashrc
export PATH="$PATH:/usr/local/cuda-12.4/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64"
source ~/.bashrc
# Verifikasi apakah operasi berhasil.
nvcc -V
nvidia-smi(Opsional) Instal alat
uv adalah alat manajemen untuk lingkungan virtual Python dan dependensi, cocok untuk instance yang perlu menjalankan beberapa model. Untuk informasi lebih lanjut, lihat Instalasi | uv (astral.sh).
# Instal uv. Secara default, uv diinstal di ~/.local/bin/.
curl -LsSf https://astral.sh/uv/install.sh | sh
# Edit ~/.bashrc.
export PATH="$PATH:~/.local/bin"
source ~/.bashrc
# Buat lingkungan venv bernama diff.
uv venv diff --python 3.12 --seed
source diff/bin/activateJika variabel lingkungan CUDA yang Anda konfigurasi menjadi tidak valid setelah menginstal uv, dan nvcc\nvidia-smi tidak dapat ditemukan, lakukan operasi berikut:
vim myenv/bin/activate
# Tambahkan konten berikut di akhir export PATH.
export PATH="$PATH:/usr/local/cuda-12.4/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64"
(Opsional) Instal alat pemantauan GPU
# Instal alat pemantauan GPU berikut. Anda juga dapat menggunakan nvidia-smi.
pip install nvitopUnduh kerangka kerja inferensi dan model
Kami merekomendasikan Anda menggunakan kerangka kerja model DiffSynth Studio yang diluncurkan oleh ModelScope untuk mencapai performa dan stabilitas yang lebih baik. Untuk informasi lebih lanjut, lihat https://github.com/modelscope/DiffSynth-Studio/tree/main.
# Instal alat unduhan ModelScope.
pip install modelscope
# Unduh DiffSynth Studio dan dependensi.
cd /root
git clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio
pip install -e .
# Instal xfuser.
pip install xfuser>=0.4.3
# Unduh file model Wan2.1-T2V-14B ke direktori yang sesuai dari DiffSynth Studio.
modelscope download --model Wan-AI/Wan2.1-T2V-14B --local_dir /root/DiffSynth-Studio/models/Wan-AI/Wan2.1-T2V-14BUji pembuatan video
DiffSynth Studio menyediakan dua metode paralel: Unified Sequence Parallel (USP) dan Tensor Parallel. Dalam contoh ini, Tensor Parallel digunakan. Gunakan skrip uji untuk menghasilkan video 720P berdasarkan Wan2.1-T2V-14B.
(Opsional) Optimalkan skrip uji
Anda dapat mencapai efek berikut dengan memodifikasi beberapa kode dan parameter dalam contoh skrip uji examples/wanvideo/wan_14b_text_to_video_tensor_parallel.py:
Karena repositori kode terus dioptimalkan, file kode mungkin diperbarui kapan saja. Modifikasi berikut hanya untuk referensi.
Hindari mengunduh model lagi setiap kali Anda menjalankannya.
Modifikasi kualitas kompresi video. File video yang lebih besar menunjukkan kejelasan yang lebih baik.
Ubah video yang dihasilkan dari 480P (default) menjadi 720P.
# Modifikasi file kode uji. vim /root/DiffSynth-Studio/examples/wanvideo/wan_14b_text_to_video_tensor_parallel.py # 1. Komentari kode di sekitar baris 125 untuk menghindari mengunduh model lagi setiap kali Anda menjalankannya, sehingga menggunakan model yang telah diunduh sebelumnya. # snapshot_download("Wan-AI/Wan2.1-T2V-14B", local_dir="models/Wan-AI/Wan2.1-T2V-14B") # 2. Modifikasi kode di sekitar baris 121, modifikasi parameter input save_video dalam fungsi test_step, frame rate video, dan kualitas kompresi. 1 menunjukkan kualitas terendah. 10 menunjukkan kualitas tertinggi. save_video(video, output_path, fps=24, quality=10) # 3. Tambahkan parameter input berikut di sekitar baris 135 untuk memodifikasi resolusi. Nilai default adalah 480p. .... "output_path": "video1.mp4", # Dua baris berikut adalah tambahan baru. "height": 720, "width": 1280, }, # 4. Simpan file dan keluar dari editor. :wq
Jalankan skrip uji
# Jalankan skrip uji.
torchrun --standalone --nproc_per_node=2 /root/DiffSynth-Studio/examples/wanvideo/wan_14b_text_to_video_tensor_parallel.py
Hasilkan video
Untuk memodifikasi jalur keluaran, ubah nilai output_path pada Item 3 bagian (Opsional) Optimalkan Skrip Uji.
Anda dapat merujuk pada indikator waktu tersisa di bilah kemajuan untuk waktu pengujian. Setelah proses selesai, file video video1.mp4 dihasilkan. Untuk informasi tentang cara menggunakan ossutil untuk mengimpor video yang dihasilkan ke Alibaba Cloud OSS, lihat Salin Objek.