IP Library Granted Patent US 12,632,774
Granted Patent B2
US 12,632,774 · App. 17/164,947 · Granted May 19, 2026

Automated model update pipeline

Inventors: Cheng-En Yen (New Taipei City, TW); Yi-Ting Tsao (New Taipei City, TW); Yu-Ting Chang (Taipei City, TW); Chi-Chia Huang (New Taipei City, TW); Peng-Yu Chen (Taipei City, TW); Tzu-Chiang Liou (New Taipei City, TW)
Assignee: Yahoo Assets LLC
G06N20/00G06N7/01
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,632,774
App. No.
17/164,947
Granted
May 19, 2026
Kind
B2
Abstract

One or more computing devices, systems, and/or methods for implementing an automated model update pipeline are provided. User behavior data associated with content provided to users may be collected. An automatic model training is invoked to train a new model to output a set of model parameters based upon a configuration specifying a target audience, features extracted from user behavior data, and training model parameters. In response to determining that the new model will outperform a deployed model on a content serving platform, an automatic model updater is invoked to update the content serving platform with the new model and a ranking profile of the new model for serving content requests.

Claims (64)

1 . A method, comprising:

executing, on a processor of a computing device, instructions that cause the computing device to perform operations, the operations comprising:

collecting user behavior data associated with content provided to users;

invoking an automatic model trainer of a trainer workflow system to train a new model to output a set of model parameters based upon a configuration specifying a target audience, features extracted from the user behavior data, and training model parameters;

in response to determining that the new model will outperform a deployed model on a content serving platform, invoking an automatic model updater to update the content serving platform with the new model and a ranking profile of the new model for serving content requests;

utilizing a multi-armed bandit algorithm to evaluate a plurality of models for content requests for transmitting traffic from a server to one or more remote computing devices;

configuring an online evaluation mechanism to periodically assign one or more scores to the plurality of models, including the new model and the deployed model, available to the content serving platform based upon the evaluations of performance of the plurality of models determined utilizing the multi-armed bandit algorithm;

responsive to collecting up-to-date user behavior data corresponding to a plurality of users, training at least some of the plurality of models on the up-to-date user behavior data corresponding to the plurality of users, evaluating performance of the trained models, and updating at least some scores for the trained models to generate updated scores, dynamically shifting traffic for serving the content requests amongst the plurality of models based upon the periodically assigned one or more scores associated with performance of the plurality of models;

configuring a continuous integration and continuous delivery pipeline to periodically scan and verify new models as the new models are generated and trained by the automatic model trainer of the trainer workflow system;

in response to the continuous integration and continuous delivery pipeline identifying a verified model, committing changes to a new branch within a remote repository of the content serving platform based upon the verified model; and

in response to the continuous integration and continuous delivery pipeline committing the changes to the new branch, raising a pull request to obtain review for the new branch.

2 . The method of claim 1 , comprising:

performing an offline evaluation of the new model to predict performance of the new model based upon evaluation metrics; and

compare the performance of the new model to performance of the deployed model to determine whether the new model out performs the deployed model.

3 . The method of claim 2 , wherein the evaluation metrics comprise at least one of precision, recall, area under curve, or normalized discounted cumulative gain.

4 . The method of claim 1 , comprising:

utilizing an online evaluation mechanism to score a plurality of models, including the new model and the deployed model, available to the content serving platform.

5 . The method of claim 4 , wherein the online evaluation mechanism utilizes a multi-armed bandit mechanism to score the plurality of models.

6 . The method of claim 5 , wherein the multi-armed bandit mechanism utilizes a Bayesian upper confidence bounds algorithm to select a selected model out of the plurality of models to route incoming traffic for serving the content requests.

7 . The method of claim 4 , comprising:

selecting a selected model out of the plurality of models for serving the content requests based upon the selected model having a score greater than scores of other models within the plurality of models.

8 . The method of claim 1 , comprising:

evaluating performance of the new model used to serve a first portion of incoming traffic for serving the content requests;

evaluating performance of the deployed model used to serve a second portion of incoming traffic for serving the content requests; and

adjusting at least one of the first portion or the second portion of the incoming traffic based upon the performance of the new model and the performance of the deployed model.

9 . The method of claim 1 , comprising:

configuring the automatic model trainer with training variables associated with filters for the user behavior data, a location to read the user behavior data, and a tuning range for hyperparameters.

10 . The method of claim 1 , comprising:

configuring the automatic model trainer with training variables associated with filters for the user behavior data.

11 . The method of claim 1 , comprising:

configuring the automatic model trainer with training variables associated with a location to read the user behavior data.

12 . The method of claim 1 , comprising:

configuring the automatic model trainer with training variables associated with a tuning range for hyperparameters.

13 . A non-transitory machine readable medium having stored thereon processor-executable instructions that when executed cause performance of operations, the operations comprising:

training a new model to output a set of model parameters based upon a configuration specifying a target audience, features extracted from user behavior data, and training model parameters;

