Le premier modèle de génération vidéo d'architecture open source de type Sora au monde est là !
L'ensemble du processus de formation, y compris le traitement des données, tous les détails de la formation et les poids des modèles, est ouvert.
Il s'agit de l'Open-Sora 1.0 qui vient de sortir.
L'effet réel qu'il apporte est le suivant : il peut générer un trafic animé dans la scène nocturne de la ville animée.
Vous pouvez également utiliser une perspective de photographie aérienne pour montrer la scène de la côte de la falaise et l'eau de mer clapotant contre les rochers.
Ou le vaste ciel étoilé sous photographie time-lapse.
Depuis sa sortie, révéler et reproduire Sora est devenu l'un des sujets les plus abordés dans la communauté des développeurs en raison de ses effets époustouflants et de la rareté des détails techniques. Par exemple, l'équipe Colossal-AI a lancé un processus de formation et de réplication d'inférence Sora qui peut réduire les coûts de 46 %.
Après seulement deux semaines, l'équipe a de nouveau publié les dernières avancées, reproduisant une solution de type Sora, et a rendu la solution technique et les didacticiels pratiques détaillés gratuits et open source sur GitHub.
Alors la question est, comment reproduire Sora ?
Adresse open source Open-Sora : https://github.com/hpcaitech/Open-Sora
La solution de réplication Sora comprend quatre aspects :
Le modèle adopte l'architecture homologue Sora Diffusion Transformer (DiT).
Il est basé sur PixArt-α, un modèle graphique open source de haute qualité utilisant l'architecture DiT. Sur cette base, il introduit une couche d'attention temporelle et l'étend aux données vidéo.
Plus précisément, l'architecture entière comprend un VAE pré-entraîné, un encodeur de texte et un modèle STDiT (Spatial Temporal Diffusion Transformer) qui utilise le mécanisme d'attention spatio-temporelle.
Parmi eux, la structure de chaque couche de STDiT est présentée dans la figure ci-dessous.
Il utilise une méthode sérielle pour superposer un module d'attention temporelle unidimensionnelle sur un module d'attention spatiale bidimensionnelle pour modéliser les relations temporelles. Après le module d'attention temporelle, le module d'attention croisée permet d'aligner la sémantique du texte.
Par rapport au mécanisme d'attention complète, une telle structure réduit considérablement les frais généraux de formation et d'inférence.
Par rapport au modèle Latte, qui utilise également le mécanisme d'attention spatio-temporelle, STDiT peut mieux utiliser les poids de l'image pré-entraînée DiT pour continuer l'entraînement sur les données vidéo.
△Schéma structurel STDiT
Le processus de formation et d'inférence de l'ensemble du modèle est le suivant.
Il est entendu que dans la phase de formation, l'encodeur Variational Autoencoder (VAE) pré-entraîné est d'abord utilisé pour compresser les données vidéo, puis le modèle de diffusion STDiT est entraîné avec l'intégration de texte dans l'espace latent compressé.
Dans l'étape d'inférence, un bruit gaussien est échantillonné de manière aléatoire dans l'espace latent du VAE et entré dans STDiT avec l'intégration de l'invite pour obtenir les caractéristiques débruitées. Enfin, il est entré dans le décodeur VAE et décodé pour obtenir la vidéo.
△Processus de formation du modèle
Dans la partie reproduction de la formation, Open-Sora fait référence à la diffusion vidéo stable (SVD).
Elle est divisée en 3 étapes :
Chaque étape poursuivra l'entraînement en fonction des poids de l'étape précédente.
Par rapport à une formation en une seule étape à partir de zéro, la formation en plusieurs étapes atteint l'objectif de génération vidéo de haute qualité plus efficacement en développant progressivement les données.
△Trois étapes du plan d'entraînement
L'équipe a utilisé les riches données d'images et la technologie des graphiques vincentiens sur Internet pour d'abord former un modèle de graphique vincentien de haute qualité, et a utilisé ce modèle comme poids d'initialisation pour la prochaine étape de pré-formation vidéo.
Dans le même temps, comme il n'existe actuellement pas de VAE spatio-temporelle de haute qualité, ils utilisent la VAE d'images pré-entraînées à diffusion stable.
Cela garantit non seulement les performances supérieures du modèle initial, mais réduit également considérablement le coût global de la pré-formation vidéo.
Cette étape augmente principalement la capacité de généralisation du modèle et saisit efficacement la corrélation des séries chronologiques de la vidéo.
Il doit utiliser une grande quantité de données vidéo pour la formation et garantir la diversité des supports vidéo.
Dans le même temps, le modèle de deuxième étape ajoute un module d'attention temporelle basé sur le modèle de graphique vincentien de première étape pour apprendre les relations temporelles dans les vidéos. Les modules restants restent cohérents avec la première étape et chargent les poids de la première étape comme initialisation, tout en initialisant la sortie du module d'attention temporelle à zéro pour obtenir une convergence plus efficace et plus rapide.
L'équipe Colossal-AI a utilisé les poids open source de PixArt-alpha comme initialisation du modèle STDiT de deuxième étape et le modèle T5 comme encodeur de texte. Ils ont utilisé une petite résolution de 256 x 256 pour la pré-formation, ce qui a encore augmenté la vitesse de convergence et réduit les coûts de formation.
△Effet de génération Open-Sora (mot d'invite : images du monde sous-marin, dans lequel une tortue nage tranquillement parmi les récifs coralliens)
Selon les rapports, cette étape peut améliorer considérablement la qualité de la génération du modèle. La taille des données utilisées est inférieure d’un ordre de grandeur à celle de l’étape précédente, mais la durée, la résolution et la qualité des vidéos sont supérieures.
Un réglage fin de cette manière peut permettre une expansion efficace de la génération vidéo du court au long, de la basse résolution à la haute résolution et de la basse fidélité à la haute fidélité.
Il convient de mentionner que Colossal-AI a également divulgué en détail l'utilisation des ressources de chaque étape.
Dans le processus de reproduction d'Open-Sora, ils ont utilisé 64 H800 pour la formation. Le volume total de formation de la deuxième étape est de 2 808 heures GPU, soit environ 7 000 USD, et le volume de formation de la troisième étape est de 1 920 heures GPU, soit environ 4 500 USD. Après une estimation préliminaire, l'ensemble du plan de formation a réussi à contrôler le processus de reproduction d'Open-Sora à environ 10 000 $ US.
Afin de réduire davantage le seuil et la complexité de la récurrence Sora, l'équipe Colossal-AI fournit également un script de prétraitement des données vidéo pratique dans l'entrepôt de code, afin que tout le monde puisse facilement démarrer la pré-formation sur la récurrence Sora.
Y compris le téléchargement d'ensembles de données vidéo publiques, la segmentation de longues vidéos en courts clips vidéo en fonction de la continuité des prises de vue et l'utilisation du grand modèle de langage open source LLaVA pour générer des mots d'invite précis.
Le code de génération de titre vidéo par lots qu'ils fournissent peut annoter une vidéo avec deux cartes et 3 secondes, et la qualité est proche de GPT-4V.
Le couple vidéo/texte final peut être utilisé directement pour la formation. Avec le code open source qu'ils fournissent sur GitHub, vous pouvez générer facilement et rapidement les paires vidéo/texte nécessaires à la formation sur votre propre ensemble de données, réduisant ainsi considérablement le seuil technique et la préparation préliminaire au démarrage d'un projet de réplication Sora.
De plus, l'équipe Colossal-AI propose également une solution d'accélération de la formation.
Grâce à des stratégies de formation efficaces telles que l'optimisation des opérateurs et le parallélisme hybride, un effet d'accélération de 1,55x a été obtenu lors de la formation au traitement de vidéos de 64 images, d'une résolution de 512 x 512.
Dans le même temps, grâce au système de gestion de mémoire hétérogène de Colossal-AI, une tâche de formation vidéo haute définition 1080p d'une minute peut être effectuée sans entrave sur un seul serveur (8H800).
Et l'équipe a également constaté que l'architecture du modèle STDiT montrait également une excellente efficacité lors de la formation.
Par rapport à DiT utilisant le mécanisme d'attention totale, STDiT atteint une accélération jusqu'à 5 fois supérieure à mesure que le nombre d'images augmente, ce qui est particulièrement critique dans les tâches réelles telles que le traitement de longues séquences vidéo.
Enfin, l'équipe a également publié davantage d'effets de génération Open-Sora.
, durée 00:25
L'équipe et Qubits ont révélé qu'ils mettront à jour et optimiseront les solutions et développements liés à Open-Sora à long terme. À l’avenir, davantage de données de formation vidéo seront utilisées pour générer un contenu vidéo plus long et de meilleure qualité et prendre en charge les fonctionnalités multi-résolutions.
En termes d'applications pratiques, l'équipe a révélé qu'elle favoriserait la mise en œuvre dans les films, les jeux, la publicité et d'autres domaines.
Les développeurs intéressés peuvent visiter le projet GitHub pour en savoir plus~
Open-Sora Adresse open source : https://github.com/hpcaitech/Open-Sora
Lien de référence :
[1]https : //arxiv .org/abs/2212.09748 Modèles de diffusion évolutifs avec transformateurs.
[2]https://arxiv.org/abs/2310.00426 PixArt-α : formation rapide du transformateur de diffusion pour la synthèse photoréaliste de texte en image.
[3]https://arxiv.org/abs/2311.15127 Diffusion vidéo stable : mise à l'échelle des modèles de diffusion vidéo latente vers de grands ensembles de données.
[4]https://arxiv.org/abs/2401.03048 Latte : Transformateur de diffusion latente pour la génération vidéo.
[5]https://huggingface.co/stabilityai/sd-vae-ft-mse-original.
[6]https://github.com/google-research/text-to-text-transfer-transformer.
[7]https://github.com/haotian-liu/LLaVA.
[8]https://hpc-ai.com/blog/open-sora-v1.0.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!