10 Repos
Strategies for splitting large machine learning models across multiple GPUs by partitioning workloads such as temporal frames.
Distinguishing note: None of the candidates cover GPU workload distribution or model parallelism; they focus on frame extraction, alignment, or interpolation.
Explore 10 awesome GitHub repositories matching artificial intelligence & ml · Distributed Model Parallelism. Refine with filters or upvote what's useful.
Magic Animate is a diffusion model video generator designed for human image animation. It transforms a static human photo into a temporally consistent video by mapping movements from a reference motion clip, acting as a tool to create realistic animations from a single image. The system ensures visual stability and minimizes flicker through temporal attention injection and motion-controlled noise scheduling. To accelerate the generation of high-resolution video, it includes a distributed GPU inference engine that splits model workloads across multiple graphics cards. The project covers a com
Splits the diffusion model across multiple GPUs by assigning specific subsets of temporal frames to each device.
GPT-Neo is an open-source distributed training framework designed for scaling GPT-2 and GPT-3-style language models across multiple devices using mesh-tensorflow for model parallelism. It provides the infrastructure to train transformer-based language models with billions of parameters across distributed computing environments, making large-scale language model research accessible outside of proprietary systems. The framework supports training both autoregressive GPT-style models and masked language models like BERT or RoBERTa, with configurable masking strategies and token handling. It inclu
Provides the core mesh-tensorflow infrastructure for distributing large transformer computations across multiple devices.
Dies ist ein Machine-Learning-Framework zur Behandlung diverser Natural-Language-Processing-Aufgaben als einheitliches Text-zu-Text-Problem. Es bietet ein Toolkit für das Pre-Training und Fine-Tuning groß angelegter Transformer-Modelle und nutzt ein System, bei dem sowohl Eingaben als auch Ausgaben als rohe Textsequenzen formatiert sind. Das Framework zeichnet sich durch sein verteiltes Trainingssystem aus, das Mesh-basierte Strategien verwendet, um Modellgewichte und Trainings-Batches über mehrere TPU-Kerne hinweg zu skalieren. Es unterstützt Multi-Task-Learning durch die Kombination diverser Datensätze in einem einzigen Trainingsstrom unter Verwendung konfigurierbarer Mischraten, wodurch ein einziges Modell verschiedene Sprachaufgaben bewältigen kann. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich Encoder-Decoder-Architekturen, Beam-Search-Decoding für Textgenerierung und Transfer-Learning-Workflows. Es enthält Dienstprogramme für die Vorbereitung von NLP-Datensätzen, die Bewertung der Modellleistung und den Export trainierter Checkpoints für die produktive Bereitstellung. Die Bibliothek unterstützt das Laden vortrainierter Modell-Checkpoints verschiedener Größen, um die Entwicklung zu beschleunigen.
Utilizes mesh-based strategies to distribute model weights and training batches across multiple TPU cores for large-scale parallelism.
This project is a neural machine translation system used to build models that automatically translate text from one language to another. It utilizes sequence-to-sequence modeling to transform variable-length input sequences into corresponding output sequences. The system implements bidirectional recurrent neural network encoding and attention mechanisms to capture contextual information and focus on specific parts of the source text during translation. To manage training and inference, it employs separate computational graphs and supports distributing model layers across multiple GPU devices.
Distributes neural network layers across multiple GPU devices to accelerate model training and inference.
FasterTransformer is a high-performance inference optimization library and distributed runtime designed to accelerate the execution of transformer models. It provides a toolkit for reducing model precision and parallelizing execution across multiple GPUs to increase throughput and reduce latency for large language models. The framework utilizes a C++ backend with custom CUDA kernels to replace generic operations with optimized GPU instructions. It implements tensor and pipeline parallelism to shard model weights and distribute compute operations across multiple devices. The system includes c
Provides a high-performance distributed runtime for parallelizing transformer execution across multiple GPUs.
Dieses Projekt ist ein JAX-basiertes Transformer-Framework und Large-Language-Model-Trainer für das Training verteilter Modelle auf TPU-Hardwarebeschleunigern. Es bietet ein System für Pretraining und Fine-Tuning autoregressiver Modelle durch Aufteilung von Gewichten und Berechnungen über ein Mesh von Geräten, um den Speicherbedarf zu reduzieren und die Verarbeitungsgeschwindigkeit zu erhöhen. Das Framework enthält einen TPU-Compute-Orchestrator für die Ressourcenbereitstellung und die Automatisierung der Abhängigkeitsinstallation auf verteilten Remote-Knoten. Es verfügt zudem über einen Modell-Gewichtskonverter, der Checkpoints zwischen verschiedenen Hardwarekonfigurationen und numerischen Präzisionen transformieren und neu sharden kann. Das Projekt deckt breitere Funktionen ab, darunter Sharded-Checkpoint-Management für Cloud-Speicher, stream-basiertes Datenladen mit Zustandswiederherstellung und nucleus-basierte Textgenerierung für Modell-Inferenz. Es unterstützt zudem XLA-kompilierte Hardwarebeschleunigung für TPU- und GPU-Cluster und bietet Tools für Performance-Benchmarking gegen standardisierte Sprachaufgaben.
Distributes model weights and computations across a mesh of accelerators using sharding operators to scale parameter counts.
Aibrix ist ein Inferenz-Orchestrator, der für die Skalierung, das Routing und die Verwaltung der Bereitstellung großer Sprachmodelle über verteilte vLLM-Cluster entwickelt wurde. Er dient als zentrales Gateway für Load-Balancing und das Routing von Traffic zu spezifischen Modell-Replikaten und -Versionen. Das System verwaltet Ressourceneffizienz durch einen GPU-Cluster-Autoscaler, der die Anzahl der Compute-Instanzen basierend auf dem Echtzeit-Request-Volumen anpasst. Es optimiert den Betrieb weiter durch das Mischen verschiedener Beschleunigertypen innerhalb eines Clusters und die Nutzung eines Modell-Adapter-Orchestrators, um leichtgewichtige Parameter-Adapter auf geteilten Basismodellen bereitzustellen. Zu den breiten Funktionen gehören die Verwendung eines verteilten Key-Value-Cache-Managers zum Teilen von Token-Daten über Inferenz-Engines hinweg und die Implementierung von Hardware-Health-Monitoring zur Erkennung von Ausfällen der Verarbeitungseinheiten. Das Projekt bietet zudem eine einheitliche Metrik-Pipeline, um die Sammlung von Performancedaten über diverse Laufzeitumgebungen hinweg zu standardisieren.
Spreads large model weights and computation across multiple hardware nodes to handle massive parameter counts.
trlx ist eine Reinforcement-Learning-Bibliothek und ein Trainings-Framework, das darauf ausgelegt ist, Large Language Models mittels menschlichem Feedback zu optimieren (Alignment). Es dient als verteilter Trainer und Compute-Orchestrator für die Skalierung von Modellen mit vielen Parametern über mehrere GPUs und Knoten hinweg. Das Projekt bietet Tools für Reinforcement Learning from Human Feedback (RLHF) und Modell-Alignment. Es implementiert eine auf Reward-Modellen basierende Optimierung sowie Proximal Policy Optimization (PPO), um das Modellverhalten basierend auf zielorientierten Belohnungen oder menschlich annotierten Datensätzen zu verfeinern. Das Framework deckt Strategien für verteiltes Training ab, einschließlich Modellparallelität, Parameter-Sharding und Multi-Node-Gradient-Synchronisierung. Es integriert zudem Einschränkungen wie KL-Divergenz, um den Modell-Drift während des Reinforcement-Learning-Prozesses zu steuern.
Employs distributed model parallelism to partition computational workloads across multiple GPUs for massive models.
whisper-jax ist eine Hochleistungs-Implementierung des Whisper-Modells zur automatischen Spracherkennung, die unter Verwendung des JAX-Frameworks neu geschrieben wurde. Sie ist für beschleunigte Inferenz konzipiert und verwendet XLA-Kompilierung, um die Modellausführung auf Hardwarebeschleunigern zu optimieren. Das Projekt konzentriert sich auf TPU-optimierte Transkription, um einen hohen Durchsatz und hohe Geschwindigkeit zu erreichen. Es enthält eine Gewichtungs-Übersetzungspipeline, die vortrainierte Modellparameter von PyTorch in JAX-kompatible Arrays konvertiert. Das System unterstützt das Transkribieren von Audio in Text, das Übersetzen von Sprache in mehrere Sprachen und das Generieren von Audio-Zeitstempeln. Es ermöglicht die Stapelverarbeitung von Audio und skaliert die Leistung durch datenparalleles Batching und modellparallele Tensor-Partitionierung. Das Projekt bietet eine Methode, um das Transkriptionsmodell als Remote-Inferenz-Endpunkt mit einer Weboberfläche bereitzustellen.
Splits large model tensors across multiple accelerators to overcome memory limits and accelerate inference.
FastVideo is a comprehensive system for accelerated video generation, serving as a video generation inference engine, a video diffusion training framework, and a modular pipeline orchestrator. It provides a distributed transformer optimizer and a distillation toolkit designed to reduce denoising steps and model complexity to increase frame rates. The project distinguishes itself through specialized acceleration techniques, including joint distillation and sparse attention training. It implements low-step video generation and weight quantization to FP8 or FP4 precision to increase throughput a
Provides a specialized runtime for parallelizing transformer execution across multiple GPUs.