Language Model for Automated Microbenchmark Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing effective microbenchmarks for performance testing of processing circuitry within electronic systems is challenging due to the need for specific technical understanding of internal functioning and the large number of microbenchmarks required, making manual generation time-consuming and inefficient.

Innovation Solution

A computer-implemented method using a language model trained on annotated code portions to generate software code for testing specific processing circuitry, allowing for automated microbenchmark generation tailored to specific microarchitectures, including multiple stages of training and fine-tuning with specific hardware characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual design of microbenchmarks is performed by experts, then the quality and accuracy of performance testing is improved, but the time and effort required to generate microbenchmarks increases significantly

Engineering Contradiction:
Improveperformance testing accuracyVSAvoidmicrobenchmark generation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the manual mechanical process of expert microbenchmark design with an automated language model-based system. The language model is trained on annotated microbenchmark data and can automatically generate high-quality microbenchmarks without requiring expert human intervention, thus maintaining measurement precision while dramatically reducing generation time

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

Solution Approach 2:

The system enables self-service by allowing the language model to autonomously generate microbenchmarks based on natural language prompts. The model learns from annotated training data and can independently produce accurate microbenchmarks for specific processing circuitry without requiring continuous expert oversight or manual design processes

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If the number of microbenchmarks is increased to cover all processing components, then the comprehensiveness of performance testing is improved, but the complexity of microbenchmark design and management increases

Engineering Contradiction:
Improvetesting coverageVSAvoidmicrobenchmark design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The language model serves as a universal generator that can produce microbenchmarks for various types of processing circuitry (CPUs, GPUs, FPGAs, neural network accelerators) using the same underlying technology. A single trained model can adapt to different hardware architectures and generate appropriate microbenchmarks, eliminating the need for separate design processes for each component type

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

Solution Approach 2:

The system handles complexity by changing parameters dynamically - the language model adjusts its output based on input prompts specifying different processing circuitry types, architectures, and testing requirements. This allows comprehensive coverage of multiple components while maintaining manageable complexity through parameterized generation rather than fixed design templates

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240330162A1Language models for automatic microbenchmark generation
Publication Date: 2024.10.03 COLLINS AEROSPACE IRELAND LTD
  • US20240330162A1 patent drawing
  • US20240330162A1 patent drawing
  • US20240330162A1 patent drawing

AI summary

Disclosed is a method of training a language model to generate “microbenchmarks” in which the training data is specifically associated with certain microarchitecture characteristics that the “microbenchmarks” are designed for testing. Also disclosed are language models that have been trained in this manner, and the corresponding use thereof to generate “microbenchmarks”.