18 dépôts
Strategies for managing complex parallelism to maximize hardware utilization during deep learning workloads.
Distinct from Distributed Computing: The candidates focus on general distributed computing or task runners, not specifically the coordination of ML parallelism strategies.
Explore 18 awesome GitHub repositories matching artificial intelligence & ml · Distributed GPU Computing. Refine with filters or upvote what's useful.
Megatron-LM is a distributed transformer training library and large language model training framework designed to scale models across thousands of GPUs. It functions as a GPU-optimized deep learning toolkit and a scaling engine for mixture-of-experts architectures, enabling the training of models with hundreds of billions of parameters. The project implements multi-dimensional model parallelism, combining tensor, pipeline, data, expert, and context-based workload distribution. It specifically optimizes mixture-of-experts architectures through integrated memory and communication improvements t
Manages complex tensor, pipeline, and data parallelism strategies to maximize hardware utilization.
Horovod is a distributed deep learning framework designed to scale machine learning training across multiple GPUs and nodes. It functions as an orchestrator for multi-GPU scaling and a tool for distributed gradient averaging, allowing users to increase compute capacity without rewriting core model logic. The project provides a consistent communication interface that supports multi-framework model distribution across TensorFlow, PyTorch, Keras, and MXNet. It leverages an MPI distributed training library to synchronize gradients across processes using collective communication operations. The s
Expands compute capacity by distributing training scripts across multiple GPU hosts.
This project is a quantized fine-tuning framework for large language models. It implements a low-rank adaptation library and a four-bit quantizer to reduce the GPU memory requirements needed to train large models. The framework utilizes four-bit quantization and low-rank adapters to enable model training on consumer-grade hardware. It further reduces the memory footprint through double quantization and a paged optimizer that offloads states to system RAM. The system supports distributed training across multiple GPUs to handle larger parameter scales and includes utilities for custom dataset
Implements a system for managing parallelism across multiple GPUs to increase the scale of trainable parameters.
Petals is a decentralized framework and inference engine for running large language models across a peer-to-peer network. It enables the execution of models that exceed the memory of any single machine by splitting computations and model layers across a collaborative swarm of GPUs. The system functions as a collaborative compute network where participants share local GPU resources and host model weights. It supports distributed prompt-tuning to adapt massive models to specific tasks and allows for the establishment of private compute swarms to process sensitive data within restricted, trusted
Establishes a decentralized network of connected devices that collectively host model weights and execute inference.
cuDF is a GPU-accelerated dataframe library and data processing engine designed for manipulating and analyzing large tabular datasets. It provides a high-level API for executing filtering, joining, and aggregating operations directly on GPU hardware. The project integrates the Apache Arrow memory format to enable zero-copy data transfers and includes a just-in-time compiler for executing custom user-defined functions on the GPU. The library features specialized acceleration for existing workflows by redirecting standard Pandas dataframe calls and Polars query plans to a GPU backend. It also p
Integrates with Dask to scale tabular datasets across multiple GPU devices for memory-exceeding workloads.
TensorTrade is a reinforcement learning trading framework designed for training and deploying autonomous agents that optimize financial market strategies. It provides an algorithmic trading simulation environment where agents can be tested against market data using simulated broker environments. The framework features a distributed training system using RLlib to optimize decision policies across large datasets. It includes a walk-forward validation tool that evaluates trading strategies through windowed performance analysis to prevent overfitting and measure real-world viability. The project
Scales the optimization of trading policies across large datasets using RLlib for distributed training.
Ce projet est une implémentation PyTorch d'un transformeur texte-vers-image. C'est un modèle d'IA générative conçu pour mapper des jetons (tokens) de texte discrets vers des pixels d'image en utilisant un réseau transformeur pour créer du contenu visuel à partir de descriptions textuelles. Le système utilise un encodeur d'image VAE discret pour compresser les données visuelles en jetons pour le traitement par transformeur. Il prend en charge le guidage sans classificateur pour ajuster l'influence des prompts textuels pendant l'inférence et inclut des capacités pour classer les images générées en fonction de leur similarité avec les prompts textuels. L'architecture intègre des mécanismes d'attention creuse et des réseaux résiduels réversibles pour optimiser la complexité computationnelle et la consommation de mémoire. Les capacités d'entraînement incluent la mise à l'échelle GPU distribuée et des frameworks pour gérer des charges de travail à grande échelle sur plusieurs processeurs graphiques afin d'associer des images à des descriptions textuelles. L'implémentation fournit un support pour la tokenisation de texte personnalisée via l'intégration de tokeniseurs pré-entraînés ou de modèles de langage.
Employs distributed GPU computing strategies to maximize hardware utilization during the training of large vision models.
Ceci est une implémentation de deep learning PyTorch pour entraîner des modèles de langage basés sur des transformers. Il fonctionne comme un trainer GPU distribué et un framework conçu pour optimiser les modèles de prédiction de texte pour une vitesse accrue et une efficacité d'échantillonnage. Le projet se distingue par son utilisation de l'optimiseur de poids Newton-Schulz. Cette méthode applique un processus itératif pour maintenir des mises à jour de paramètres semi-orthogonales et des matrices de poids, ce qui améliore l'efficacité d'échantillonnage et réduit la surcharge mémoire pendant le processus d'entraînement. Le framework couvre de larges capacités en calcul GPU distribué, incluant le parallélisme de données pour mettre à l'échelle les charges de travail sur plusieurs processeurs graphiques. Il incorpore également des techniques d'optimisation de réseaux de neurones telles que l'optimisation itérative par momentum et le traitement par lots à haut débit.
Coordinates complex parallelism across multiple GPUs to maximize hardware utilization during deep learning workloads.
cuml est une bibliothèque et un framework de machine learning accéléré par GPU qui utilise CUDA pour accélérer le prétraitement des données tabulaires et l'exécution des modèles. Il fournit une suite d'outils pour entraîner et déployer des modèles de classification, de régression et de clustering sur des GPU NVIDIA et des clusters de GPU. La bibliothèque est conçue pour l'évolutivité, offrant un environnement de machine learning GPU distribué qui peut répartir le calcul et les données sur plusieurs accélérateurs matériels et nœuds pour gérer des ensembles de données dépassant la mémoire d'un seul appareil. Elle reflète les interfaces d'estimateur standard pour permettre le remplacement des modèles basés sur CPU par des versions accélérées par GPU au sein des flux de travail existants. Le projet couvre une large gamme de capacités de machine learning, y compris l'apprentissage supervisé, le clustering non supervisé, la recherche du plus proche voisin et la réduction de dimensionnalité de haute dimension. Il inclut également un prétraitement de données tabulaires accéléré par le matériel pour la mise à l'échelle et l'encodage des caractéristiques, l'extraction de caractéristiques de texte, l'analyse de séries temporelles et l'explicabilité des prédictions de modèle. Les utilitaires de support incluent des outils pour la génération d'ensembles de données synthétiques, la sérialisation de l'état du modèle et le calcul des métriques de performance du modèle.
Scales machine learning workloads across multiple GPUs and compute nodes to process datasets exceeding single-device memory.
TransformerLab est une plateforme d'orchestration MLOps et un environnement de recherche conçu pour l'entraînement, le fine-tuning et l'évaluation de grands modèles de langage. Il sert de plan de contrôle centralisé pour gérer les tâches d'apprentissage automatique et coordonner le calcul GPU distribué sur des fournisseurs cloud hybrides et sur site (on-premise). La plateforme se distingue par une optimisation de modèle pilotée par agent, utilisant des assistants IA pour analyser les métriques et proposer et mettre en file d'attente automatiquement des expériences d'hyperparamètres. Elle fournit un environnement de développement distant qui permet aux utilisateurs de lancer des notebooks interactifs, des éditeurs de code et des sessions SSH sécurisées directement sur des nœuds de calcul distants. Le système couvre un large éventail de capacités de flux de travail d'apprentissage automatique, incluant la coordination de tâches distribuées, les balayages d'hyperparamètres automatisés et le suivi complet des expériences. Il dispose de registres intégrés pour le versionnage des jeux de données et des artefacts de modèle, ainsi que d'outils pour l'évaluation des performances des modèles et le déploiement de serveurs d'inférence. Une interface en ligne de commande est fournie pour le contrôle de la plateforme, la surveillance des tâches et la gestion de l'installation et des mises à jour de l'instance serveur locale.
Coordinates training workloads and provisions ephemeral instances across multiple cloud and on-premise providers.
StableSwarmUI est une interface web et un orchestrateur backend pour la génération d'images Stable Diffusion. Il fonctionne comme un générateur d'images GPU distribué et un pipeline d'images IA modulaire, fournissant un contrôleur centralisé pour gérer les requêtes de génération d'images. Le système se distingue par sa capacité à diviser les tâches de génération sur plusieurs processeurs graphiques pour augmenter le débit par lots. Il utilise une interface agnostique au backend pour se connecter à des serveurs locaux, des serveurs distants et des API cloud, et inclut un concepteur de flux de travail visuel basé sur des graphes pour définir des opérations complexes de traitement d'image. La plateforme inclut un système d'extension de plugins dynamique pour ajouter des fonctionnalités personnalisées et des utilitaires automatisés pour le provisionnement des dépendances au niveau du système. Il combine des outils de génération modulaires et des interfaces d'édition rapides avec la capacité de router les charges de travail sur du matériel distribué.
Manages computational parallelism across multiple GPUs to maximize hardware utilization during image generation.
NCCL est une bibliothèque de communication haute performance et un framework de calcul GPU distribué conçu pour exécuter des échanges de données collectifs et point à point sur plusieurs GPU dans des systèmes à un ou plusieurs nœuds. Il sert de couche de transport GPU RDMA et d'orchestrateur de mémoire, facilitant la synchronisation à large bande passante des données et des gradients de modèle pour l'entraînement et l'inférence GPU distribués. La bibliothèque se distingue par sa capacité à exécuter des primitives de communication directement depuis les noyaux (kernels) GPU, supprimant le CPU hôte du chemin critique. Elle utilise une sélection de chemin consciente de la topologie pour optimiser le mouvement des données et emploie un transport réseau basé sur RDMA, incluant InfiniBand et NVLink, pour permettre un accès mémoire zéro-copie entre les appareils sur différents nœuds physiques. Le projet couvre un large éventail de modèles de communication collective, notamment les réductions, les diffusions (broadcasts), les rassemblements (gathers) et les échanges tous-à-tous, ainsi que l'accès mémoire distant point à point. Il fournit une gestion complète des communicateurs pour initialiser, partitionner et redimensionner les groupes GPU, ainsi qu'une gestion spécialisée de la mémoire pour enregistrer les tampons (buffers) et coordonner la mémoire partagée des appareils. Le système inclut une suite d'outils de surveillance et d'observabilité pour le suivi de la santé, la journalisation diagnostique et la surveillance des événements en temps réel, ainsi que des interfaces d'intégration pour les frameworks de machine learning, les graphes CUDA, MPI et Python.
A low-level communication layer that synchronizes data and manages device communicators for large-scale distributed training and inference.
Amazon DSSTNE is a machine learning toolkit and sparse tensor network library designed for deep learning models with sparse inputs and outputs. It provides a model-parallel training framework and a GPU-accelerated sparse engine to support memory-intensive networks. The framework is specifically designed for recommendation system training and large-scale sparse learning. It enables the distribution of large weight matrices and embedding tables across multiple GPU devices to handle models that exceed the memory capacity of a single processor. The project covers a broad range of capabilities in
Distributes training and prediction tasks across multiple GPUs to increase processing speed and memory capacity.
SLIME is a distributed reinforcement learning framework for large language model post-training that bridges Megatron training with SGLang inference servers. It orchestrates scalable RL loops across GPU clusters, decoupling training and inference into independent processes that communicate over HTTP and NCCL for independent scaling and fault tolerance. The system supports multi-agent reinforcement learning workflows with parallel agent instances, customizable rollout strategies, and personalized agent serving that improves models from prior conversations without disrupting API serving. The fra
A pipeline that decouples training and inference engines across GPU clusters to optimize throughput and memory for large-scale RL workloads.
CML est un outil d'automatisation de pipeline pour l'entraînement et l'évaluation de modèles d'apprentissage automatique, fonctionnant comme un système CI/CD pour l'apprentissage automatique. Il sert d'orchestrateur de calcul cloud et de gestionnaire de flux de travail basé sur Git qui automatise les cycles d'entraînement de modèles via la gestion de branches, les commits automatisés et le reporting intégré. Le projet se distingue par le provisionnement d'instances cloud éphémères ou de nœuds Kubernetes pour fournir du matériel spécialisé pour les tâches gourmandes en calcul. Il gère également des exécuteurs de calcul distants, permettant la connexion de clusters GPU auto-hébergés ou de machines sur site pour exécuter des flux de travail d'apprentissage automatique conteneurisés. Le système couvre un large éventail de capacités, incluant le suivi des expériences ML, où les métriques de performance et les visualisations sont publiées directement dans les pull requests de contrôle de version. Il gère l'automatisation du pipeline ML depuis l'importation initiale des données et le versionnage jusqu'à la génération de rapports de flux de travail formatés et de liens de visualisation externes. L'outil fournit une utilité supplémentaire pour la gestion de l'infrastructure via le débogage distant basé sur SSH et la capacité de reprendre les tâches interrompues.
Orchestrates the lifecycle of ephemeral compute instances across hybrid cloud and on-premise providers for ML workloads.
Acme is a reinforcement learning framework and execution engine designed for developing and benchmarking learning algorithms. It provides a library of modular components and reference implementations used to construct agents and establish performance baselines. The system enables the scaling of agent architectures from single-stream execution to large distributed environments. This allows for the transition from initial prototyping to distributed execution for training and evaluation. The framework covers reinforcement learning development and agent architecture prototyping, providing the bu
Acts as an execution engine for scaling reinforcement learning training and rollout generation across distributed GPU nodes.
IsaacGymEnvs is a GPU-accelerated physics sandbox and robotics policy training suite designed for reinforcement learning. It serves as a vectorized robotic simulator that runs thousands of parallel environments on GPUs to accelerate the training of neural networks. The project provides a sim-to-real transfer framework that utilizes domain randomization and physics variations to ensure policies trained in simulation are robust enough for deployment on real hardware. It distinguishes itself through a high-performance architecture that uses tensor-based state management to handle observations an
Scales reinforcement learning training loops and rollout generation across multiple GPU nodes to maximize throughput.
RLinf is a distributed reinforcement learning orchestrator and embodied AI training framework. It provides the infrastructure to train vision-language-action models and robotic policies using a combination of reinforcement learning and supervised fine-tuning. The system is designed for scaling workloads across GPU clusters, managing the placement of actors, rollout workers, and environment components. It features a specialized robotics data collection pipeline for gathering teleoperated demonstrations and simulation trajectories into standardized replay buffers, alongside a hardware interface
Scales reinforcement learning workloads across GPU clusters by managing worker placement and asynchronous data exchange.