-
Notifications
You must be signed in to change notification settings - Fork 177
AML pipeline component for MaaP self serve validation #3978
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
21f4d2b
AML pipeline component for MaaP self serve validation
abhishekMS2024 eecdcea
AML pipeline update to run the validation and publish result for maap…
abhishekMS2024 d577a6d
Updated MaaP selfserve validation pipeline component
abhishekMS2024 7faef92
Updated the deploy aml component
abhishekMS2024 ba4e70f
renamed publish_result component
abhishekMS2024 d544040
updated the publish result component
abhishekMS2024 b0743b5
Updated publish validation result
abhishekMS2024 aebe16a
Updated validation result publish API
abhishekMS2024 380ca49
Updated the AML pipeline validation component
abhishekMS2024 29aa0cf
maap self-serve validation
abhishekMS2024 fbd8371
maap-self-serve validation pipeline update
abhishekMS2024 1b02029
maap-self-serve fixed syntax issue
abhishekMS2024 5fe63f3
Merge branch 'main' into abhisheku/maap_validation_component
abhishekMS2024 d493653
Merge branch 'main' into abhisheku/maap_validation_component
abhishekMS2024 277bb02
maap-self-serve fixed syntax issue
abhishekMS2024 a3d1f25
Merge branch 'abhisheku/maap_validation_component' of https://github.…
abhishekMS2024 5c53194
Updated the environment used for deploy model component
abhishekMS2024 efa03c2
Added inference response validation
abhishekMS2024 62c659f
Updated the validation result file extension
abhishekMS2024 82262e9
Download validation result with json file extension
abhishekMS2024 e57a8b1
Updated the instance_type sku list
abhishekMS2024 16860cd
Maap self serve save validation result fix
abhishekMS2024 13861db
Maap self serve save validation result fix
abhishekMS2024 37cf6ba
Fixed merge conflict
abhishekMS2024 d41d268
Publish validation result for both success and failure case
abhishekMS2024 298b076
Publish validation result for both success and failure case
abhishekMS2024 47e3422
Maap Self serve validation AML pipeline error message update
abhishekMS2024 c1211a9
Maap Self serve validation AML pipeline error message update
abhishekMS2024 3ed891b
Maap Self serve validation AML pipeline error message update
abhishekMS2024 6faef71
AML MaaP Self serve validation pipeline refactoring
abhishekMS2024 b301ddd
reverted deploy_model component
abhishekMS2024 992f949
reverted deploy_model component
abhishekMS2024 b1c61c8
Maap Self serve validation AML pipeline custom model support
abhishekMS2024 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| $schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json | ||
| name: delete_endpoint | ||
| version: 0.0.7 | ||
| type: command | ||
|
|
||
| is_deterministic: True | ||
|
|
||
| display_name: Delete Endpoint | ||
| description: | ||
| Deletes an endpoint resource. | ||
|
|
||
| environment: azureml://registries/azureml/environments/python-sdk-v2/versions/28 | ||
|
abhishekMS2024 marked this conversation as resolved.
|
||
|
|
||
| code: ../../src | ||
| command: >- | ||
| python delete_endpoint.py | ||
| $[[--model_deployment_details ${{inputs.model_deployment_details}}]] | ||
| $[[--endpoint_name ${{inputs.endpoint_name}}]] | ||
| $[[--deployment_name ${{inputs.deployment_name}}]] | ||
|
|
||
| inputs: | ||
| # Output of registering component | ||
| model_deployment_details: | ||
| type: uri_file | ||
| optional: true | ||
| description: JSON file that contains the deployment details. | ||
|
|
||
| endpoint_name: | ||
| type: string | ||
| optional: true | ||
| description: Name of the endpoint to delete. | ||
|
|
||
| deployment_name: | ||
| type: string | ||
| optional: true | ||
| description: Name of the deployment to delete. | ||
|
|
||
| tags: | ||
| Preview: "" | ||
| Internal: "" | ||
234 changes: 234 additions & 0 deletions
234
assets/common/components/deploy_inference_model/spec.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,234 @@ | ||
| $schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json | ||
| name: deploy_inference_model | ||
| version: 0.0.1 | ||
| type: command | ||
|
|
||
| is_deterministic: True | ||
|
|
||
| display_name: Deploy model | ||
| description: | ||
| Deploy a model to a workspace. The component works on compute with [MSI](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-create-manage-compute-instance?tabs=python) attached. | ||
|
|
||
| environment: azureml://registries/azureml/environments/python-sdk-v2/versions/29 | ||
|
|
||
| code: ../../src | ||
| command: >- | ||
| python deploy_inference_model.py | ||
| $[[--registration_details_folder ${{inputs.registration_details_folder}}]] | ||
| $[[--model_id ${{inputs.model_id}}]] | ||
| $[[--environment_id ${{inputs.environment_id}}]] | ||
| $[[--inference_payload ${{inputs.inference_payload}}]] | ||
| $[[--inference_payload_str ${{inputs.inference_payload_str}}]] | ||
| $[[--endpoint_name ${{inputs.endpoint_name}}]] | ||
| $[[--deployment_name ${{inputs.deployment_name}}]] | ||
| $[[--instance_type ${{inputs.instance_type}}]] | ||
| $[[--instance_count ${{inputs.instance_count}}]] | ||
| $[[--max_concurrent_requests_per_instance ${{inputs.max_concurrent_requests_per_instance}}]] | ||
| $[[--request_timeout_ms ${{inputs.request_timeout_ms}}]] | ||
| $[[--max_queue_wait_ms ${{inputs.max_queue_wait_ms}}]] | ||
| $[[--failure_threshold_readiness_probe ${{inputs.failure_threshold_readiness_probe}}]] | ||
| $[[--success_threshold_readiness_probe ${{inputs.success_threshold_readiness_probe}}]] | ||
| $[[--timeout_readiness_probe ${{inputs.timeout_readiness_probe}}]] | ||
| $[[--period_readiness_probe ${{inputs.period_readiness_probe}}]] | ||
| $[[--initial_delay_readiness_probe ${{inputs.initial_delay_readiness_probe}}]] | ||
| $[[--failure_threshold_liveness_probe ${{inputs.failure_threshold_liveness_probe}}]] | ||
| $[[--timeout_liveness_probe ${{inputs.timeout_liveness_probe}}]] | ||
| $[[--period_liveness_probe ${{inputs.period_liveness_probe}}]] | ||
| $[[--initial_delay_liveness_probe ${{inputs.initial_delay_liveness_probe}}]] | ||
| $[[--egress_public_network_access ${{inputs.egress_public_network_access}}]] | ||
| --model_deployment_details ${{outputs.model_deployment_details}} | ||
| --model_inference_response ${{outputs.model_inference_response}} | ||
| --deploy_error ${{outputs.deploy_error}} | ||
|
|
||
| inputs: | ||
| # Output of registering component | ||
| registration_details_folder: | ||
| type: uri_folder | ||
| optional: true | ||
| description: Folder containing model registration details in a JSON file named model_registration_details.json | ||
|
|
||
| model_id: | ||
| type: string | ||
| optional: true | ||
| description: | | ||
| Asset ID of the model registered in workspace/registry. | ||
| Registry - azureml://registries/<registry-name>/models/<model-name>/versions/<version> | ||
| Workspace - azureml:<model-name>:<version> | ||
|
|
||
| environment_id: | ||
| type: string | ||
| optional: true | ||
| description: | | ||
| Asset ID of the environment registered in workspace/registry. | ||
| Registry - azureml://registries/<registry-name>/environments/<environment-name>/versions/<version> | ||
| Workspace - azureml:<environment-name>:<version> | ||
|
|
||
| inference_payload: | ||
| type: uri_file | ||
| optional: true | ||
| description: JSON payload which would be used to validate deployment | ||
|
|
||
| inference_payload_str: | ||
| type: string | ||
| optional: true | ||
| description: Serialized JSON payload which would be used to validate deployment | ||
|
|
||
| endpoint_name: | ||
| type: string | ||
| optional: true | ||
| description: Name of the endpoint | ||
|
|
||
| deployment_name: | ||
| type: string | ||
| optional: true | ||
| default: default | ||
| description: Name of the deployment | ||
|
|
||
| instance_type: | ||
| type: string | ||
| optional: true | ||
| enum: | ||
| - Standard_DS1_v2 | ||
| - Standard_DS2_v2 | ||
| - Standard_DS3_v2 | ||
| - Standard_DS4_v2 | ||
| - Standard_DS5_v2 | ||
| - Standard_F2s_v2 | ||
| - Standard_F4s_v2 | ||
| - Standard_F8s_v2 | ||
| - Standard_F16s_v2 | ||
| - Standard_F32s_v2 | ||
| - Standard_F48s_v2 | ||
| - Standard_F64s_v2 | ||
| - Standard_F72s_v2 | ||
| - Standard_FX24mds | ||
| - Standard_FX36mds | ||
| - Standard_FX48mds | ||
| - Standard_E2s_v3 | ||
| - Standard_E4s_v3 | ||
| - Standard_E8s_v3 | ||
| - Standard_E16s_v3 | ||
| - Standard_E32s_v3 | ||
| - Standard_E48s_v3 | ||
| - Standard_E64s_v3 | ||
| - Standard_NC4as_T4_v3 | ||
| - Standard_NC6s_v2 | ||
| - Standard_NC6s_v3 | ||
| - Standard_NC8as_T4_v3 | ||
| - Standard_NC12s_v2 | ||
| - Standard_NC12s_v3 | ||
| - Standard_NC16as_T4_v3 | ||
| - Standard_NC24s_v2 | ||
| - Standard_NC24s_v3 | ||
| - Standard_NC24rs_v3 | ||
| - Standard_NC24ads_A100_v4 | ||
| - Standard_NC48ads_A100_v4 | ||
| - Standard_NC96ads_A100_v4 | ||
| - Standard_NC64as_T4_v3 | ||
| - Standard_ND40rs_v2 | ||
| - Standard_ND96asr_v4 | ||
| - Standard_ND96amsr_A100_v4 | ||
| default: Standard_NC24s_v3 | ||
| description: Compute instance type to deploy model. Make sure that instance type is available and have enough quota available. | ||
|
|
||
| instance_count: | ||
| type: integer | ||
| optional: true | ||
| default: 1 | ||
| description: Number of instances you want to use for deployment. Make sure instance type have enough quota available. | ||
|
|
||
| max_concurrent_requests_per_instance: | ||
| type: integer | ||
| default: 1 | ||
| optional: true | ||
| description: Maximum concurrent requests to be handled per instance | ||
|
|
||
| request_timeout_ms: | ||
| type: integer | ||
| default: 60000 | ||
| optional: true | ||
| description: Request timeout in ms. Max limit is 90000. | ||
|
|
||
| max_queue_wait_ms: | ||
| type: integer | ||
| default: 60000 | ||
| optional: true | ||
| description: Maximum queue wait time of a request in ms | ||
|
|
||
| failure_threshold_readiness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: The number of times system will try after failing the readiness probe | ||
|
|
||
| success_threshold_readiness_probe: | ||
| type: integer | ||
| default: 1 | ||
| optional: true | ||
| description: The minimum consecutive successes for the readiness probe to be considered successful after having failed | ||
|
|
||
| timeout_readiness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: The number of seconds after which the readiness probe times out | ||
|
|
||
| period_readiness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: How often (in seconds) to perform the readiness probe | ||
|
|
||
| initial_delay_readiness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: The number of seconds after the container has started before the readiness probe is initiated | ||
|
|
||
| failure_threshold_liveness_probe: | ||
| type: integer | ||
| default: 30 | ||
| optional: true | ||
| description: The number of times system will try after failing the liveness probe | ||
|
|
||
| timeout_liveness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: The number of seconds after which the liveness probe times out | ||
|
|
||
| period_liveness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: How often (in seconds) to perform the liveness probe | ||
|
|
||
| initial_delay_liveness_probe: | ||
| type: integer | ||
| default: 10 | ||
| optional: true | ||
| description: The number of seconds after the container has started before the liveness probe is initiated | ||
|
|
||
| egress_public_network_access: | ||
| type: string | ||
| default: enabled | ||
| optional: true | ||
| enum: | ||
| - enabled | ||
| - disabled | ||
| description: Setting it to disabled secures the deployment by restricting communication between the deployment and the Azure resources used by it | ||
|
|
||
| outputs: | ||
| model_deployment_details: | ||
| type: uri_file | ||
| description: Json file to which deployment details will be written | ||
| model_inference_response: | ||
| type: uri_file | ||
| description: JSON file containing inference results | ||
| deploy_error: | ||
| type: uri_file | ||
| description: File containing error messages or stack traces from the validation step. | ||
|
|
||
| tags: | ||
| Preview: "" | ||
| Internal: "" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -338,4 +338,4 @@ def main(): | |
| # run script | ||
| if __name__ == "__main__": | ||
| # run main function | ||
| main() | ||
| main() | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets reuse these pls, can you pls post on System registry content channel