Linear Memory Attention System for O(1) Memory Complexity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current attention systems in neural architectures, particularly transformers, face challenges with high memory requirements due to their O(n^2) complexity, which is problematic for implementation on modern accelerators with constrained memory.

Innovation Solution

The proposed method iteratively computes partial attention components for each token, summarizing parts of the attention matrix sequentially to reduce memory requirements, achieving O(1) memory complexity for attention operations and O(√n) or O(log n) complexity for self-attention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If standard transformer attention is used, then computational accuracy is maintained, but memory requirements increase to O(n^2)

Engineering Contradiction:
Improvecomputational accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The attention computation is segmented into iterative steps where only a subset of key-value pairs are processed at each iteration. The attention matrix is computed in chunks rather than all at once, allowing memory to be reused across iterations. This segmentation reduces peak memory requirements from O(n^2) to O(n) while maintaining computational accuracy through cumulative summation of attention components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method performs preliminary computation of attention components in iterative steps, accumulating results progressively. By preparing and storing only the necessary intermediate attention components rather than the complete attention matrix, the system reduces memory footprint while preserving the ability to compute the final attention weights accurately.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If memory constraints are imposed, then hardware feasibility improves, but sequence processing capability deteriorates

Engineering Contradiction:
Improvehardware feasibilityVSAvoidsequence processing capability
Core Design Contradiction:
Ease of manufactureVSLength of moving object

Solution Approach 1:

The attention computation transitions from a static, all-at-once approach to a dynamic iterative process. The system dynamically loads and processes key-value pairs in iterations, adapting memory access patterns to fit constrained hardware while handling sequences of arbitrary length. This dynamic approach enables processing of longer sequences without requiring proportional increases in memory capacity.

Inventive Principle:
Principle #15Dynamics

3Volume of stationary object

If iterative computation with memory summarization is used, then memory complexity reduces to O(1), but computational iterations increase

Engineering Contradiction:
Improvememory complexityVSAvoidcomputational iterations
Core Design Contradiction:
Volume of stationary objectVSProductivity

Solution Approach 1:

The iterative computation maintains continuous accumulation of attention components through each iteration. Rather than completing full attention computations independently, the system continuously updates and refines attention components across iterations, reusing memory space for cumulative calculations. This continuous action reduces memory complexity while the iterative nature is optimized through efficient memory reuse patterns.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250045349A1Linear memory attention system and methods
Publication Date: 2025.02.06 GOOGLE LLC
  • US20250045349A1 patent drawing
  • US20250045349A1 patent drawing
  • US20250045349A1 patent drawing

AI summary

A linear memory attention system and method implements an iterative process to compute attention by first computing partial first and partial second attention components for a token for each iteration. From these partial first and partial second attention components for each iteration, respective first and second attention components are then determined. On the final iteration for the token, attention for the token is computed by dividing the second attention component by the first attention component. In an implementation, a normalization scaler is used to ensure numerical stability. In an implementation, parallelism is achieved by splitting queries into chunks of constant size and processing the keys and values of the chunks. The use of checkpointing facilitates a more efficient use of memory and allows for recomputation during backpropagation.