Wat zijn Azure Machine Learning eindpunten (preview)?

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Gebruik Azure Machine Learning (preview) om modelimplementaties te stroomlijnen voor implementaties van zowel realtime als batchdeferentie. Eindpunten bieden een uniforme interface voor het aanroepen en beheren van modelimplementaties in rekentypen.

In dit artikel leert u het volgende:

  • Eindpunten
  • Implementaties
  • Beheerde online eindpunten
  • Online Kubernetes-eindpunten
  • Batchdeferentie-eindpunten

Wat zijn eindpunten en implementaties (preview)?

Nadat u een machine learning hebt gemaakt, moet u het model implementeren zodat anderen het kunnen gebruiken voor de deferencing. In Azure Machine Learning kunt u eindpunten (preview) en implementaties (preview) gebruiken om dit te doen.

Een eindpunt is een HTTPS-eindpunt dat clients kunnen aanroepen om de deferencing-uitvoer (scoring) van een getraind model te ontvangen. De oplossing biedt het volgende:

  • Verificatie met behulp van verificatie op & basis van een sleutel-token
  • SSL-beëindiging
  • Een stabiele score-URI (endpoint-name.region.inference.ml.azure.com)

Een implementatie is een set resources die vereist is voor het hosten van het model dat de daadwerkelijke deferencing doet.

Eén eindpunt kan meerdere implementaties bevatten. Eindpunten en implementaties zijn onafhankelijk van Azure Resource Manager resources die worden weergegeven in de Azure Portal.

Azure Machine Learning maakt gebruik van het concept van eindpunten en implementaties om verschillende typen eindpunten te implementeren: online eindpunten en batch-eindpunten.

Meerdere interfaces voor ontwikkelaars

Batch- en online-eindpunten maken en beheren met meerdere ontwikkelhulpprogramma's:

  • De Azure CLI
  • Azure Resource Manager/REST API
  • Azure Machine Learning Studio-webportal
  • Azure Portal (IT/beheerder)
  • Ondersteuning voor CI/CD MLOps-pijplijnen met behulp van de Azure CLI-interface & REST/ARM-interfaces

Wat zijn online eindpunten (preview)?

Online-eindpunten (preview) zijn eindpunten die worden gebruikt voor online (realtime) deferencing. Vergeleken met batch-eindpunten bevatten online-eindpunten implementaties die gereed zijn om gegevens van clients te ontvangen en reacties in realtime kunnen terugsturen.

In het volgende diagram ziet u een online-eindpunt met twee implementaties: 'blauw' en 'groen'. De blauwe implementatie maakt gebruik van VM's met een CPU-SKU en voert v1 van een model uit. De groene implementatie maakt gebruik van VM's met een GPU-SKU en v2 van het model. Het eindpunt is geconfigureerd om 90% van het inkomende verkeer naar de blauwe implementatie te routeer, terwijl groen de resterende 10% ontvangt.

Diagram met een eindpunt dat verkeer splitst naar twee implementaties

Vereisten voor online-eindpunten

Als u een online-eindpunt wilt maken, moet u de volgende elementen opgeven:

  • Modelbestanden (of geef een geregistreerd model op in uw werkruimte)
  • Scoring-script: code die nodig is voor het uitvoeren van scoring/deferencing
  • Omgeving: een Docker-afbeelding met Conda-afhankelijkheden of een dockerfile
  • Instellingen voor & rekenkracht

Meer informatie over het implementeren van online-eindpunten vanuit de CLI en de Studio-webportal.

Lokaal testen en implementeren voor snellere debugging

Implementeer lokaal om uw eindpunten te testen zonder in de cloud te implementeren. Azure Machine Learning maakt een lokale Docker-afbeelding die de Azure-ML nabootst. Azure Machine Learning worden implementaties voor u lokaal gebouwd en uitgevoerd, en de installatie afbeelding wordt in de cache opgeslagen voor snelle iteraties.

Native blauwe/groene implementatie

Zoals u weet, kan één eindpunt meerdere implementaties hebben. Via het online-eindpunt kan taakverdeling worden geïmplementeerd om een percentage van het verkeer voor elke implementatie te geven.

Toewijzing van verkeer kan worden gebruikt om veilige blauwe/groene implementaties uit te rollen door aanvragen te balanceren tussen verschillende exemplaren.

Tip

Een aanvraag kan de geconfigureerde taakverdeling voor verkeer omzeilen door een HTTP-header van op te azureml-model-deployment nemen. Stel de headerwaarde in op de naam van de implementatie waar de aanvraag naar moet worden doorgeleid.

Schermopname van de schuifregelaarinterface voor het instellen van verkeerstoewijzing tussen implementaties

Meer informatie over het veilig uitrollen naar online eindpunten.

Integratie Insights toepassingsintegratie

Alle online eindpunten kunnen worden geïntegreerd met Application Insights SLA's te bewaken en problemen vast te stellen.

Beheerde online eindpunten omvatten echter ook out-of-box-integratie met Azure-logboeken en metrische gegevens van Azure.

Beveiliging

  • Verificatie: Sleutel- en Azure ML tokens
  • Beheerde identiteit: door de gebruiker toegewezen en door het systeem toegewezen (alleen beheerd online eindpunt)
  • SSL standaard voor het aanroepen van eindpunten

Automatisch schalen