in response to determining that the new model will outperform a deployed model on a content serving platform, invoking an automatic model updater to update the content serving platform with the new model and a ranking profile of the new model for serving content requests;

utilizing a multi-armed bandit algorithm to evaluate a plurality of models for content requests for transmitting traffic from a server to one or more remote computing devices;

configuring an online evaluation mechanism to periodically assign one or more scores to the plurality of models, including the new model and the deployed model, available to the content serving platform based upon the evaluations of performance of the plurality of models determined utilizing the multi-armed bandit algorithm;

responsive to collecting up-to-date user behavior data corresponding to a plurality of users, training at least some of the plurality of models on the up-to-date user behavior data corresponding to the plurality of users, evaluating performance of the trained models, and updating at least some scores for the trained models to generate updated scores, dynamically shifting traffic for serving the content requests amongst the plurality of models based upon the periodically assigned one or more scores associated with performance of the plurality of models;

configuring a continuous integration and continuous delivery pipeline to periodically scan and verify new models as the new models are generated and trained by an automatic model trainer of a trainer workflow system;

in response to the continuous integration and continuous delivery pipeline identifying a verified model, committing changes to a new branch within a remote repository of the content serving platform based upon the verified model; and

in response to the continuous integration and continuous delivery pipeline committing the changes to the new branch, raising a pull request to obtain review for the new branch.

14 . The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

utilizing the new model to serve exploitation traffic of a content request.

15 . The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

ranking the performance of the models using a multi-armed bandit mechanism.

16 . The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

utilizing the new model to serve exploration traffic of a content request.

17 . The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

configuring an automatic model trainer to train new models using user behavior data, testing the new models, and releasing the new models for deployment for serving the content requests.

18 . The non-transitory machine readable medium of claim 13 , wherein the operations comprise:

configuring the automatic model trainer with training variables associated with at least one of filters for the user behavior data, a location to read the user behavior data, or a tuning range for hyperparameters.

19 . A computing device comprising:

a processor; and

memory comprising processor-executable instructions that when executed by the processor cause performance of operations, the operations comprising:

training a new model to output a set of model parameters based upon a configuration specifying a target audience, features extracted from user behavior data, and training model parameters;

in response to determining that the new model will outperform a deployed model on a content serving platform, invoking an automatic model updater to update the content serving platform with the new model and a ranking profile of the new model for serving content requests;

utilizing a multi-armed bandit algorithm to evaluate a plurality of models for content requests for transmitting traffic from a server to one or more remote computing devices;

configuring an online evaluation mechanism to periodically assign one or more scores to the plurality of models, including the new model and the deployed model, available to the content serving platform based upon the evaluations of performance of the plurality of models determined utilizing the multi-armed bandit algorithm;

responsive to collecting up-to-date user behavior data corresponding to a plurality of users, training at least some of the plurality of models on the up-to-date user behavior data corresponding to the plurality of users, evaluating performance of the trained models, and updating at least some scores for the trained models to generate updated scores, dynamically shifting traffic for serving the content requests amongst the plurality of models based upon the periodically assigned one or more scores associated with performance of the plurality of models;

configuring a continuous integration and continuous delivery pipeline to periodically scan and verify new models as the new models are generated and trained by an automatic model trainer of a trainer workflow system;

in response to the continuous integration and continuous delivery pipeline identifying a verified model, committing changes to a new branch within a remote repository of the content serving platform based upon the verified model; and

in response to the continuous integration and continuous delivery pipeline committing the changes to the new branch, raising a pull request to obtain review for the new branch.

20 . The computing device of claim 19 , wherein the computing device periodically implements an automated process to collect up-to-date user behavior data, train new models on the up-to-date user behavior data, evaluate performance of the new models offline, update the new models and ranking profiles for the new models for serving content requests, and dynamically shift traffic for serving content requests amongst the plurality of models based upon performance of the plurality of models.

Assignments (3)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2021
From: YEN, CHENG-EN; TSAO, YI-TING; CHANG, YU-TING; HUANG, CHI-CHIA; CHEN, PENG-YU; LIOU, TZU-CHIANG
To: VERIZON MEDIA INC.
Reel/Frame 055108/0987 →
Continuity (1)
Related Publication 20220245507A1 · Aug 4, 2022
References Cited (6)
US 20180218287A1 · Wang · 2018 [cited by examiner]
US 20210044674A1 · Govan · 2021 [cited by examiner]
US 20210326736A1 · Kishimoto · 2021 [cited by examiner]
US 20220188371A1 · Kaza · 2022 [cited by examiner]
Kaufmann, Emilie, Olivier Cappe, and Aurélien Garivier. “On Bayesian upper confidence bounds for bandit problems.” Artificial intelligence and statistics. PMLR, 2012. (Year: 2012). [cited by examiner]
Wikipedia. Multi-armed bandit. Article version from Dec. 6, 2020. https://en.wikipedia.org/w/index.php?title=Multi-armed_bandit&oldid=992718805. (Year: 2020). [cited by examiner]