IP Library › Granted Patent US 11,461,737
Granted Patent B2
US 11,461,737 · App. 15/959,013 · Granted Oct 4, 2022

Unified parameter and feature access in machine learning models

Inventors: Chang-Ming Tsai (Fremont, CA); Fei Chen (Saratoga, CA); Songxiang Gu (Sunnyvale, CA); Xuebin Yan (Sunnyvale, CA); Andris Birkmanis (Redwood City, CA); Joel D. Young (Milpitas, CA)
Assignee: Microsoft Technology Licensing, LLC
G06Q10/103G06F9/4484G06F16/90332G06F16/93G06N20/00
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 11,461,737
App. No.
15/959,013
Granted
Oct 4, 2022
Kind
B2
Abstract

The disclosed embodiments provide a system for processing data. During operation, the system obtains a function call for a function that calculates an attribute associated with a machine learning model. For each argument of the function call, the system identifies a parameter type of the argument, wherein the parameter type represents a type of data used with the machine learning model. The system also obtains a value accessor for retrieving features specific to the parameter type and obtains a value represented by the argument using the value accessor. The system then calculates the attribute by applying the function to the value and uses the attribute to execute the machine learning model.

Claims (66)

1. A method, comprising:

obtaining a function call for a function that calculates an attribute associated with a machine learning model;

for each argument of the function call, identifying, by a computer system, a parameter type of the argument, wherein the parameter type represents a type of data used with the machine learning model;

obtaining a value accessor for retrieving features specific to the parameter type;

obtaining, by the computer system, a value represented by the argument using the value accessor;

calculating, by the computer system, the attribute by applying the function to the value; and

using the attribute to execute the machine learning model.

2. The method of claim 1 , further comprising:

verifying a match between a data type of the value and an expected type from a function declaration for the function prior to applying the function to the value.

3. The method of claim 1 , further comprising:

obtaining the argument through a universal access interface for accessing multiple parameter types associated with the machine learning model.

4. The method of claim 3 , wherein identifying the parameter type of the argument comprises:

obtaining the parameter type from a context associated with a model definition for the machine learning model.

5. The method of claim 4 , wherein using the value accessor for the parameter type to obtain the value represented by the argument further comprises:

obtaining the value accessor from an implementation of the universal access interface.

6. The method of claim 4 , wherein the context is obtained from an internal representation of the machine learning model.

7. The method of claim 1 , wherein using the value accessor for the parameter type to obtain the value represented by the argument comprises:

calling the value accessor from an object representing the argument.

8. The method of claim 1 , wherein the value accessor is further associated with a data type of the argument.

9. The method of claim 1 , wherein the attribute comprises at least one of:

a model parameter;

a request parameter;

a feature; or

a set of documents used to execute the machine learning model.

10. The method of claim 1 , wherein the parameter type is at least one of:

a model parameter;

a request parameter;

a feature; or

a constant.

11. A system, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to:

obtain a function call for a function that calculates an attribute associated with a machine learning model;

for each argument of the function call, identify a parameter type of the argument, wherein the parameter type represents a type of data used with the machine learning model;

obtain a value accessor for retrieving features specific to the parameter type;

obtain a value represented by the argument using the value accessor;

calculate the attribute by applying the function to the value; and

use the attribute to execute the machine learning model.

12. The system of claim 11 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the system to:

verify a match between a data type of the value and an expected type from a function declaration for the function prior to applying the function to the value.

13. The system of claim 11 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the system to:

obtain the argument through a universal access interface for accessing multiple parameter types associated with the machine learning model.

14. The system of claim 11 , wherein identifying the parameter type of the argument comprises:

obtaining the parameter type from a context associated with a model definition for the machine learning model.

15. The system of claim 14 , wherein using the value accessor for the parameter type to obtain the value represented by the argument further comprises:

obtaining the value accessor from an implementation of the universal access interface.

16. The system of claim 11 , wherein the value accessor is further associated with a data type of the argument.

17. The system of claim 11 , wherein the attribute comprises at least one of:

a model parameter;

a request parameter;

a feature; or

a set of documents used to execute the machine learning model.

18. The system of claim 11 , wherein the parameter type is at least one of:

a model parameter;

a request parameter;

a feature; or

a constant.

19. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

obtaining a function call for a function that calculates an attribute associated with a machine learning model;

for each argument of the function call, identifying a parameter type of the argument, wherein the parameter type represents a type of data used with the machine learning model;

obtaining a value accessor for retrieving features specific to the parameter type;

obtaining a value represented by the argument using the value accessor;

calculating the attribute by applying the function to the value; and

using the attribute to execute the machine learning model.

20. The non-transitory computer readable storage medium of claim 19 , wherein the method further comprises:

verifying a match between a data type of the value and an expected type from a function declaration for the function prior to applying the function to the value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2018
From: TSAI, CHANG-MING; CHEN, FEI; GU, SONGXIANG; YAN, XUEBIN; BIRKMANIS, ANDRIS; YOUNG, JOEL D.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 045882/0606 →
Continuity (1)
Related Publication 20190324765A1 · Oct 24, 2019