microsoft / solution-accelerator-many-models

MIT License
193 stars 85 forks source link

Model naming convention is not surfaced in API #132

Open felixcollins opened 3 years ago

felixcollins commented 3 years ago

The Model registered by the many models accelerator (MMA) is named with a SHA256 hash of the strings of the partition names concatenated with '_'. The code to do this is duplicated in the inference and training scripts and is not surfaced to the client consuming the API. This means a consumer of the MMA has no official/guaranteed way to recreate the name. This is very important because the name or id of the model must be supplied in order to retrieve the model from the registry. (As far as I can see, the only other way to retrieve it is with Model.list and filter down to what is required). For use in production there must be a reliable way to generate the model name.

felixcollins commented 3 years ago

Why is a cryptographic hash used rather than a reversible encoding? Is it to ensure the name is a valid blob name? https://docs.microsoft.com/en-us/rest/api/storageservices/Naming-and-Referencing-Containers--Blobs--and-Metadata?redirectedfrom=MSDN

I propose that a url encoding is used and an error is thrown if the name exceeds 1024 chars. The name generation should be available as an API function

cartacioS commented 2 years ago

Hi @felixcollins - I have logged the feedback and request. Will leave this issue open until implemented or any reason for not changing the convention is addressed.

[tracking: https://msdata.visualstudio.com/Vienna/_workitems/edit/1588080]

Marcrb2 commented 1 year ago

Being able to control somehow the names of the models being registered by the MMA is necessary for our project. Has anything new been/or scheduled to be implemented?