Dynamic Mini-Batch Size Optimization for Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Training tasks with large-scale data often face reduced operating efficiency due to a lack of consideration for the tradeoff between computation speed and system constraints in neural networks, leading to suboptimal performance in areas like computer vision, speech recognition, and machine translation.

Innovation Solution

A training task optimization system that calculates a memory distribution based on memory factors, training samples, and neural networks to determine an optimal mini-batch size, balancing memory usage and computation efficiency, and outputs this size for execution to enhance training task performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a training task with large-scale data is performed without considering tradeoff between computation speed and system constraints, then the training task can be executed, but the operating efficiency of training tasks is reduced

Engineering Contradiction:
Improveoperating efficiencyVSAvoidsystem constraints
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the mini-batch size parameter based on memory distribution calculations that consider system constraints. By changing this key parameter adaptively rather than using fixed values, the system optimizes the balance between computation speed and memory usage, directly improving operating efficiency while respecting system constraints

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a dynamic optimization approach where the mini-batch size is not fixed but determined through real-time calculation of memory distribution. The system continuously adapts the training parameters based on current system state and constraints, transforming a static configuration problem into a dynamic optimization process that improves efficiency

Inventive Principle:
Principle #15Dynamics

2Speed

If a larger mini-batch size is used to improve computation efficiency, then training speed increases, but memory usage increases

Engineering Contradiction:
Improvecomputation speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system calculates optimal mini-batch size by analyzing memory distribution across the system. This parameter adjustment ensures that larger mini-batches are used only when memory resources are sufficient, while smaller batches are used when memory is constrained, thus optimizing the speed-memory tradeoff dynamically

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Before executing the training task, the system performs preliminary calculation of memory distribution to determine the appropriate mini-batch size. This advance planning ensures that the chosen batch size will fit within available memory resources while maximizing computation efficiency, preventing memory overflow and optimizing performance from the start

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11144828B2Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
Publication Date: 2021.10.12 HTC CORP
  • US11144828B2 patent drawing
  • US11144828B2 patent drawing
  • US11144828B2 patent drawing

AI summary

A training task optimization system includes a processor. The processor is configured to receive training environment information of a training task. The training environment information at least carries information corresponding to training samples in the training task. The processor is configured to calculate a memory distribution for the training task based on memory factors, the training samples and a neural network, and select a mini-batch size that is fit to the memory distribution. In response to the training environment information, the processor is configured to output the mini-batch size for execution of the training task.