FPGA Data Masking Circuit for Low-Bandwidth Transformer Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing accelerator designs for machine learning models, such as FPGAs, face challenges with memory storage overhead, memory bandwidth overhead, and arithmetic overhead during data masking operations, particularly in autoregressive transformer models, leading to increased energy consumption and reduced throughput.

Innovation Solution

Implementing a data masking circuit on an FPGA that generates masks on-device without floating-point arithmetic, using multiplexers to apply masks and optionally receiving external masks, thereby reducing memory and bandwidth overhead and computational load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data masking is performed using existing accelerator designs with floating-point arithmetic, then masking functionality is achieved, but memory storage overhead and memory bandwidth overhead increase

Engineering Contradiction:
Improvemasking functionalityVSAvoidmemory storage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the masking operation from traditional floating-point arithmetic units and implements it as a dedicated data masking circuit that operates directly on tensor data. This circuit generates mask values and applies them through selective addition operations, eliminating the need for separate mask storage and reducing memory bandwidth requirements by performing masking in-place during tensor processing.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If data masking is performed using existing accelerator designs with floating-point arithmetic, then masking functionality is achieved, but arithmetic overhead increases

Engineering Contradiction:
Improvemasking functionalityVSAvoidarithmetic overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the masking operation with the tensor processing pipeline by integrating a data masking circuit that operates concurrently with existing arithmetic units. The circuit generates mask values and applies them through selective addition, combining multiple operations into a unified hardware structure that reduces overall arithmetic overhead and eliminates separate masking computation stages.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If data masking operations are performed with high computational load, then masking accuracy is maintained, but energy consumption increases

Engineering Contradiction:
Improvemasking accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent replaces complex floating-point arithmetic operations with a specialized data masking circuit that uses simpler integer-based mask generation and selective addition. This substitution maintains masking accuracy by preserving the binary mask structure while reducing computational complexity and energy consumption through optimized hardware logic that operates directly on tensor data without requiring full floating-point processing units.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20250378038A1Systems and methods for hardware acceleration of data masking
Publication Date: 2025.12.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250378038A1 patent drawing
  • US20250378038A1 patent drawing
  • US20250378038A1 patent drawing

AI summary

A field programmable gate array (FPGA) including a configurable interconnect fabric connecting a plurality of logic blocks, the configurable interconnect fabric and the logic blocks being configured to implement a data masking circuit configured to: receive input data including data values at a plurality of indices of the input data; select between a data value of the data values and an alternative value using a masking multiplexer to generate masked data, the masking multiplexer being controlled by a mask value of a plurality of mask values at indices corresponding to the indices of the input data; and output the masked data. In some examples, the configurable interconnect fabric and the logic blocks are further configured to implement a mask generation circuit configured to generate the mask values. In some examples, the mask values are received from external memory.