IP Library › Granted Patent US 12,572,841
Granted Patent B2
US 12,572,841 · App. 17/036,218 · Granted Mar 10, 2026

Mobile AI

Inventors: Umar Asif (Melbourne, AU); Stefan von Cavallar (Sandringham, AU); Jianbin Tang (Doncaster East, AU); Stefan Harrer (Hampton, AU)
Assignee: International Business Machines Corporation
G06N20/00G06N3/082
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,572,841
App. No.
17/036,218
Granted
Mar 10, 2026
Kind
B2
Abstract

A machine learning model can be optimized for deployment on a device based on hardware specifications of the device. An existing model is acquired and pruned to reduce hardware resource consumption of the model. The pruned model is then trained based on training data. The pruned model is also trained based on a collection of “teacher” models. Performance of the trained model is then evaluated and compared to performance requirements, which can be based on the hardware specifications of a device.

Claims (102)

1 . A computer-implemented method of selecting a machine learning model, the computer including one or more processors, one or more computer-readable memories and one or more computer-readable storage media, the method comprising:

receiving hardware specifications of a device;

receiving output-based requirements of the device;

determining a performance requirement based on the hardware specifications and the output-based requirements of the device;

acquiring a set of machine learning models from a repository of machine learning models accessible to the device, the set of machine learning models including:

a first machine learning model having a first set of layers, wherein each layer of the first set of layers manipulates input in a different way in order to produce its individual output; and

a teacher model;

determining a threshold number of layers from the first set of layers to form a pruned set of layers;

deleting one or more layers of the first set of layers from the first machine learning model, resulting in a student model with the pruned set of layers having a number of layers at or below the threshold number of layers;

training the student model based on:

training data; and

the teacher model;

evaluating a performance of the student model;

comparing the performance of the student model and the performance requirement;

determining, based at least on the comparing, to select a model having a highest performance; and

deploying the model having the highest performance on the device,

wherein each of the pruned set of layers is developed over time while training the student model.

2 . The method of claim 1 , further comprising receiving an additional performance requirement from a user, wherein the comparing further includes comparing the performance of the student model and the additional performance requirement.

3 . The method of claim 1 , wherein the deleting one or more layers includes:

determining, based on the performance requirement, a number of layers to delete;

selecting the one or more layers based on the number; and

deleting the selected layers.

4 . The method of claim 3 , wherein the one or more layers are selected at random.

5 . The method of claim 1 , wherein the deleting one or more layers includes deleting one or more blocks, each block including a continuous set of layers.

6 . The method of claim 1 , wherein the training includes:

inputting training data into the student model and the teacher model;

receiving a student feature from the student model;

receiving a teacher feature from the teacher model;

performing a first comparison between the student feature and the teacher feature;

receiving a student output from the student model;

performing a second comparison between the student output and the training data; and

adjusting at least one layer of the pruned set of layers of the student model based on the first comparison and the second comparison.

7 . The method of claim 1 , wherein each of the set of machine learning models are selected from a model repository.

8 . A computer system for selecting a machine learning model, the system comprising:

one or more processors, one or more computer-readable memories and one or more computer-readable storage media;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to receive hardware specifications of a device;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to receive output-based requirements of the device;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine a performance requirement based on the hardware specifications and the output-based requirements;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to acquire a set of machine learning models from a repository of machine learning models accessible to the device, the set of machine learning models including:

a first machine learning model having a first set of layers, wherein each layer of the first set of layers manipulates input in a different way in order to produce its individual output; and

a teacher model;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine a threshold number of layers from the first set of layers to form a pruned set of layers;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to delete one or more layers of the first set of layers from the first machine learning model, resulting in a student model with the pruned set of layers having a number of layers at or below the threshold number of layers;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to train the first student model based on:

training data; and

the teacher model;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to evaluate a performance of the first student model;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to compare the performance of the first student model to the performance requirement;

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to determine, based at least on the comparing, to generate a second student model; and

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to deploy the model having the highest performance on the device

wherein each of the pruned set of layers is developed over time while training the student model.

9 . The system of claim 8 , further comprising:

program instructions, stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, to receive an additional performance requirement from a user, wherein the comparing further includes comparing the performance of the student model and the additional performance requirement.

10 . The system of claim 8 , wherein the deleting one or more layers includes:

determining, based on the performance requirement, a number of layers to delete;

selecting the one or more layers based on the number; and

deleting the selected layers.

11 . The system of claim 10 , wherein the one or more layers are selected at random.

12 . The system of claim 8 , wherein the deleting one or more layers includes deleting one or more blocks, each block including a continuous set of layers.

13 . The system of claim 8 , wherein the training includes:

inputting training data into the student model and the teacher model;

