Parallel AI Inference via Segmented Systolic and Self-Attention Circuits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large systolic arrays are inefficient for AI operations that require data from previous tokens, such as self-attention operations, due to memory and processing limitations, while they excel in operations like matrix multiplication.

Innovation Solution

An integrated circuit (IC) with a systolic array for operations not using previous data sequences and a self-attention circuit for operations using previous data sequences, allowing parallel execution to improve throughput by processing independent tokens simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large systolic array is used for AI operations, then operations like matrix multiplication can be performed very efficiently, but operations requiring data from previous tokens (such as self-attention) cannot be performed efficiently due to memory and processing limitations

Engineering Contradiction:
ImprovethroughputVSAvoidoperational flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The AI processing system is segmented into two distinct circuits: a systolic array for operations not requiring previous token data (e.g., matrix multiplication), and a self-attention circuit for operations requiring previous token data. This segmentation allows each circuit to be optimized for its specific function, resolving the contradiction between high throughput for certain operations and adaptability for others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The integrated circuit achieves multi-functionality by combining two specialized circuits that can handle different types of AI operations. The systolic array handles compute-intensive operations while the self-attention circuit handles operations requiring contextual memory, together providing universal processing capability for various AI model operations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a systolic array is used for self-attention operations, then memory and processing limitations are exceeded, but if not used, then operational efficiency is reduced

Engineering Contradiction:
Improveoperational efficiencyVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The self-attention functionality is extracted from the systolic array and implemented as a separate dedicated circuit. This extraction allows the systolic array to focus on operations it performs efficiently (matrix multiplications) while the self-attention circuit handles operations requiring contextual memory, preventing memory and processing limitations from being exceeded.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If parallel execution is implemented, then throughput is improved by processing independent tokens simultaneously, but device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidcircuit architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Two specialized circuits (systolic array and self-attention circuit) are merged into a single integrated circuit device. This merging enables parallel execution of different operation types, improving throughput while containing the complexity increase within a unified hardware architecture rather than requiring separate systems.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240419516A1Parallel execution of self-attention-based ai models
Publication Date: 2024.12.19 ETCHED AI INC
  • US20240419516A1 patent drawing
  • US20240419516A1 patent drawing
  • US20240419516A1 patent drawing

AI summary

Embodiments herein describe an artificial intelligence (AI) hardware platform that includes at least one integrated circuit (IC) with a systolic array and a self-attention circuit. In one example, the systolic array performs operations in a layer of an AI model that do not use data from previous tokens or data sequences processed by the IC, while the self-attention circuit performs operations in the layer of the AI model that do use data from previous tokens or data sequences processed by the IC.