# US 2018/0025270 A1 · Generating sets of training programs for machine learning models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0025270 A1
- Document ID: US20180025270A1
- Status: Published application
- Kind: A1
- Application number: 15/631,682
- Filed: 2017-06-23
- Published: 2018-01-25
- Earliest claimed: 2016-07-22
- Assignees: Board of Regents, The University of Texas System
- Applicants: Board of Regents, The University of Texas System
- Inventors: Lizy Kurian John; Reena Panda; Xinnian Zheng; Andreas Gerstlauer
- Web page: https://patentgrep.com/patent/US20180025270A1

## CPC

- G06N 20/00: Machine learning
- G06N 3/049: Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
- G06N 3/09: Supervised learning
- G06F 16/3346: {using probabilistic model}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, system and computer program product for generating sets of training programs for machine learning models. Fixed values of one or more workload metrics are received from a user, where the workload metrics correspond to low-level program features which define particular low-level application behavior. A profile using the fixed values of the workload metrics is then created. A suite of synthetic applications is generated using the created profile to form a set of training programs which target particular aspects of program behavior. A machine learning model is then trained using the set of training programs. Since the generated synthetic applications provide a broader coverage of the program state-space, the formed set of training programs more accurately targets performance behavior thereby improving the prediction accuracy of the machine learning based predictive models.

## Claims

### Claim 1

A method for generating sets of training programs for machine learning models, the method comprising:
receiving fixed values of a first set of one or more workload metrics from a user and/or generating random values of a second set of one or more workload metrics within a bounded range, wherein said workload metrics correspond to low-level program features which define particular low-level application behavior;
creating, by a processor, a profile using said fixed values of said first set of one or more workload metrics and/or using said random values of said second set of one or more workload metrics; and
generating, by said processor, a suite of synthetic applications using said created profile to form a set of training programs which target particular aspects of program behavior.

### Claim 2 (depends on 1)

The method as recited in claim 1 further comprising:
training a machine learning model using said set of training programs.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein said first set of one or more workload metrics contains different metrics than said second set of one or more workload metrics.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein said fixed values of said first set of one or more workload metrics are received from said user via a user-controllable knob.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein characteristics of said workload metrics comprise one or more of the following: instruction-level characteristics, control-flow characteristics, memory-access characteristics and input/output characteristics.

### Claim 6 (depends on 5)

The method as recited in claim 5, wherein said instruction-level characteristics comprise one or more of the following: instruction mix, instruction count, instruction cache miss rate and instruction level parallelism.

### Claim 7 (depends on 5)

The method as recited in claim 5, wherein said control-flow characteristics comprise one or more of the following: average basic block size, branch transition rate and branch misprediction rate.

### Claim 8 (depends on 5)

The method as recited in claim 5, wherein said memory-access characteristics comprise one or more of the following: data footprint, memory access regularity/irregularity, spatial locality stride bins, temporal locality bins and L1/L2 data cache miss rates.

### Claim 9

A computer program product for generating sets of training programs for machine learning models, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code comprising the programming instructions for:
receiving fixed values of a first set of one or more workload metrics from a user and/or generating random values of a second set of one or more workload metrics within a bounded range, wherein said workload metrics correspond to low-level program features which define particular low-level application behavior;
creating a profile using said fixed values of said first set of one or more workload metrics and/or using said random values of said second set of one or more workload metrics; and
generating a suite of synthetic applications using said created profile to form a set of training programs which target particular aspects of program behavior.

### Claim 10 (depends on 9)

The computer program product as recited in claim 9, wherein the program code further comprises the programming instructions for:
training a machine learning model using said set of training programs.

### Claim 11 (depends on 9)

The computer program product as recited in claim 9, wherein said first set of one or more workload metrics contains different metrics than said second set of one or more workload metrics.

### Claim 12 (depends on 9)

The computer program product as recited in claim 9, wherein said fixed values of said first set of one or more workload metrics are received from said user via a user-controllable knob.

### Claim 13 (depends on 9)

The computer program product as recited in claim 9, wherein characteristics of said workload metrics comprise one or more of the following: instruction-level characteristics, control-flow characteristics, memory-access characteristics and input/output characteristics.

### Claim 14 (depends on 13)

The computer program product as recited in claim 13, wherein said instruction-level characteristics comprise one or more of the following: instruction mix, instruction count, instruction cache miss rate and instruction level parallelism.

### Claim 15 (depends on 13)

The computer program product as recited in claim 13, wherein said control-flow characteristics comprise one or more of the following: average basic block size, branch transition rate and branch misprediction rate.

### Claim 16 (depends on 13)

The computer program product as recited in claim 13, wherein said memory-access characteristics comprise one or more of the following: data footprint, memory access regularity/irregularity, spatial locality stride bins, temporal locality bins and L1/L2 data cache miss rates.

### Claim 17

A system, comprising:
a memory unit for storing a computer program for generating sets of training programs for machine learning models; and
a processor coupled to the memory unit, wherein the processor is configured to execute the program instructions of the computer program comprising:
receiving fixed values of a first set of one or more workload metrics from a user and/or generating random values of a second set of one or more workload metrics within a bounded range, wherein said workload metrics correspond to low-level program features which define particular low-level application behavior;
creating a profile using said fixed values of said first set of one or more workload metrics and/or using said random values of said second set of one or more workload metrics; and
generating a suite of synthetic applications using said created profile to form a set of training programs which target particular aspects of program behavior.

### Claim 18 (depends on 17)

The system as recited in claim 17, wherein the program instructions of the computer program further comprise:
training a machine learning model using said set of training programs.

### Claim 19 (depends on 17)

The system as recited in claim 17, wherein said first set of one or more workload metrics contains different metrics than said second set of one or more workload metrics.

### Claim 20 (depends on 17)

The system as recited in claim 17, wherein said fixed values of said first set of one or more workload metrics are received from said user via a user-controllable knob.
