Blogue | Visage câlin | Aire de jeux | Carrières
Un modèle de génération vidéo de pointe par Genmo.
L'aperçu Mochi 1 est un modèle ouvert de génération vidéo de pointe avec un mouvement haute fidélité et une forte adhésion rapide lors de l'évaluation préliminaire. Ce modèle réduit considérablement l'écart entre les systèmes de génération vidéo fermés et ouverts. Nous publions le modèle sous une licence permissive Apache 2.0. Essayez ce modèle gratuitement sur notre terrain de jeu.
Installer en utilisant uv :
git clone https://github.com/genmoai/modelscd modèles pip installer uv uv venv .venvsource .venv/bin/activer uv pip installer les outils de configuration uv pip install -e . --pas d'isolation de construction
Si vous souhaitez installer Flash Attention, vous pouvez utiliser :
uv pip install -e .[flash] --no-build-isolation
Vous devrez également installer FFMPEG pour transformer vos sorties en vidéos.
Utilisez download_weights.py pour télécharger le modèle + le décodeur dans un répertoire local. Utilisez-le comme ceci :
python3 ./scripts/download_weights.py
Ou téléchargez directement les poids depuis Hugging Face ou via magnet:?xt=urn:btih:441da1af7a16bcaa4f556964f8028d7113d21cbb&dn=weights&tr=udp://tracker.opentrackr.org:1337/announce
dans un dossier sur votre ordinateur.
Démarrez l'interface utilisateur de Gradio avec
python3 ./demos/gradio_ui.py --model_dir ""
Ou générez des vidéos directement depuis la CLI avec
python3 ./demos/cli.py --model_dir ""
Remplacez
par le chemin d'accès à votre répertoire modèle.
Ce référentiel est livré avec une API simple et composable, vous pouvez donc appeler le modèle par programme. Vous pouvez trouver un exemple complet ici. Mais en gros, ça ressemble à ça :
à partir de l'importation genmo.mochi_preview.pipelines ( DecoderModelFactory, DitModelFactory, MochiSingleGPUPipeline, T5ModelFactory, Linear_quadratic_schedule, )pipeline = MochiSingleGPUPipeline( text_encoder_factory=T5ModelFactory(), dit_factory=DitModelFactory( model_path=f"{MOCHI_DIR}/dit.safetensors", model_dtype="bf16" ), decoder_factory=DecoderModelFactory( model_path=f"{MOCHI_DIR}/vae.safetensors", ), cpu_offload=True, decode_type="tiled_full", )video = pipeline( height=480, width=848, num_frames=31, num_inference_steps=64, sigma_schedule=linear_quadratic_schedule(64, 0.025), cfg_schedule=[4.5] * 64, batch_cfg=False, prompt="votre invite préférée ici. ..", négatif_prompt="", graine=12345, )
Mochi 1 représente une avancée significative dans la génération vidéo open source, avec un modèle de diffusion de 10 milliards de paramètres construit sur notre nouvelle architecture de transformateur de diffusion asymétrique (AsymDiT). Entièrement formé à partir de zéro, il s’agit du plus grand modèle génératif vidéo jamais publié ouvertement. Et le meilleur de tout, c'est une architecture simple et piratable. De plus, nous publions un harnais d'inférence qui inclut une implémentation parallèle de contexte efficace.
Aux côtés de Mochi, nous mettons en open source notre vidéo AsymmVAE. Nous utilisons une structure codeur-décodeur asymétrique pour construire un modèle de compression efficace de haute qualité. Notre AsymmVAE compresse causalement les vidéos à une taille 128x plus petite, avec une compression spatiale 8x8 et une compression temporelle 6x dans un espace latent de 12 canaux.
Paramètres Compter | Base Enc Canaux | Base de décembre Canaux | Latent Faible | Spatial Compression | Temporel Compression |
---|---|---|---|---|---|
362M | 64 | 128 | 12 | 8x8 | 6x |
Un AsymmDiT traite efficacement les invites des utilisateurs ainsi que les jetons vidéo compressés en rationalisant le traitement du texte et en concentrant la capacité du réseau neuronal sur le raisonnement visuel. AsymmDiT s'occupe conjointement des jetons textuels et visuels avec une auto-attention multimodale et apprend des couches MLP distinctes pour chaque modalité, similaire à Stable Diffusion 3. Cependant, notre flux visuel a près de 4 fois plus de paramètres que le flux de texte via un plus grand flux caché. dimension. Pour unifier les modalités d'auto-attention, nous utilisons des couches de projection QKV non carrées et de sortie. Cette conception asymétrique réduit les besoins en mémoire d'inférence. De nombreux modèles de diffusion modernes utilisent plusieurs modèles de langage pré-entraînés pour représenter les invites des utilisateurs. En revanche, Mochi 1 code simplement les invites avec un seul modèle de langage T5-XXL.
Paramètres Compter | Numéro Calques | Numéro Têtes | Visuel Faible | Texte Faible | Visuel Jetons | Texte Jetons |
---|---|---|---|---|---|---|
10B | 48 | 24 | 3072 | 1536 | 44520 | 256 |
Le modèle nécessite au moins 4 GPU H100 pour fonctionner. Nous apprécions les contributions de la communauté pour réduire cette exigence.
Les modèles vidéo Genmo sont des modèles généraux de diffusion texte-vidéo qui reflètent intrinsèquement les préjugés et les idées préconçues trouvés dans leurs données de formation. Bien que des mesures aient été prises pour limiter le contenu NSFW, les organisations doivent mettre en œuvre des protocoles de sécurité supplémentaires et un examen attentif avant de déployer ces pondérations de modèle dans des services ou produits commerciaux.
Selon l'aperçu de la recherche, Mochi 1 est un point de contrôle vivant et évolutif. Il existe quelques limitations connues. La version initiale génère aujourd'hui des vidéos à 480p. Dans certains cas extrêmes, avec des mouvements extrêmes, des déformations et des distorsions mineures peuvent également se produire. Mochi 1 est également optimisé pour les styles photoréalistes et ne fonctionne donc pas bien avec le contenu animé. Nous prévoyons également que la communauté affinera le modèle pour l'adapter à diverses préférences esthétiques.
ComfyUI-MochiWrapper ajoute la prise en charge de ComfyUI pour Mochi. L'intégration de l'attention SDPA de Pytorch a été retirée de leur référentiel.
@misc{genmo2024mochi, title={Mochi}, author={Genmo Team}, year={2024} }