Asynchronous Distributed Training System for Deep Neural Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional synchronous distributed training methods for deep learning models face significant synchronization overhead, especially in heterogeneous environments with varying worker speeds, leading to performance degradation and resource inefficiency, particularly in large-scale data processing.
Innovation Solution
An asynchronous and distributed training system is implemented, where a work queue is created with predefined tasks, and resources are allocated to process these tasks asynchronously using CPUs and GPUs, decoupling data pre-processing and model training to optimize resource utilization and reduce synchronization barriers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If synchronous distributed training is used, then model accuracy is maintained, but synchronization overhead increases and training performance degrades
Solution Approach 1:
The training system is segmented into multiple independent workers that can operate asynchronously. Each worker processes training data independently without requiring synchronization with other workers, eliminating the synchronization overhead while maintaining model accuracy through periodic model updates.
Solution Approach 2:
Model updates are prepared in advance and distributed to workers before they are needed. The chief worker pre-computes model parameters and makes them available to worker processes, allowing workers to proceed with training without waiting for synchronization, thus reducing training time while maintaining accuracy.
2Productivity
If number of workers is increased to reduce synchronization overhead, then training performance improves, but resource requirements increase
Solution Approach 1:
The system maintains continuous training operations by having multiple workers process data continuously without idle waiting time. Each worker continuously processes batches of training data, ensuring maximum utilization of computational resources and maintaining high training performance without requiring excessive resources.
Solution Approach 2:
Worker processes are designed to be self-sufficient, independently fetching training data, performing local gradient computations, and submitting updates without requiring continuous coordination with other workers. This self-service capability allows the system to scale to more workers without proportionally increasing communication and coordination overhead.
3Speed
If asynchronous training is used, then training speed increases, but model accuracy degrades due to differences among local models
Solution Approach 1:
The system implements feedback mechanisms where workers periodically submit their local model updates to the chief worker, which aggregates these updates and redistributes improved model parameters. This feedback loop ensures that asynchronous workers remain aligned with the global model state, maintaining accuracy while allowing asynchronous operation for speed.
Solution Approach 2:
Local model updates from multiple asynchronous workers are merged and aggregated by the chief worker to create an improved global model. This merging process combines the benefits of parallel asynchronous processing while maintaining model accuracy through collective learning from all workers' contributions.
Data Source
AI summary
This disclosure relates generally relates to method and system to process asynchronous and distributed training tasks. Training a large-scale deep neural network (DNN) model with large-scale training data is time-consuming. The method creates a work queue (Q) with a set of predefined number of tasks comprising a training data. Here, set of central processing units (CPUs) information and a set of graphics processing units (GPUs) information are fetched from the current environment to initiate a parallel process asynchronously on the work queue (Q) to train a set of deep learning models with optimized resources using a data pre-processing technique, to compute a transformed training data and training by using an asynchronous model training technique, the set of deep learning models on each GPU asynchronously with the transformed training data based on a set of asynchronous model parameters.


