Il n'y a pas si longtemps, OpenAI Sora est rapidement devenu populaire grâce à ses étonnants effets de génération vidéo, soulignant ses différences avec les autres modèles vidéo Vincent et devenant le centre de l'attention mondiale.
Suite au lancement du processus de reproduction d'inférence de formation Sora avec une réduction des coûts de 46% il y a 2 semaines, l'équipe Colossal-AI a entièrement open source le premier modèle de génération vidéo d'architecture de type Sora au monde "Open-Sora 1.0" - couvrant 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, joignez-vous aux passionnés mondiaux de l'IA pour promouvoir une nouvelle ère de création vidéo.
Adresse open source Open-Sora : https://github.com/hpcaitech/Open-Sora
Pour un aperçu, jetons un œil à "Open-Sora" publié par Vidéo instantanée générée par le modèle 1.0 de l'équipe Colossal-AI de la ville animée.
Un instantané de la ville animée généré par Open-Sora 1.0
Ce n'est que la pointe de l'iceberg de la technologie de reproduction de Sora, concernant l'architecture du modèle , les poids du modèle entraînés et la reproduction du ci-dessus Vidéo Wensheng Détails de la formation, processus de prétraitement des données, affichage de la démonstration et tutoriel de démarrage détaillé, l'équipe Colossal-AI a été entièrement open source sur GitHub gratuitement.
Xinzhiyuan a contacté l'équipe dès que possible et a appris qu'elle continuerait à mettre à jour les solutions liées à Open-Sora et les derniers développements. Les amis intéressés peuvent rester à l’écoute de la communauté open source d’Open-Sora.
Interprétation complète de la solution de réplication de SoraEnsuite, nous interpréterons en profondeur les multiples dimensions clés de la solution de réplication de Sora, notamment la conception de l'architecture de modèle, la solution de réplication de formation, le prétraitement des données, l'affichage des effets de génération de modèle et une formation efficace. stratégies d'optimisation.
Le modèle adopte l'architecture actuellement populaire du transformateur de diffusion (DiT) [1].
L'équipe de l'auteur utilise le modèle de graphe Vincent open source de haute qualité PixArt-α [2], qui utilise également l'architecture DiT, comme base, introduit la couche d'attention temporelle sur cette base 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 afin de 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 totale, une telle structure réduit considérablement les frais de formation et d’inférence.
Par rapport au modèle Latte [3], qui utilise également le mécanisme d'attention spatio-temporelle, STDiT peut mieux utiliser les poids des images DiT pré-entraînées pour continuer l'entraînement sur les données vidéo.
Schéma de structure 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 formé 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 à partir de l'espace latent du VAE et entré dans STDiT avec une intégration rapide pour obtenir les caractéristiques débruitées. Enfin, il est entré dans le décodeur de VAE et décodé pour obtenir la vidéo.
Processus de formation du modèle
Nous avons appris de l'équipe que le schéma de réplication d'Open-Sora fait référence au travail de diffusion vidéo stable (SVD) [3] et comprend trois étapes. , à savoir :
1. Pré-formation d'images à grande échelle ;
2. Pré-formation vidéo à grande échelle ; données.
Chaque étape continuera l'entraînement en fonction des poids de l'étape précédente. Par rapport à la 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 de formation
La première étape : une pré-formation à l'image à grande échelle
La première étape consiste en une pré-formation à l'image à grande échelle, avec le l'aide d'un modèle de graphique vincentien mature, réduit efficacement les coûts de pré-formation vidéo.
L'équipe d'auteurs nous a révélé que grâce aux riches données d'images à grande échelle sur Internet et à la technologie avancée des graphiques Vincent, nous pouvons former un modèle de graphique Vincent de haute qualité, qui servira de poids d'initialisation pour la prochaine étape. de pré-formation vidéo.En parallèle, puisqu'il n'existe actuellement pas de VAE spatio-temporelle de haute qualité, ils ont utilisé la VAE image pré-entraînée par le modèle Stable Diffusion [5]. Cette stratégie 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.
Deuxième étape : pré-formation vidéo à grande échelle
La deuxième étape effectue un pré-entraînement vidéo à grande échelle pour augmenter les capacités de généralisation des modèles et saisir efficacement la corrélation des séries chronologiques des vidéos.
Nous comprenons que cette étape nécessite l'utilisation d'une grande quantité de données vidéo pour la formation afin d'assurer la diversité des thèmes vidéo, augmentant ainsi la capacité de généralisation du modèle. Le modèle de deuxième étape ajoute un module d'attention temporelle au modèle graphique vincentien de première étape pour apprendre les relations temporelles dans les vidéos.Les modules restants sont cohérents avec la première étape et chargent les poids de la première étape comme initialisation. En même temps, la sortie du module d'attention temporelle est initialisée à zéro pour obtenir une convergence plus efficace et plus rapide.
L'équipe Colossal-AI a utilisé les poids open source de PixArt-alpha[2] comme initialisation du modèle STDiT de deuxième étape, et le modèle T5[6] comme encodeur de texte. Dans le même temps, 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.
La troisième étape : réglage fin des données vidéo de haute qualité
La troisième étape affine les données vidéo de haute qualité pour améliorer considérablement la qualité de la génération vidéo.
L'équipe d'auteurs a mentionné que la taille des données vidéo utilisées dans la troisième étape est d'un ordre de grandeur inférieure à celle de la deuxième étape, mais que la durée, la résolution et la qualité de la vidéo sont supérieures. En ajustant ainsi, ils ont obtenu une mise à l'échelle efficace de la génération vidéo de courte à longue, de basse à haute résolution et de basse à haute fidélité.L'équipe d'auteurs a déclaré que dans le processus de reproduction Open-Sora, ils ont utilisé 64 blocs H800 pour l'entraînement.
Le montant total de la formation dans la deuxième étape est de 2 808 heures GPU, soit environ 7 000 $ US. Le volume de formation de la troisième étape est de 1 920 heures GPU, soit environ 4 500 dollars américains. 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, les longues vidéos sont segmentées en courts clips vidéo en fonction de la continuité des plans, et le grand modèle de langage open source LLaVA [7] est utilisé pour générer des mots d'invite précis. L'équipe d'auteurs a mentionné que le code de génération de titres vidéo par lots qu'ils ont fourni peut annoter une vidéo en 3 secondes avec deux cartes et que la qualité est proche de GPT-4V. Les couples vidéo/texte obtenus peuvent être directement utilisés pour la formation. Grâce au code open source qu'ils fournissent sur GitHub, nous pouvons générer facilement et rapidement les paires vidéo/texte nécessaires à la formation sur notre propre ensemble de données, réduisant ainsi considérablement le seuil technique et la préparation préalable au démarrage du projet de réplication Sora. Paire vidéo/texte générée automatiquement en fonction du script de prétraitement des données Jetons un coup d'œil à l'effet de génération vidéo réel d'Open-Sora. Par exemple, laissez Open-Sora générer une séquence aérienne d’eau de mer clapotant contre les rochers d’une falaise. Laissez Open-Sora capturer la magnifique vue plongeante sur les montagnes et les cascades qui déferlent des falaises et se jettent finalement dans le lac. En plus d'aller vers le ciel, vous pouvez également entrer dans la mer. Entrez simplement l'invite et laissez Open-Sora générer une photo du monde sous-marin. Dans la photo, une tortue de mer nage tranquillement parmi les. récifs coralliens. Open-Sora peut également nous montrer la Voie Lactée étoilée grâce à la photographie accélérée. Si vous avez des idées plus intéressantes pour la génération de vidéos, vous pouvez visiter la communauté open source Open-Sora pour obtenir les poids des modèles pour une expérience gratuite. Lien : https://github.com/hpcaitech/Open-Sora Il convient de noter que l'équipe d'auteurs a mentionné sur Github que la version actuelle n'utilise que 400 000 données d'entraînement, modèle Both la qualité de la génération et la capacité de suivre le texte doivent être améliorées. Par exemple, dans la vidéo de tortue ci-dessus, la tortue résultante a une patte supplémentaire. Open-Sora 1.0 n'est pas non plus efficace pour générer des portraits et des images complexes. L'équipe d'auteurs a répertorié une série de plans à réaliser sur Github, visant à résoudre en permanence les défauts existants et à améliorer la qualité de la production. En plus de réduire considérablement le seuil technique de reproduction Sora et d'améliorer la qualité de la génération vidéo dans de multiples dimensions telles que la durée, la résolution et le contenu, l'équipe d'auteur fournit également Colossal -Accélération de l'IA Le système fournit un support de formation efficace pour la récurrence de Sora. 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. Parallèlement, 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 (8 x H800). De plus, dans le rapport de l'équipe d'auteurs, nous avons é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. huanBienvenue pour continuer à prêter attention au projet open source Open-Sora : https://github.com /hpcaitech/Open-Sora L'équipe d'auteur a mentionné qu'elle continuera à maintenir et à optimiser le projet Open-Sora et qu'elle devrait utiliser davantage de données de formation vidéo pour générer un contenu vidéo plus long et de meilleure qualité et prendre en charge plusieurs -des fonctionnalités de résolution pour promouvoir efficacement la mise en œuvre de la technologie IA dans les films, les jeux, la publicité et d'autres domaines. Prétraitement des données
Affichage de l'effet de génération de modèle
Support de formation efficace
Un coup d'œil sur l'effet de génération vidéo du modèle Open-Sora
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!