Integración de Azure Machine Learning con herramientas de DevOps
Imagine que trabaja con un equipo de ciencia de datos en un proyecto de aprendizaje automático. El equipo puede optar por usar Azure DevOps o GitHub para planear el trabajo, almacenar el repositorio de código y automatizar flujos de trabajo.
Con cualquiera de los conjuntos de herramientas, suele haber dos roles:
- Administrador: configura el entorno de DevOps y administra las herramientas.
- Usuario final: contribuye al proyecto colaborando en el desarrollo. Se conecta a las herramientas, pero tiene acceso restringido a la configuración del entorno de DevOps.
El administrador es responsable de conectar Azure Machine Learning con Azure DevOps o GitHub. Para comprender cómo se configura la integración con Azure Machine Learning, veamos cómo un administrador conectaría de forma segura Azure DevOps y GitHub con Azure Machine Learning.
Configurar Azure DevOps
Para conectar Azure DevOps con Azure Machine Learning, primero debe crear una organización y un proyecto. Usará la organización para agrupar y administrar proyectos.
Para empezar, inicie sesión en Azure DevOps con una cuenta de Microsoft o GitHub.
Una vez que haya iniciado sesión, puede crear una organización.
Dentro de una organización, puede crear varios proyectos.
Para cada proyecto, tendrá acceso a herramientas como Boards, Repos y Pipelines para aplicar los principios de DevOps en el proyecto.
Conectar Azure DevOps con Azure Machine Learning
Para acceder de forma segura al área de trabajo de Azure Machine Learning desde Azure DevOps, tendrá que crear una conexión de servicio.
Al crear una conexión de servicio, define cómo se autenticará Azure DevOps para conectarse a otro servicio. Al trabajar con Azure Machine Learning, la opción recomendada es permitir que Azure DevOps cree una entidad de servicio automáticamente.
Se crea una entidad de servicio como una identidad en Microsoft Entra ID. En lugar de usar las credenciales de un miembro del equipo para conectarse con Azure Machine Learning, Azure DevOps usa las credenciales de la entidad de servicio.
Cuando se crea un proyecto de Azure DevOps, puede conectarse a un área de trabajo de Azure Machine Learning existente:
- En un proyecto, vaya a Configuración del proyecto.
- Seleccione Conexiones de servicio y cree una.
- Haga clic en Azure Resource Manager.
- Elija autenticarse con una entidad de servicio automática.
- Establezca el nivel de ámbito en Área de trabajo de Machine Learning y conéctese a un área de trabajo de Azure Machine Learning existente a la que tenga acceso.
- Conceda permiso de acceso a todas las canalizaciones.
- Asigne un nombre a la conexión del servicio. Usará el nombre siempre que necesite autenticar Azure DevOps para administrar el área de trabajo de Azure Machine Learning.
Una vez creada la conexión de servicio, observará que una entidad de servicio recién creada tiene acceso de Colaborador al área de trabajo de Azure Machine Learning.
Configuración de GitHub
Para conectar GitHub con Azure Machine Learning, primero debe crear un repositorio de GitHub.
Primero inicie sesión en GitHub.
Después de iniciar sesión en GitHub, puede elegir si quiere ser el propietario del repositorio o si, en su lugar, desea que sea una organización de GitHub.
Sugerencia
Obtenga más información sobre el uso de organizaciones de GitHub para administrar repositorios.
Conectar GitHub con Azure Machine Learning
Para usar GitHub para automatizar flujos de trabajo de aprendizaje automático, puede autenticar GitHub para conectarse con Azure Machine Learning. Para configurar una conexión segura, tendrá que hacer lo siguiente:
- Cree una entidad de servicio en Azure.
- Agregue las credenciales de la entidad de servicio a los secretos del repositorio.
Para crear una entidad de servicio, puede usar la CLI de Azure. Para trabajar con la CLI, una opción es enviar comandos en Azure Cloud Shell.
Puede crear una entidad de servicio denominada github-aml-sp
que tendrá acceso de Colaborador al área de trabajo de Azure Machine Learning con el siguiente comando:
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
Una vez creada la entidad de servicio, se le devolverá texto JSON como salida que incluye las credenciales que GitHub necesita para conectarse al grupo de recursos de Azure. Copie el texto JSON y guárdelo para el paso siguiente.
Para almacenar estas credenciales en GitHub:
- Vaya a la Configuración del repositorio.
- Vaya a la página Secretos.
- Seleccione Actions (Acciones).
- Agregue un nuevo secreto de repositorio.
- Escriba
AZURE_CREDENTIALS
para el nombre. - Pegue la salida JSON con las credenciales y agregue el secreto.
Una vez agregado el secreto a GitHub, puede usar el secreto AZURE_CREDENTIALS
siempre que necesite la autenticación de GitHub para trabajar con el área de trabajo de Azure Machine Learning.
Sugerencia
Continúe aprendiendo sobre la integración de GitHub con Azure Machine Learning y explore cómo usar Acciones de GitHub con Azure Machine Learning. En el tutorial se usa el secreto AZURE_CREDENTIALS
para la conexión con Azure.