Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Bereitstellungsvorlage ist ein wiederverwendbares, registrierungsbezogenes Artefakt, das die Infrastruktur- und Laufzeiteinstellungen enthält, die ein Modell für den Datenverkehr auf einem verwalteten Onlineendpunkt bereitstellen muss. Als Modellautor veröffentlichen Sie eine Bereitstellungsvorlage zusammen mit Ihrem Modell, damit Verbraucher das Modell konsistent bereitstellen können, ohne jedes Infrastrukturdetails zu erlernen. Als Consumer stellen Sie das Modell mit einer kurzen YAML- oder REST-Nutzlast bereit, da die Bereitstellungsvorlage bereits die Umgebung, Umgebungsvariablen, Probes und andere Einstellungen angibt.
Hinweis
Die in diesem Dokument beschriebene YAML-Syntax basiert auf dem JSON-Schema für die neueste Version der ML CLI v2-Erweiterung. Die Funktion dieser Syntax wird nur mit der neuesten Version der ML CLI v2-Erweiterung garantiert. Die Schemas für ältere Erweiterungsversionen finden Sie unter https://azuremlschemasprod.azureedge.net/.
Warum Bereitstellungsvorlagen verwenden?
Bereitstellungsvorlagen helfen Ihnen dabei, die Bedenken der Modellerstellung von der Modellnutzung zu trennen:
- Wiederverwendbarkeit Erstellen Sie eine Bereitstellungsvorlage einmal, und verwenden Sie sie in vielen Modellen in der Registrierung oder in vielen Versionen desselben Modells wieder.
- Leitplanken Beschränken Sie die Instanztypen, die Nutzer verwenden können, indem Sie
allowed_instance_typesin der Vorlage festlegen, und veröffentlichen Sie eine kuratierte Auswahl an Bereitstellungsvorlagen für Nutzer, indem Sieallowed_deployment_templatesim Modell festlegen. - Konsistenz. Jeder Nutzer, der das Modell bereitstellt, erhält dasselbe Umgebungs-Image, denselben Scoring-Port, dieselben Probes und dieselben Anfrageeinstellungen, wodurch Abweichungen zwischen Bereitstellungen reduziert werden.
- Entkoppelter Lebenszyklus. Aktualisieren Sie eine Bereitstellungsvorlagenversion, ohne das Modellartefakt zu ändern, und lassen Sie das
default_deployment_templatedes Modells dann auf die neue Version verweisen, wenn die Nutzer sie verwenden sollen.
Wichtige Konzepte
Eine Bereitstellungsvorlage weist die folgenden Merkmale auf:
- Gilt für den Registrierungsumfang. Bereitstellungsvorlagen befinden sich in einer Azure Machine Learning-Registrierung, nicht in einem Arbeitsbereich. Sie verweisen anhand ihrer URI des Registrierungsobjekts auf sie:
azureml://registries/<registry-name>/deploymenttemplates/<template-name>/versions/<version>. - Versioniert. Jede Bereitstellungsvorlage hat einen Namen und eine Version. Nutzer verweisen auf eine bestimmte Version, sodass Aktualisierungen an der Vorlage laufende Bereitstellungen nicht ändern, bis die Nutzer erneut bereitstellen.
- Geben Sie
Managedein. Bereitstellungsvorlagen unterstützen derzeit den TypManaged, der für verwaltete Onlineendpunkte vorgesehen ist. - An eine Registrierungsumgebung gebunden. Das Feld
environmentin einer Bereitstellungsvorlage muss auf eine auf Registrierungsebene definierte Umgebung verweisen. Auf den Arbeitsbereich beschränkte Umgebungen und Inline-Umgebungsdefinitionen werden nicht unterstützt.
Ein Modell, das Bereitstellungsvorlagen verwendet, weist zwei verwandte Felder auf:
-
default_deployment_template– die Bereitstellungsvorlage, die verwendet wird, wenn ein Benutzer das Modell bereitstellt, ohne eine Überschreibung anzugeben. -
allowed_deployment_templates— eine optionale, kuratierte Liste der Bereitstellungsvorlagen, die vom Modellautor den Verbrauchern zur Verwendung als Überschreibung empfohlen wird.
Eine Bereitstellung, die auf ein Modell mit einem default_deployment_template verweist, kann dieses überschreiben, indem properties."azureml.deploymentTemplateOverride" auf die Registrierungsobjekt-URI der Außerkraftsetzungsvorlage festgelegt wird.
Der Ablauf auf einen Blick
Der End-to-End-Ablauf umfasst drei Rollen: den Besitzer der Umgebung, den Modellautor und den Modellanwender. Dieselbe Person kann alle drei Rollen spielen.
- Erstellen Sie eine Umgebung. Der Umgebungsbesitzer erstellt eine Umgebung in einem Arbeitsbereich und gibt sie für eine Registrierung frei.
- Erstellen Sie eine Bereitstellungsvorlage. Der Modellautor erstellt in der Registrierung eine Bereitstellungsvorlage, die auf die registrierungsbezogene Umgebung verweist, und legt Infrastruktureigenschaften wie z. B.
default_instance_type,allowed_instance_types, Bewertungspfad und Port, Umgebungsvariablen und Sondierungen fest. - Registrieren des Modells. Der Modellautor registriert das Modell in der Registry, während er die Modellgewichte hochlädt und
default_deployment_template(und optionalallowed_deployment_templates) am Modell festlegt. - Bereitstellen des Modells. Der Verbraucher erstellt einen verwalteten Onlineendpunkt in einem Arbeitsbereich und erstellt eine Bereitstellung, die auf das Registrierungsmodell verweist. Die Bereitstellung verwendet die Standardbereitstellungsvorlage des Modells, oder es wird eine Überschreibung angegeben, die in der Liste der zulässigen Überschreibungen des Modells enthalten ist.
Schrittweise Anweisungen finden Sie unter:
- Verwalten von Modellen mit Bereitstellungsvorlagen (Modellautor)
- Bereitstellen von Modellen, die Bereitstellungsvorlagen verwenden (Modellanwender)
Beziehung zu Umgebungen und Modellen
Bereitstellungsvorlagen befinden sich zwischen Umgebungen und Modellen in der Registry:
- Eine Umgebung beschreibt das Containerimage und Python Abhängigkeiten, die Ihren Bewertungscode ausführen. Eine registrierungsbezogene Umgebung kann in vielen Bereitstellungsvorlagen referenziert werden.
- Eine Deploymentvorlage beschreibt, wie Sie ein Modell auf einem verwalteten Online-Endpunkt ausführen, unter Verweis auf eine registrierungsbezogene Umgebung sowie Infrastruktureinstellungen.
- Ein Modell in der Registrierung kann eine Vorlage für Bereitstellungen als Standard festlegen und optional die zulässigen Überschreibungen von Bereitstellungsvorlagen einschränken. Verschiedene Modelle können dieselbe Bereitstellungsvorlage wiederverwenden oder verschiedene Bereitstellungsvorlagen anheften.
Veränderlichkeit
Bereitstellungsvorlagen und Modelle folgen unterschiedlichen Veränderbarkeitsregeln, sodass eine Bereitstellungsvorlagenversion ein stabiles, reproduzierbares Ziel bleibt, während eine Modellversion aktualisierte Infrastrukturpaare aufnehmen kann.
- Die Bereitstellungsvorlagenversion ist unveränderlich. Nachdem Sie eine Version der Bereitstellungsvorlage erstellt haben, können in dieser Version nur die Felder
tagsunddescriptiondirekt aktualisiert werden. Felder, die das Laufzeitverhalten beeinflussen – wie etwaenvironment,environment_variables,default_instance_type,allowed_instance_types,request_settings,liveness_probeundreadiness_probe– sind unveränderlich. Um eine dieser Elemente zu ändern, erstellen Sie eine neue Version der Bereitstellungsvorlage. Dadurch wird sichergestellt, dass ein Nutzer, der auf eine bestimmte Version einer Bereitstellungsvorlage festgelegt ist, immer dieselbe Infrastrukturkonfiguration erhält. - Die Modellversion ist für Verweise auf Bereitstellungsvorlagen änderbar. In einer bestehenden Modellversion können Sie
default_deployment_templateundallowed_deployment_templatesso aktualisieren, dass sie auf neue Bereitstellungsvorlagen oder auf neue Versionen einer bestehenden Bereitstellungsvorlage verweisen. Sie müssen keine neue Modellversion erstellen, um eine neue Infrastrukturkonfiguration auszurollen; erhöhen Sie stattdessen die Version der Bereitstellungsvorlage und aktualisieren Sie die Verweise des Modells, es sei denn, Sie entscheiden sich dafür, eine neue Modellversion zu erstellen.
Einschränkungen und Überlegungen
- Bereitstellungsvorlagen befinden sich in der Vorschau. Schema und Verhalten können sich ändern.
- Bereitstellungsvorlagen unterstützen nur den
ManagedTyp. Verwenden Sie sie mit verwalteten Onlineendpunkten, nicht mit Kubernetes-Onlineendpunkten oder Batchendpunkten. - Das Feld
environmentmuss auf eine registrierungsbezogene Umgebung verweisen. Geben Sie Arbeitsbereichsumgebungen in einer Registry frei, bevor Sie darauf verweisen. - Die
allowed_deployment_templates-Liste des Modells ist eine Orientierungshilfe für Autoren, keine verbindliche Einschränkung. Ein Modellautor verwendet es, um eine kuratierte Sammlung validierter Überschreibungs-Vorlagen zu veröffentlichen, aber die Plattform verhindert keine Bereitstellung, die eine Vorlage außerhalb dieser Liste verwendet. - Ein in einer Bereitstellung angegebenes
instance_typemuss in derallowed_instance_types-Liste der Bereitstellungsvorlage enthalten sein, wenn diese in der Vorlage festgelegt ist.