Automatisch schalen voert automatisch de juiste hoeveelheid resources uit om de belasting van uw toepassing te verwerken. Beheerde eindpunten bieden ondersteuning voor automatisch schalen via integratie met de functie voor automatisch schalen van Azure Monitor. U kunt schalen op basis van metrische gegevens configureren (bijvoorbeeld CPU-gebruik >70%) op planning gebaseerde schaalbaarheid (bijvoorbeeld regels voor het schalen voor piekuren) of een combinatie hiervan.

Schermopname die laat zien dat automatisch schalen flexibel biedt tussen min. en max. exemplaren, afhankelijk van regels

Foutopsporing met Visual Studio Code

Visual Studio Code kunt u interactief fouten opsporen in eindpunten.

Schermopname van eindpuntopsporing in VSCode.

Beheerde online eindpunten versus Kubernetes Online-eindpunten (preview)

Er zijn twee soorten online eindpunten: beheerde online eindpunten (preview) en Kubernetes Online-eindpunten (preview). Beheerde online eindpunten helpen u om uw ML kant-en-klare manier te implementeren. Beheerde online eindpunten werken met krachtige CPU- en GPU-machines in Azure op een schaalbare, volledig beheerde manier. Beheerde online eindpunten zorgen voor het bedienen, schalen, beveiligen en bewaken van uw modellen, en bieden u de overhead van het instellen en beheren van de onderliggende infrastructuur. In het hoofdvoorbeeld in dit document wordt gebruikgemaakt van beheerde online eindpunten voor implementatie.

In de volgende tabel worden de belangrijkste verschillen tussen beheerde online-eindpunten en Kubernetes-online-eindpunten belicht.

Beheerde online eindpunten Online Kubernetes-eindpunten
Aanbevolen gebruikers Gebruikers die een implementatie van een beheerd model en een verbeterde MLOps-ervaring willen Gebruikers die de voorkeur geven aan Kubernetes en zelf infrastructuurvereisten kunnen beheren
Infrastructuurbeheer Inrichting van beheerde rekenkracht, schalen, updates van hostbesturingssysteemafbeeldingen en beveiligingsbeveiliging Gebruikersverantwoordelijkheid
Rekentype Beheerd (AmlCompute) Kubernetes-cluster (Kubernetes)
Out-of-box-bewaking Azure Monitoring
(inclusief belangrijke metrische gegevens zoals latentie en doorvoer)
Niet ondersteund
Out-of-box logboekregistratie Azure-logboeken en Log Analytics op eindpuntniveau Ondersteund
Application Insights Ondersteund Ondersteund
Beheerde identiteit Ondersteund Ondersteund
Virtual Network (VNET) Wordt nog niet ondersteund (er wordt aan gewerkt) Ondersteund
Kosten weergeven Eindpunt- en implementatieniveau Clusterniveau

Beheerde online eindpunten

Beheerde online eindpunten kunnen helpen bij het stroomlijnen van uw implementatieproces. Beheerde online eindpunten bieden de volgende voordelen ten opzichte van Kubernetes Online-eindpunten:

Zie Beheerde online eindpunten implementeren voor een stapsgewijse zelfstudie.

Wat zijn batch-eindpunten (preview)?

Batch-eindpunten (preview) zijn eindpunten die worden gebruikt voor batchdeferencing op grote hoeveelheden gegevens gedurende een bepaalde periode. Batch-eindpunten ontvangen pointers naar gegevens en voeren taken asynchroon uit om de gegevens parallel op rekenclusters te verwerken. Batch-eindpunten slaan uitvoer op in een gegevensopslag voor verdere analyse.

Diagram dat laat zien dat één batch-eindpunt aanvragen naar meerdere implementaties kan leiden, waarvan één de standaardinstelling is.

Vereisten voor Batch-implementatie

Als u een batchimplementatie wilt maken, moet u de volgende elementen opgeven:

  • Modelbestanden (of geef een model op dat is geregistreerd in uw werkruimte)
  • Compute
  • Scorescript: code die nodig is om het scoren/afleiden uit te voeren
  • Omgeving: een Docker-afbeelding met Conda-afhankelijkheden

Als u MLFlow-modellen implementeert,hoeft u geen scorescript en uitvoeringsomgeving op te geven, omdat beide automatisch worden gegenereerd.

Meer informatie over het implementeren en gebruiken van batch-eindpunten met de Azure CLI en de Studio-webportal

Beheerde kosten met automatisch schalen

Het aanroepen van een batch-eindpunt activeert een asynchrone batchdeferentie job. Rekenbronnen worden automatisch ingericht wanneer de taak wordt gestart en de toewijzing wordt automatisch verwijderd wanneer de taak is voltooid. U betaalt dus alleen voor rekenkracht wanneer u deze gebruikt.

U kunt instellingen voor rekenresources (zoals het aantal exemplaren) en geavanceerde instellingen (zoals mini-batchgrootte, foutdrempelwaarde, en meer) voor elke afzonderlijke batchdeferentie job overschrijven om de uitvoering te versnellen en de kosten te verlagen.

Flexibele gegevensbronnen en opslag

U kunt de volgende opties gebruiken voor invoergegevens bij het aanroepen van een batch-eindpunt:

Geef de opslaguitvoerlocatie op naar een gegevensopslag en pad. Standaard slaan batch-eindpunten hun uitvoer op in het standaard blob-opslag van de werkruimte, geordend op de taaknaam (een door het systeem gegenereerde GUID).

Beveiliging

  • Verificatie: Azure Active Directory tokens
  • SSL standaard voor het aanroepen van eindpunten

Volgende stappen