receiving a student feature from the student model;

receiving a teacher feature from the teacher model;

performing a first comparison between the student feature and the teacher feature;

receiving a student output from the student model;

performing a second comparison between the student output and the training data; and

adjusting at least one layer of the pruned set of layers of the student model based on the first comparison and the second comparison.

14 . The system of claim 8 , wherein each of the set of machine learning models are selected from a model repository.

15 . A computer program product for selecting a machine learning model, the computer program product comprising:

one or more computer-readable storage media;

program instructions, stored on at least one of the one or more storage media, to receive hardware specifications of a device;

program instructions, stored on at least one of the one or more storage media, to receive output-based requirements of the device;

program instructions, stored on at least one of the one or more storage media, to determine a performance requirement based on the hardware specifications and the output-based requirements of the device;

program instructions, stored on at least one of the one or more storage media, to acquire a set of machine learning models from a repository of machine learning models accessible to the device, the set of machine learning models including:

a first machine learning model having a first set of layers, wherein each layer of the first set of layers manipulates input in a different way in order to produce its individual output; and

a teacher model;

program instructions, stored on at least one of the one or more storage media, to determine a threshold number of layers from the first set of layers to form a pruned set of layers;

program instructions, stored on at least one of the one or more storage media, to delete one or more layers of the first set of layers from the first machine learning model, resulting in a student model with the pruned set of layers having a number of layers at or below the threshold number of layers;

program instructions, stored on at least one of the one or more storage media, to train the student model based on:

training data; and

the teacher model;

program instructions, stored on at least one of the one or more storage media, to evaluate a performance of the student model;

program instructions, stored on at least one of the one or more storage media, to compare the performance of the student model and the performance requirement;

determine, based at least on the comparing, to select a model having a highest performance; and

program instructions, stored on at least one of the one or more storage media, to deploy the model having the highest performance on the device

wherein each of the pruned set of layers is developed over time while training the student model.

16 . The computer program product of claim 15 , further comprising:

program instructions, stored on at least one of the one or more storage media, to receive an additional performance requirement from a user, wherein the comparing further includes comparing the performance of the student model and the additional performance requirement.

17 . The computer program product of claim 15 , wherein the deleting one or more layers includes:

determining, based on the performance requirement, a number of layers to delete;

selecting the one or more layers based on the number; and

deleting the selected layers.

18 . The computer program product of claim 15 , wherein the deleting one or more layers includes deleting one or more blocks, each block including a continuous set of layers.

19 . The computer program product of claim 15 , wherein the training includes:

inputting training data into the student model and the teacher model;

receiving a student feature from the student model;

receiving a teacher feature from the teacher model;

performing a first comparison between the student feature and the teacher feature;

receiving a student output from the student model;

performing a second comparison between the student output and the training data; and

adjusting at least one layer of the pruned set of layers of the student model based on the first comparison and the second comparison.

