# US 12,762,035 B2 · Synthetic data generation utilizing generative artificial intelligence and scalable data generation tools

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

- Number: US 12,762,035 B2
- Document ID: US12762035B2
- Status: Granted
- Kind: B2
- Application number: 18/417,954
- Filed: 2024-01-19
- Published: 2025-07-24
- Granted: 2026-10-13
- Earliest claimed: 2024-01-19
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Richin Jain; Juliana Shihadeh; Ramasubramanian Ramani; Keshava Sastry Pokkuluri
- Web page: https://patentgrep.com/patent/US12762035B2

## CPC

- G06F 11/3428: {Benchmarking}
- G06F 40/35: Discourse or dialogue representation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, devices, and computer readable storage media described herein provide techniques for generating synthetic data utilizing generative artificial intelligence (AI) models and scalable data generation tools (SDGTs). A prompt comprising a domain is provided to an AI model. A parameter associated with the domain that specifies a boundary for synthetic values in a column of data is received from the AI model. An argument comprising the parameter is provided to an SDGT to generate scaled data based on the parameter. The scaled data comprises a column of synthetic values wherein each synthetic value is within the boundary specified by the parameter. In an aspect, an emulated workload is caused to utilize synthetic data comprising the scaled data to generate a performance benchmark. In a further aspect, a lightweight model is trained to generate synthetic sentences based on training data generated by the generative AI model based on the prompt.

## Claims

### Claim 1

A system for generating synthetic data for use in performance benchmarking, comprising:
a processor circuit; and
a memory device that stores program code to be executed by the processor circuit, the program code comprising:
a synthetic data generator configured to:
provide a prompt comprising a domain to a large language model (LLM);
receive, from the LLM, a data parameter associated with the domain that specifies a boundary for synthetic values in a column of data;
provide an argument comprising the data parameter to a scalable data generation tool configured to generate data based on the data parameter;
receive, from the scalable data generation tool, scaled data comprising a column of synthetic data values, each synthetic data value within the boundary specified by the data parameter; and
cause an emulated workload to utilize synthetic data comprising the scaled data to generate a performance benchmark for the domain.

### Claim 2 (depends on 1)

The system of claim 1, wherein the data parameter is a range data parameter that specifies a first range subset and a second range subset; and
wherein the argument provided to the scalable data generation tool causes the scalable data generation tool to select a value within the first range subset and a value within the second range subset to generate the scaled data.

### Claim 3 (depends on 1)

The system of claim 1, wherein the data parameter specifies a categorical list of elements; and
wherein the argument provided to the scalable data generation tool causes the scalable data generation tool to select an element from the list of elements to generate the scaled data.

### Claim 4 (depends on 1)

The system of claim 1, wherein the synthetic data comprises synthetic sentence data.

### Claim 5 (depends on 4)

The system of claim 4, wherein the synthetic data generator is further configured to:
responsive to the prompt provided to the LLM, receive training data generated by the LLM based on the prompt;
train a lightweight model to generate synthetic sentences based on the received training data;
receive, from the lightweight model, the synthetic sentence data; and
append the synthetic sentence data to the scaled data to generate the synthetic data.

### Claim 6 (depends on 1)

The system of claim 1, wherein the synthetic data generator is further configured to:
receive a schema file comprising metadata associated with the domain; and
generate the prompt based on the schema file.

### Claim 7 (depends on 1)

The system of claim 1, wherein the scalable data generation tool is a non-artificial-intelligence scalable data generation tool.

### Claim 8

A method for generating synthetic data comprising:
providing a prompt comprising a domain to a large language model (LLM);
receiving, from the LLM, a data parameter associated with the domain that specifies a boundary for synthetic values in a column of data;
providing an argument comprising the data parameter to a scalable data generation tool configured to generate data based on the data parameter;
receiving, from the scalable data generation tool, scaled data comprising a column of synthetic data values, each synthetic data value within the boundary specified by the data parameter; and
causing an emulated workload to utilize synthetic data comprising the scaled data to generate a performance benchmark for the domain.

### Claim 9 (depends on 8)

The method of claim 8, wherein the data parameter is a range data parameter that specifies a first range subset and a second range subset; and
wherein said providing the argument to the scalable data generation tool causes the scalable data generation tool to select a value within the first range subset and a value within the second range subset to generate the scaled data.

### Claim 10 (depends on 8)

The method of claim 8, wherein the data parameter comprises a categorical list of elements;
wherein said providing the argument to the scalable data generation tool causes the scalable data generation tool to select an element from the list of elements to generate the scaled data.

### Claim 11 (depends on 8)

The method of claim 8, wherein the synthetic data comprises synthetic sentence data.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
responsive to said providing the prompt to the LLM, receiving training data generated by the LLM based on the prompt;
training a lightweight model to generate synthetic sentences based on the received training data;
receiving, from the lightweight model, the synthetic sentence data; and
appending the synthetic sentence data to the scaled data to generate the synthetic data.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
receiving a schema file comprising metadata associated with the domain; and
generating the prompt based on the schema file.

### Claim 14 (depends on 8)

The method of claim 8, wherein the scalable data generation tool is a non-artificial-intelligence scalable data generation tool.

### Claim 15

A non-transitory computer-readable storage medium encoded with program instructions that, when executed by a processor circuit, perform a method comprising:
providing a prompt comprising a domain to a large language model (LLM);
receiving, from the LLM, a data parameter associated with the domain that specifies a boundary for synthetic values in a column of data;
providing an argument comprising the data parameter to a scalable data generation tool configured to generate data based on the data parameter;
receiving, from the scalable data generation tool, scaled data comprising a column of synthetic values, each synthetic data value within the boundary specified by the data parameter; and
causing an emulated workload to utilize synthetic data comprising the scaled data to generate a performance benchmark for the domain.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the data parameter is a range data parameter that specifies a first range subset and a second range subset; and
wherein said providing the argument to the scalable data generation tool causes the scalable data generation tool to select a value within the first range subset and a value within the second range subset to generate the scaled data.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the data parameter comprises a categorical list of elements;
wherein said providing the argument to the scalable data generation tool causes the scalable data generation tool to select an element from the list of elements to generate the scaled data.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the synthetic data comprises synthetic sentence data.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the method further comprises:
responsive to said providing the prompt to the LLM, receiving training data generated by the LLM based on the prompt;
training a lightweight model to generate synthetic sentences based on the received training data;
receiving, from the lightweight model, the synthetic sentence data; and
appending the synthetic sentence data to the scaled data to generate the synthetic data.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the method further comprises:
receiving a schema file comprising metadata associated with the domain; and
generating the prompt based on the schema file.
