IP Library Granted Patent US 12,657,461
Granted Patent B2
US 12,657,461 · App. 18/776,709 · Granted Jun 16, 2026

Collaborative development of machine learning models on specific concepts

Inventors: Fereshte Khani (San Francisco, CA); Marco Tulio Correia Ribeiro (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06N3/08G06F40/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,657,461
App. No.
18/776,709
Filed
Jul 18, 2024
Granted
Jun 16, 2026
Kind
B2
Art Unit
2655
USPC
704/9
Abstract

A system and method and for collaboratively developing one or more concepts in a machine-learning (ML) model includes receiving a set of user generated data points and training a local ML model based on the user generated data points. A first prompt is generated based on the set of user generated data points and transmitted to a large language model (LLM) to prompt the LLM to automatically generate synthetic training data for training the ML model on the concept. Some of the data points in the synthetic training data are labeled to generate a set of labeled synthetic training data and the local ML model and the ML model are updated based on the set of labeled synthetic training data. A second prompt is then generated, based on the set of labeled synthetic training data and transmitted to the LLM to prompt the LLM to automatically generate an updated set of synthetic training data. The process of labeling the synthetic training data to generate a set of updated labeled training data, updating the local ML model and the ML model based on the set of updated labeled training data; generating another prompt based on the updated labeled training data, transmitting the second prompt to the LLM and receiving from the LLM another updated set of synthetic training data is repeated until the ML model no longer disagrees with the local model with respect to the concept.

Claims (51)

1 . A data processing system comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the data processing system to perform functions of:

receiving a set of user generated data points for developing a concept in a machine-learning (ML) model, wherein the concept comprises a desirable model behavior for a given set of inputs;

creating a local ML model for the concept, based on the set of user generated data points;

generating a first prompt, based on the set of user generated data points, for submission as input to a large language model (LLM) to prompt the LLM to automatically generate synthetic training data for training the ML model on the concept;

transmitting the first prompt to the LLM and receiving from the LLM the synthetic training data;

providing the synthetic training data for labeling at least some of the synthetic training data to generate a set of labeled synthetic training data;

training the local ML model and the ML model based on the set of labeled synthetic training data;

generating a second prompt, based on the set of labeled synthetic training data, for transmission as input to the LLM to prompt the LLM to automatically generate a set of updated synthetic training data;

transmitting the second prompt to the LLM and receiving from the LLM the set of updated synthetic training data; and

repeating a process of providing the set of updated synthetic training data for labeling at least some of the set of updated synthetic training data to generate a set of labeled updated synthetic training data, updating the local ML model and the ML model based on the set of labeled updated synthetic training data, generating another prompt based on the set of labeled updated synthetic training data, transmitting the another prompt to the LLM and receiving from the LLM another set of updated synthetic training data until when the another set of updated synthetic training data is provided to the ML model and local ML model as input and an output of the ML model no longer disagrees with an output of the local ML model.

2 . The data processing system of claim 1 , wherein the LLM is a generative pretrained transformer.

3 . The data processing system of claim 1 , wherein the ML model is a natural language processing model.

4 . The data processing system of claim 1 , wherein the at least some of the synthetic training data is selected from data points where the output of the local ML model and the ML model disagree.

5 . The data processing system of claim 1 , wherein the instructions, when executed by the processor further cause the data processing system to perform functions of:

measuring a disagreement between the local ML model and the ML model;

selecting the at least some of the synthetic training data and the at least some of the updated set of synthetic training data, based on the measured disagreement between the local ML model and the ML model.

6 . The data processing system of claim 1 , wherein at least one of the first prompt or the second prompt is generated by a prompt generating engine.

7 . The data processing system of claim 1 , wherein labeling the synthetic training data includes determining whether a data point in the synthetic training data is related to the concept and labeling one or more of the data points that are determined to be related to the concept with a correct label for the ML model.

8 . The data processing system of claim 1 , wherein to determine when the output of the ML model no longer disagrees with the output of the local ML model, the set of labeled updated synthetic training data is provided as input to the ML model and the local ML model and the output of the ML model is compared to the output of local ML model.

9 . A method for training a machine-learning (ML) model to provide specific predictions for a given set of inputs comprising:

receiving a set of user generated data points for developing the ML model to provide the specific predictions for the given set of inputs;

training a local ML model for providing the specific predictions for the given set of inputs based on the set of user generated data points, the ML model being a trained global ML model and the local ML model being a smaller ML model than the global ML model;

generating a first prompt, using a prompt generating engine, based on the set of user generated data points, for submission as input to a large language model (LLM) to prompt the LLM to automatically generate synthetic training data for training the ML model on the given set of inputs;

transmitting the first prompt to the LLM and receiving from the LLM the synthetic training data;

labeling at least some of the synthetic training data to generate a set of labeled synthetic training data;

updating the local ML model and the ML model based on the set of labeled synthetic training data;

generating a second prompt, based on the set of labeled synthetic training data, for transmission as input to the LLM to prompt the LLM to automatically generate a set of updated synthetic training data;

transmitting the second prompt to the LLM and receiving from the LLM the set of updated synthetic training data; and

repeating a process labeling at least some of the set of updated synthetic training data to generate a set of labeled updated training data, updating the local ML model and the ML model based on the set of labeled updated training data, generating another prompt based on the labeled updated training data, transmitting the another prompt to the LLM and receiving from the LLM another updated set of synthetic training data until the global ML model no longer disagrees with the local ML model with respect to the set of user generated data points.

10 . The method of claim 9 , wherein the LLM is a GPT-3 model that generates data based on the first or the second prompt.

11 . The method of claim 9 , wherein the ML model is a natural language processing model which is trained with a large corpus of data.

12 . The method of claim 9 , wherein the ML model is updated such that interference with previously developed local models and an original dataset on which the ML model was trained is reduced.

13 . The method of claim 9 , wherein the at least some of the synthetic training data is selected from data points where an output of the local ML model and the ML model disagree.

14 . The method of claim 9 , wherein labeling the at least some of the synthetic training data includes determining whether a data point in the synthetic training data is related to the specific predictions and labeling one or more of the data points that are determined to be related to the specific predictions with a correct label for the ML model.

15 . The method of claim 9 , wherein the labeling is done by one or more users.

16 . The method of claim 9 , wherein to determine when the ML model no longer disagrees with the local ML model with respect to the set of user generated data points, the updated set of synthetic training data is provided as input to the ML model and the local ML model and an output of the ML model is compared to an output of the local ML model.

17 . A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to perform functions of:

receiving a set of user generated data points for developing a concept in a machine-learning (ML) model, wherein the concept comprises a desirable model behavior for a given set of inputs;

creating a local ML model for the concept, based on the set of user generated data points;

generating a first prompt, based on the set of user generated data points, for submission as an input to a large language model (LLM) to prompt the LLM to automatically generate synthetic training data for training the ML model on the concept;

transmitting the first prompt to the LLM and receiving from the LLM the synthetic training data;

providing the synthetic training data for labeling at least some of the synthetic training data to generate a set of labeled synthetic training data;

training the local ML model and the ML model based on the set of labeled synthetic training data;

generating a second prompt, based on the set of labeled synthetic training data, for transmission as input to the LLM to prompt the LLM to automatically generate a set of updated synthetic training data;

transmitting the second prompt to the LLM and receiving from the LLM the set of updated synthetic training data; and

repeating a process of providing the set of updated synthetic training data to the user for labeling at least some of the set of updated synthetic training data to generate a set of labeled updated synthetic training data, updating the local ML model and the ML model based on the set of labeled updated synthetic training data, generating another prompt, based on the set of labeled updated synthetic training data, transmitting the another prompt to the LLM and receiving from the LLM another set of updated synthetic training data until when the another set of updated synthetic training data is provided to the ML model and local ML model as an input and an output of the ML model no longer disagrees with an output of the local ML model.

18 . The non-transitory computer readable medium of claim 17 , wherein the at least some of the synthetic training data is selected from data points where the output of the local ML model and the output of the ML model disagree.

19 . The non-transitory computer readable medium of claim 17 , wherein to determine when the output of the ML model no longer disagrees with the output of the local ML model, the set of updated synthetic training data is provided as input to the ML model and the local ML model and the output of the ML model is compared to the output of local ML model.

20 . The non-transitory computer readable medium of claim 17 , wherein the ML model is updated such that interference with previously developed local models and an original dataset on which the ML model was trained is reduced.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: KHANI, FERESHTE; CORREIA RIBEIRO, MARCO TULIO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 068021/0305 →
Continuity (2)
Continuation 18311626 · May 3, 2023
Related Publication 20240370727A1 · Nov 7, 2024
References Cited (57)
US 11200497B1 · Yan · 2021 [cited by examiner]
US 11531846B1 · Bodapati · 2022 [cited by examiner]
US 11551803B1 · Arazi · 2023 [cited by examiner]
US 11928560B2 · Funane · 2024 [cited by examiner]
US 12174915B1 · Maeng · 2024 [cited by examiner]
US 12223259B1 · Sembium Varadarajan · 2025 [cited by examiner]
US 12333396B2 · Choi · 2025 [cited by examiner]
US 12361215B2 · Wei · 2025 [cited by examiner]
US 12524845B2 · Kreis · 2026 [cited by examiner]
US 12526529B2 · Pieper · 2026 [cited by examiner]
US 20200387812A1 · Lewis · 2020 [cited by examiner]
US 20220094713A1 · Lee · 2022 [cited by examiner]
US 20220284280A1 · Walters · 2022 [cited by examiner]
US 20230267700A1 · Farre Guiu · 2023 [cited by examiner]
US 20230351203A1 · Ozay · 2023 [cited by examiner]
US 20230377099A1 · Kreis · 2023 [cited by examiner]
US 20230410022A1 · Childress · 2023 [cited by examiner]
US 20240020715A1 · Childress · 2024 [cited by examiner]
US 20240028312A1 · Gillman · 2024 [cited by examiner]
US 20240045990A1 · Boyer · 2024 [cited by examiner]
US 20240086164A1 · Kramer · 2024 [cited by examiner]
US 20240095077A1 · Singh · 2024 [cited by examiner]
US 20240095463A1 · Leary · 2024 [cited by examiner]
US 20240126576A1 · Bent, III · 2024 [cited by examiner]
US 20240126997A1 · Bent, III · 2024 [cited by examiner]
US 20240161377A1 · Luo · 2024 [cited by examiner]
US 20240177052A1 · Yuan · 2024 [cited by examiner]
US 20240184812A1 · McDaniel · 2024 [cited by examiner]
US 20240184991A1 · Mahabaleshwarkar · 2024 [cited by examiner]
US 20240185997A1 · Kapur · 2024 [cited by examiner]
US 20240202539A1 · Poirier · 2024 [cited by examiner]
US 20240256793A1 · Maschmeyer · 2024 [cited by examiner]
US 20240281705A1 · Liu · 2024 [cited by examiner]
US 20240311579A1 · Dong · 2024 [cited by examiner]
US 20240320595A1 · Manchandra · 2024 [cited by examiner]
US 20240330279A1 · Truong · 2024 [cited by examiner]
US 20240330655A1 · Hearty · 2024 [cited by examiner]
US 20240330766A1 · Hard · 2024 [cited by examiner]
US 20240346362A1 · Andre · 2024 [cited by examiner]
US 20240346388A1 · Wilczynski · 2024 [cited by examiner]
US 20240347064A1 · Li · 2024 [cited by examiner]
US 20240354641A1 · Miller · 2024 [cited by examiner]
US 20250053501A1 · Ayyadurai · 2025 [cited by examiner]
US 20250087349A1 · Neumann · 2025 [cited by examiner]
US 20250094811A1 · Achtibat · 2025 [cited by examiner]
US 20250245441A1 · Porras · 2025 [cited by examiner]
US 20250324199A1 · Nyayate · 2025 [cited by examiner]
US 20250371043A1 · Yurtsever · 2025 [cited by examiner]
US 20250384341A1 · Cella · 2025 [cited by examiner]
US 20260004049A1 · Gursha · 2026 [cited by examiner]
US 20260004526A1 · Kreis · 2026 [cited by examiner]
Marco Tulio Ribeiro, Sameer Singh, and Carlos Guestrin. 2018. Semantically Equivalent Adversarial Rules for Debugging NLP models. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistic… [cited by examiner]
He, et al.,“Targeted Data Generation: Finding and Fixing Model Weaknesses,” arXiv, May 28, 2023, pp. 8506-8520. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/026358 dated Aug. 23, 2024, 12 pages. [cited by applicant]
Khani, et al.,“Collaborative Development of NLP Models,” arXiv, May 24, 2023, 14 Pages. [cited by applicant]
Ribeiro, et al., “Adaptive Testing and Debugging of NLP Models,” Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, May 1, 2022, pp. 3253-3267. [cited by applicant]
Ribeiro, et al., “Semantically Equivalent Adversarial Rules for Debugging NLP Models,” Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, Jul. 15, 2018, pp. 856-865. [cited by applicant]