Beheerde online-eindpunten verkennen
Als u een machine learning-model beschikbaar wilt maken voor andere toepassingen, kunt u het model implementeren op een beheerd online-eindpunt.
U leert hoe u beheerde online-eindpunten gebruikt voor realtime voorspellingen.
Realtime voorspellingen
Als u realtime voorspellingen wilt ophalen, kunt u een model implementeren op een eindpunt. Een eindpunt is een HTTPS-eindpunt waarnaar u gegevens kunt verzenden en waarmee een antwoord (bijna) onmiddellijk wordt geretourneerd.
Alle gegevens die u naar het eindpunt verzendt, dienen als invoer voor het scorescript dat wordt gehost op het eindpunt. Het scorescript laadt het getrainde model om het label voor de nieuwe invoergegevens te voorspellen. Dit wordt ook wel deductie genoemd. Het label maakt vervolgens deel uit van de uitvoer die wordt geretourneerd.
Beheerd online-eindpunt
Binnen Azure Machine Learning zijn er twee soorten online-eindpunten:
- Beheerde online-eindpunten: Azure Machine Learning beheert alle onderliggende infrastructuur.
- Kubernetes online-eindpunten: gebruikers beheren het Kubernetes-cluster dat de benodigde infrastructuur biedt.
Als data scientist kunt u het beste werken met beheerde online-eindpunten om te testen of uw model werkt zoals verwacht wanneer dit wordt geïmplementeerd. Als een Online-eindpunt van Kubernetes is vereist voor beheer en schaalbaarheid, wordt dit waarschijnlijk beheerd door andere teams.
Als u een beheerd online-eindpunt gebruikt, hoeft u alleen het type virtuele machine (VM) en de schaalinstellingen op te geven. Al het andere, zoals het inrichten van rekenkracht en het bijwerken van het hostbesturingssysteem (OS) wordt automatisch voor u uitgevoerd.
Uw model implementeren
Nadat u een eindpunt in de Azure Machine Learning-werkruimte hebt gemaakt, kunt u een model implementeren op dat eindpunt. Als u uw model wilt implementeren op een beheerd online-eindpunt, moet u vier dingen opgeven:
- Modelassets zoals het pickle-bestand van het model of een geregistreerd model in de Azure Machine Learning-werkruimte.
- Scorescript waarmee het model wordt geladen.
- Omgeving waarin alle benodigde pakketten worden vermeld die moeten worden geïnstalleerd op het rekenproces van het eindpunt.
- Rekenconfiguratie inclusief de benodigde rekengrootte en schaalinstellingen om ervoor te zorgen dat u de hoeveelheid aanvragen kunt verwerken die het eindpunt ontvangt.
Belangrijk
Wanneer u MLFlow-modellen implementeert op een online-eindpunt, hoeft u geen scorescript en omgeving op te geven, omdat beide automatisch worden gegenereerd.
Al deze elementen worden gedefinieerd in de implementatie. De implementatie is in wezen een set resources die nodig zijn om het model te hosten dat de werkelijke deductie uitvoert.
Blauw/groen implementatie
Eén eindpunt kan meerdere implementaties hebben. Eén benadering is de blauw/groene implementatie.
Laten we eens kijken naar het voorbeeld van het model van het restaurantbeveelaar. Na experimenten selecteert u het best presterende model. U gebruikt de blauwe implementatie voor deze eerste versie van het model. Wanneer er nieuwe gegevens worden verzameld, kan het model opnieuw worden getraind en wordt een nieuwe versie geregistreerd in de Azure Machine Learning-werkruimte. Als u het nieuwe model wilt testen, kunt u de groene implementatie gebruiken voor de tweede versie van het model.
Beide versies van het model worden geïmplementeerd op hetzelfde eindpunt, dat is geïntegreerd met de toepassing. In de toepassing selecteert een gebruiker een restaurant, waarmee een aanvraag naar het eindpunt wordt verzonden om nieuwe realtime aanbevelingen te krijgen van andere restaurants die de gebruiker leuk vindt.
Wanneer een aanvraag naar het eindpunt wordt verzonden, kan 90% van het verkeer naar de blauwe implementatie*gaan en kan 10% van het verkeer naar de groene implementatie gaan. Met twee versies van het model dat op hetzelfde eindpunt is geïmplementeerd, kunt u het model eenvoudig testen.
Na het testen kunt u ook naadloos overstappen naar de nieuwe versie van het model door 90% van het verkeer om te leiden naar de groene implementatie. Als blijkt dat de nieuwe versie niet beter presteert, kunt u eenvoudig terugdraaien naar de eerste versie van het model door het grootste deel van het verkeer terug te leiden naar de blauwe implementatie.
Met blauw/groen kunnen meerdere modellen worden geïmplementeerd op een eindpunt. U kunt bepalen hoeveel verkeer naar elk geïmplementeerd model moet worden doorgestuurd. Op deze manier kunt u overschakelen naar een nieuwe versie van het model zonder de service te onderbreken voor de consument.
Tip
Meer informatie over veilige implementatie voor online-eindpunten
Een eindpunt maken
Als u een online-eindpunt wilt maken, gebruikt u de ManagedOnlineEndpoint
klasse. Hiervoor zijn de volgende parameters vereist:
name
: Naam van het eindpunt. Moet uniek zijn in de Azure-regio.auth_mode
: Gebruikenkey
voor verificatie op basis van sleutels. Gebruikenaml_token
voor verificatie op basis van tokens op basis van Azure Machine Learning.
Gebruik de volgende opdracht om een eindpunt te maken:
from azure.ai.ml.entities import ManagedOnlineEndpoint
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name="endpoint-example",
description="Online endpoint",
auth_mode="key",
)
ml_client.begin_create_or_update(endpoint).result()
Tip
Bekijk de referentiedocumentatie om een beheerd online-eindpunt te maken met de Python SDK v2.