US 12,353,971 B1
Machine learning model adaptation via segment replacement and student-teacher training
Poorna Chand Srinivas Perumalla, Seattle, WA (US); Nagajyothi Nookula, Seattle, WA (US); and Long Gao, San Jose, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 13, 2018, as Appl. No. 16/219,704.
Int. Cl. G06N 20/20 (2019.01); G06F 17/11 (2006.01); G06N 3/084 (2023.01); G06N 5/046 (2023.01); H04L 67/60 (2022.01)
CPC G06N 20/20 (2019.01) [G06F 17/11 (2013.01); G06N 3/084 (2013.01); G06N 5/046 (2013.01); H04L 67/60 (2022.05)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, at a web service endpoint of a provider network, a request to deploy a first machine learning (ML) model to a first electronic device located outside the provider network;
determining that at least a first convolutional layer of the first ML model is not supported on the first electronic device;
selecting a replacement operator for the first convolutional layer, wherein selecting the replacement operator for the first convolutional layer is based on accessing one or more mapping data structures to determine that the replacement operator is a substitute for the first convolutional layer and is supported by the first electronic device, wherein a mapping data structure of the one or more mapping data structures maps a source characteristic of the first convolutional layer to a replacement characteristic of the replacement operator, and wherein the source characteristic is an operational characteristic of one of a convolutional layer, a deconvolutional layer, a ReLU (rectified linear unit) activation function, a 32-bit floating point instruction, or an F-CNN (faster convolutional neural network);
based on determining that the first ML model is not supported on the first electronic device, creating a second ML model that is supported on the first electronic device, the second ML model including one or more layers of the first ML model but with the replacement operator in place of the first convolutional layer;
training the second ML model based on a first set of inference outputs generated by the first ML model;
wherein training the second ML model comprises:
utilizing the first ML model to generate the first set of inference outputs from a set of input data elements;
utilizing the second ML model to generate a second set of inference outputs from the set of input data elements; and
updating weights of the second ML model based on a comparison of corresponding pairs of the first set of inference outputs and the second set of inference outputs; and
causing the trained second ML model to be transmitted to the first electronic device.