20 . The computer program product of claim 15 , wherein each of the set of machine learning models are selected from a model repository.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2020
From: ASIF, UMAR; VON CAVALLAR, STEFAN; TANG, JIANBIN; HARRER, STEFAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053915/0555 →
Continuity (1)
Related Publication 20220101184A1 · Mar 31, 2022
References Cited (58)
US 7318051B2 · Weston et al. · 2008 [cited by applicant]
US 9002682B2 · Kasabov · 2015 [cited by applicant]
US 9161705B2 · Tamil et al. · 2015 [cited by applicant]
US 9460400B2 · De Bruin et al. · 2016 [cited by applicant]
US 12079718B2 · Ida · 2024 [cited by applicant]
US 20090287622A1 · Wechsler · 2009 [cited by applicant]
US 20130153771A1 · Kiesel et al. · 2013 [cited by applicant]
US 20180103917A1 · Kim et al. · 2018 [cited by applicant]
US 20180158552A1 · Liu et al. · 2018 [cited by applicant]
US 20180189679A1 · Kang et al. · 2018 [cited by applicant]
US 20180268265A1 · Sohn et al. · 2018 [cited by applicant]
US 20180268266A1 · Sohn et al. · 2018 [cited by applicant]
US 20180268292A1 · Choi et al. · 2018 [cited by applicant]
US 20200042883A1 · Sato · 2020 [cited by applicant]
US 20200111025A1 · Han et al. · 2020 [cited by applicant]
US 20200125927A1 · Kim · 2020 [cited by applicant]
US 20200134506A1 · Wang et al. · 2020 [cited by applicant]
US 20200134628A1 · Jia · 2020 [cited by applicant]
US 20200210836A1 · Kim et al. · 2020 [cited by applicant]
US 20200364573A1 · Ramachandran · 2020 [cited by examiner]
US 20210042645A1 · Sharma · 2021 [cited by applicant]
US 20210056718A1 · Wang · 2021 [cited by applicant]
US 20220004921A1 · Balaraman · 2022 [cited by applicant]
US 20220126864A1 · Moustafa · 2022 [cited by examiner]
CN 102802161A · 2012 [cited by applicant]
CN 108830813A · 2018 [cited by applicant]
CN 109637546A · 2019 [cited by applicant]
CN 109800886A · 2019 [cited by applicant]
CN 110232203A · 2019 [cited by applicant]
CN 110390387A · 2019 [cited by applicant]
CN 111105008A · 2020 [cited by applicant]
JP H05282269A · 1993 [cited by applicant]
JP 2019096285A · 2019 [cited by applicant]
JP 2019185275A · 2019 [cited by applicant]
JP 2020071883A · 2020 [cited by applicant]
JP 2020087288A · 2020 [cited by applicant]
WO 2016110804A1 · 2016 [cited by applicant]
WO 2019135274A1 · 2019 [cited by applicant]
Yang et al., “Concepts of Artificial Intelligence for Computer-Assisted Drug Discovery,” Chemical Reviews, ACS Publications, Nov. 29, 2018, 75 pages, http://dx.doi.org/10.1021/acs.chemrev.8b00728. [cited by applicant]
Liu et al., “Learning To Propagate Labels: Transductive Propagation Network for Few-Shot Learning,” International Conference on Learning Representations 2019, Feb. 8, 2019, 14 pages. [cited by applicant]
Tan et al., “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks,” International Conference on Machine Learning 2019, May 28, 2019, 11 pages. [cited by applicant]
Yang et al., “NetAdapt: Platform-Aware Neural Network Adaptation for Mobile Applications,” European Conference on Computer Vision 2018, Arp. 9, 2018, 16 pages. [cited by applicant]
Dong et al., “DPP-Net: Device-aware Progressive Search for Pareto-optimal Neural Architectures,” European Conference on Computer Vision 2018, Jun. 21, 2018, 15 pages. [cited by applicant]
Iscen et al., “Label Propagation for Deep Semi-supervised Learning,” Computer Vision and Pattern Recognition 2019, Apr. 9, 2019, 10 pages. [cited by applicant]
Asif et al., “Mobile AI,” U.S. Appl. No. 17/036,248, filed Sep. 29, 2020. [cited by applicant]
List of IBM Patents or Patent Applications Treated as Related, Dated Sep. 27, 2020, 2 pages. [cited by applicant]
Chen et al., “Shallowing Deep Networks: Layer-Wise Pruning Based on Feature Representations,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 41, No. 12, Dec. 2019, 9 pages. [cited by applicant]
Elkerdawy et al., “To Filter Prune, or to Layer Prune, That Is The Question,” arXiv:2007.05667v3 [cs.CV] Nov. 8, 2020, 26 pages. [cited by applicant]
U.S. Appl. No. 17/036,248 Notice of References Cited, mailed Aug. 28, 2023, 1 pg. [cited by applicant]
Japan Patent Office, “Decision of Refusal” May 7, 2025, 05 Pages, JP Application No. 2021-158544. [cited by applicant]
Japan Patent Office, “Notice of Reasons for Refusal,” Dec. 24, 2024, 7 Pages, JP Application No. 2021-158544. [cited by applicant]
Sarwar, S.S et al. “Incremental Learning in Deep Convolutional Neural Networks Using Partial Network Sharing,” in IEEE Access, vol. 8, pp. 4615-4628, 2019, doi: 10.1109/ACCESS.2019.2963056. https://ieeexplore.ieee.org/d… [cited by applicant]
U.S. Appl. No. 17/036,248 Notice of References Cited, mailed Mar. 22, 2024, 1 pg. [cited by applicant]
Bhardwaj, K. et al. 2019. Memory- and CommunicationAware Model Compression for Distributed Deep Learning Inference on IoT. ACM Trans. Embedd. Comput. Syst. ( 2019), 22 pages. https://doi.org/10.48550/arXiv.1907.11804. [cited by applicant]
GB2113292.3 Combined Search Report and Examination Report, mailed Jun. 10, 2022, 12 pgs. [cited by applicant]
GB2113292.3 Examination Report, mailed Apr. 28, 2023. 6 pgs. [cited by applicant]
The State Intellectual Property Office of People's Republic of China, “Second Office Action”, Sep. 1, 2025, 15 Pages, CN Application No. 202111137759.0. [cited by applicant]
U.S. Appl. No. 17/036,248 Notice of References Cited, mailed Dec. 22, 2023, 1 pg. [cited by applicant]