Model ML registry and model serving
A system includes an interface, a processor, and a memory. The interface is configured to receive a version of a model from a model registry. The processor is configured to store the version of the model, start a process running the version of the model, and update a proxy with version information associated with the version of the model, wherein the updated proxy indicates to redirect an indication to invoke the version of the model to the process. The memory is coupled to the processor and configured to provide the processor with instructions.
1. A method comprising:
maintaining one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;
receiving, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;
extracting, from the URL API request, a version indicator associated with the request;
identifying a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;
executing the identified process to perform the request; and
providing results of the execution to the client device as a response to the request.
2. The method of claim 1 , wherein the version indicator is a version tag or a version number.
3. The method of claim 2 , wherein the version tag comprises a production version tag or a staging version tag.
4. The method of claim 1 , further comprising:
determining if a version indicator associated with the machine-learned model is updated; and
in response to determining that the version indicator is updated, updating the proxy redirect table with updated version indicator information.
5. The method of claim 1 , wherein executing the request using the identified process further comprises providing the identified process access to data associated with the request.
6. The method of claim 1 , wherein the request comprises a command, and wherein a type of command further comprises an invoke command, a health command, and a ping command.
7. A non-transitory computer-readable storage medium comprising stored instructions executable by a processor, the instructions when executed causing the processor to:
maintain one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;
receive, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;
extract, from the URL API request, a version indicator associated with the request;
identify a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;
execute the identified process to perform the request; and
provide results of the execution to the client device as a response to the request.
8. The non-transitory computer-readable storage medium of claim 7 , wherein the version indicator is a version tag or a version number.
9. The non-transitory computer-readable storage medium of claim 8 , wherein the version tag comprises a production version tag or a staging version tag.
10. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions when executed causing the processor to:
determine that a version indicator associated with a version of a machine-learned model is updated; and
in response to determining that the version indicator is updated, update the proxy redirect table with updated version indicator information.
11. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions when executed causing the processor to provide the identified process access to data associated with the request.
12. The non-transitory computer-readable storage medium of claim 7 , wherein a request comprises a command, and wherein a type of command further comprises an invoke command, a health command, and a ping command.
13. A computer system, comprising:
a computer processor; and
a memory comprising stored instructions that when executed by the computer processor causes the computer system to:
maintain one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;
receive, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;
extract, from the URL API request, a version indicator associated with the request;
identify a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;
execute the identified process to perform the request; and
provide results of the execution to the client device as a response to the request.
14. The computer system of claim 13 , wherein the version indicator is a version tag or a version number.
15. The computer system of claim 14 , wherein the version tag comprises a production version tag or a staging version tag.
16. The computer system of claim 13 , further comprising instructions when executed causing the computer system to:
determine that a version indicator associated with a version of a machine-learned model is updated; and
in response to determining that the version indicator is updated, update the proxy redirect table with updated version indicator information.
17. The computer system of claim 13 , wherein the instructions when executed causing the processor to provide the identified process access to data associated with the request.