Blog | Umarmendes Gesicht | Spielplatz | Karrieren
Ein hochmodernes Videogenerierungsmodell von Genmo.
Mochi 1 Preview ist ein offenes, hochmodernes Videogenerierungsmodell mit High-Fidelity-Bewegung und starker Soforttreue in der ersten Bewertung. Dieses Modell schließt die Lücke zwischen geschlossenen und offenen Videoerzeugungssystemen dramatisch. Wir veröffentlichen das Modell unter einer freizügigen Apache 2.0-Lizenz. Probieren Sie dieses Modell kostenlos auf unserem Spielplatz aus.
Mit UV installieren:
Git-Klon https://github.com/genmoai/modelscd Modelle pip install uv uv venv .venvsource .venv/bin/activate uv pip install setuptools uv pip install -e . --no-build-isolation
Wenn Sie Flash Attention installieren möchten, können Sie Folgendes verwenden:
uv pip install -e .[flash] --no-build-isolation
Sie müssen außerdem FFMPEG installieren, um Ihre Ausgaben in Videos umzuwandeln.
Verwenden Sie download_weights.py, um das Modell + den Decoder in ein lokales Verzeichnis herunterzuladen. Benutze es so:
python3 ./scripts/download_weights.py <path_to_downloaded_directory>
Oder laden Sie die Gewichte direkt von Hugging Face oder über magnet:?xt=urn:btih:441da1af7a16bcaa4f556964f8028d7113d21cbb&dn=weights&tr=udp://tracker.opentrackr.org:1337/announce
in einen Ordner auf Ihrem Computer herunter.
Starten Sie die Gradio-Benutzeroberfläche mit
python3 ./demos/gradio_ui.py --model_dir "<path_to_downloaded_directory>"
Oder generieren Sie Videos direkt aus der CLI mit
python3 ./demos/cli.py --model_dir "<path_to_downloaded_directory>"
Ersetzen Sie <path_to_downloaded_directory>
durch den Pfad zu Ihrem Modellverzeichnis.
Dieses Repository verfügt über eine einfache, zusammensetzbare API, sodass Sie das Modell programmgesteuert aufrufen können. Ein vollständiges Beispiel finden Sie hier. Aber ungefähr sieht es so aus:
aus genmo.mochi_preview.pipelines import ( 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="Ihre Lieblingseingabeaufforderung hier. ..", negative_prompt="", Startwert=12345, )
Mochi 1 stellt einen bedeutenden Fortschritt in der Open-Source-Videogenerierung dar und verfügt über ein Diffusionsmodell mit 10 Milliarden Parametern, das auf unserer neuartigen Asymmetric Diffusion Transformer (AsymmDiT)-Architektur basiert. Es wurde vollständig von Grund auf trainiert und ist das größte Video-Generativmodell, das jemals offen veröffentlicht wurde. Und das Beste daran ist, dass es sich um eine einfache, hackbare Architektur handelt. Darüber hinaus veröffentlichen wir einen Inferenz-Harness, der eine effiziente kontextparallele Implementierung umfasst.
Gemeinsam mit Mochi stellen wir unser Video AsymmVAE als Open-Source-Lösung zur Verfügung. Wir verwenden eine asymmetrische Encoder-Decoder-Struktur, um ein effizientes Komprimierungsmodell hoher Qualität zu erstellen. Unser AsymmVAE komprimiert Videos kausal auf eine 128-mal kleinere Größe, mit einer räumlichen 8x8- und einer zeitlichen 6-fachen Komprimierung auf einen latenten 12-Kanal-Raum.
Parameter Zählen | Enc-Basis Kanäle | Dez. Basis Kanäle | Latent Schwach | Räumlich Kompression | Zeitlich Kompression |
---|---|---|---|---|---|
362M | 64 | 128 | 12 | 8x8 | 6x |
Ein AsymmDiT verarbeitet Benutzeraufforderungen neben komprimierten Video-Tokens effizient, indem es die Textverarbeitung rationalisiert und die Kapazität des neuronalen Netzwerks auf visuelles Denken konzentriert. AsymmDiT kümmert sich gemeinsam um Text- und visuelle Token mit multimodaler Selbstaufmerksamkeit und lernt separate MLP-Ebenen für jede Modalität, ähnlich wie Stable Diffusion 3. Allerdings hat unser visueller Stream über ein größeres Hidden fast viermal so viele Parameter wie der Textstream Dimension. Um die Modalitäten der Selbstaufmerksamkeit zu vereinheitlichen, verwenden wir nichtquadratische QKV- und Ausgabeprojektionsebenen. Dieses asymmetrische Design reduziert den Bedarf an Inferenzspeicher. Viele moderne Diffusionsmodelle verwenden mehrere vorab trainierte Sprachmodelle, um Benutzereingaben darzustellen. Im Gegensatz dazu kodiert Mochi 1 Eingabeaufforderungen einfach mit einem einzigen T5-XXL-Sprachmodell.
Parameter Zählen | Num Schichten | Num Köpfe | Visuell Schwach | Text Schwach | Visuell Token | Text Token |
---|---|---|---|---|---|---|
10B | 48 | 24 | 3072 | 1536 | 44520 | 256 |
Zum Betrieb des Modells sind mindestens 4 H100-GPUs erforderlich. Wir freuen uns über Beiträge der Community, um diesen Bedarf zu reduzieren.
Genmo-Videomodelle sind allgemeine Text-zu-Video-Diffusionsmodelle, die von Natur aus die in ihren Trainingsdaten gefundenen Vorurteile und Vorurteile widerspiegeln. Obwohl Schritte unternommen wurden, um den NSFW-Inhalt einzuschränken, sollten Organisationen zusätzliche Sicherheitsprotokolle implementieren und sorgfältige Überlegungen anstellen, bevor sie diese Modellgewichte in kommerziellen Diensten oder Produkten einsetzen.
Laut Forschungsvorschau ist Mochi 1 ein lebendiger und sich entwickelnder Kontrollpunkt. Es gibt einige bekannte Einschränkungen. Die erste Version generiert heute Videos mit 480p. In einigen Randfällen mit extremer Bewegung können auch geringfügige Verformungen und Verzerrungen auftreten. Mochi 1 ist auch für fotorealistische Stile optimiert und funktioniert daher bei animierten Inhalten nicht gut. Wir gehen auch davon aus, dass die Community das Modell an verschiedene ästhetische Vorlieben anpassen wird.
ComfyUI-MochiWrapper fügt ComfyUI-Unterstützung für Mochi hinzu. Die Integration von Pytorchs SDPA wurde aus ihrem Repository übernommen.
@misc{genmo2024mochi, title={Mochi}, author={Genmo Team}, year={2024} }