Nach der Erstellung eines benutzerdefinierten foundation model können Sie eine Bereitstellung für das Modell erstellen, um es für die Inferenzierung verfügbar zu machen.
Voraussetzungen
Sie müssen Ihre Anmeldedaten für die Aufgabe einrichten, indem Sie einen API-Schlüssel erstellen. Weitere Informationen finden Sie unter Verwalten von Berechtigungsnachweisen für Aufgaben.
Bevor Sie Ihr Modell bereitstellen, prüfen Sie die Verfügbaren Hardwarespezifikationen und wählen Sie eine vordefinierte Hardwarespezifikation, die zu Ihrem Modell passt.
Prüfen Sie außerdem, ob die verfügbaren Softwarespezifikationen zu Ihrer Modellarchitektur passen. Einzelheiten finden Sie unter Unterstützte Modellarchitekturen.
Erstellen eines Einsatzes über die Benutzeroberfläche watsonx.ai
Gehen Sie folgendermaßen vor, um eine Bereitstellung für ein benutzerdefiniertes foundation model zu erstellen:
Gehen Sie in Ihrem Bereitstellungsbereich oder in Ihrem Projekt auf die Registerkarte Assets.
Suchen Sie Ihr Modell in der Asset-Liste, klicken Sie auf das Menüsymbol " und wählen Sie Verteilen.
Geben Sie einen Namen für Ihre Bereitstellung ein und geben Sie optional einen Serving-Namen, eine Beschreibung und Tags ein.
Hinweis:- Verwenden Sie das Feld Verteilungsname, um anstelle der Verteilungs-ID einen Namen für Ihre Verteilung anzugeben.
- Der Serving-Name muss innerhalb des Namensraumes eindeutig sein.
- Der Name des Dienstes darf nur diese Zeichen enthalten:a-z,0-9,_] und darf maximal 36 Zeichen lang sein.
- In Arbeitsabläufen, in denen Ihr benutzerdefiniertes foundation model regelmäßig verwendet wird, sollten Sie in Erwägung ziehen, Ihrem Modell jedes Mal denselben Serving-Namen zuzuweisen, wenn Sie es einsetzen. Auf diese Weise können Sie nach dem Löschen und erneuten Bereitstellen des Modells weiterhin denselben Endpunkt in Ihrem Code verwenden.
Wählen Sie eine Konfiguration und eine Software-Spezifikation für Ihr Modell.
Optional: Wenn Sie einige der Parameter des Basismodells überschreiben möchten, klicken Sie auf Modellbereitstellungsparameter und geben Sie dann neue Parameterwerte ein:
- Datentyp: Wählen Sie float16 oder bfloat16, um den Datentyp für Ihr Modell anzugeben.
- Max. Losgröße: Geben Sie die maximale Losgröße für Ihr Modell ein.
- Max gleichzeitige Anfragen: Geben Sie die maximale Anzahl der gleichzeitigen Anfragen an Ihr Modell ein, die gestellt werden können.
- Max neue Token: Geben Sie die maximale Anzahl von Token an, die für Ihr Modell für eine Inferenzanfrage erstellt werden können.
- Max Sequenzlänge: Geben Sie die maximale Sequenzlänge für Ihr Modell ein.
Klicken Sie auf Erstellen.
Wenn Sie die Software-Spezifikation " watsonx-cfm-caikit-1.1
für die Bereitstellung Ihres Modells verwenden, wird der Wert des Parameters " max_concurrent_requests
nicht verwendet.
Bereitstellung testen
Führen Sie diese Schritte aus, um die Bereitstellung Ihres benutzerdefinierten foundation model zu testen:
Öffnen Sie in Ihrem Bereitstellungsbereich oder Ihrem Projekt die Registerkarte Bereitstellungen und klicken Sie auf den Namen der Bereitstellung.
Klicken Sie auf die Registerkarte Test, um einen Aufforderungstext einzugeben und eine Antwort vom bereitgestellten Asset zu erhalten.
Geben Sie die Testdaten in einem der folgenden Formate ein, abhängig von der Art des Assets, das Sie bereitgestellt haben:
- Text: Geben Sie Texteingabedaten ein, um einen Textblock als Ausgabe zu erzeugen.
- Stream: Geben Sie Texteingabedaten ein, um einen Textstrom als Ausgabe zu erzeugen.
- JSON: Geben Sie JSON-Eingabedaten ein, um eine Ausgabe im JSON-Format zu erzeugen.
Klicken Sie auf Generieren, um Ergebnisse zu erhalten, die auf Ihrer Eingabeaufforderung basieren.
Abrufen des Endpunkts für benutzerdefinierte foundation model
Gehen Sie folgendermaßen vor, um die Endpunkt-URL für Ihre benutzerdefinierte foundation model abzurufen. Sie benötigen diese URL, um von Ihren Anwendungen aus auf die Bereitstellung zuzugreifen:
- Öffnen Sie in Ihrem Bereitstellungsbereich oder Ihrem Projekt die Registerkarte Bereitstellungen und klicken Sie auf den Namen der Bereitstellung.
- Auf der Registerkarte API-Referenz finden Sie die Links zu den privaten und öffentlichen Endpunkten und die Codeausschnitte, die Sie verwenden können, um die Endpunktdetails in eine Anwendung aufzunehmen.
Wenn Sie bei der Erstellung Ihrer Online-Bereitstellung Servicename hinzugefügt haben, sehen Sie zwei Endpunkt-URLs. Die erste URL enthält die Bereitstellungs-ID, die zweite URL enthält den Namen Ihres Servers. Sie können entweder eine dieser URLs mit Ihrer Implementierung verwenden.
Programmgesteuertes Erstellen einer Bereitstellung
Um die watsonx.ai API zu verwenden, benötigen Sie ein Inhaber-Token. Weitere Informationen finden Sie unter Berechtigungsnachweise für den programmatischen Zugang.
- Sie können die Standardwerte Ihrer benutzerdefinierten foundation model im Feld "
online.parameters.foundation_model
überschreiben. - Wenn Sie die Software-Spezifikation "
watsonx-cfm-caikit-1.1
für die Bereitstellung Ihres Modells verwenden, wird der Parameter "max_concurrent_requests
nicht verwendet. - Verwenden Sie das Feld Verteilungsname, um anstelle der Verteilungs-ID einen Namen für Ihre Verteilung anzugeben.
- Der Serving-Name muss innerhalb des Namensraumes eindeutig sein.
- Der Name des Dienstes darf nur diese Zeichen enthalten:a-z,0-9,_] und darf maximal 36 Zeichen lang sein.
- In Arbeitsabläufen, in denen Ihr benutzerdefiniertes foundation model regelmäßig verwendet wird, sollten Sie in Erwägung ziehen, Ihrem Modell jedes Mal denselben Serving-Namen zuzuweisen, wenn Sie es einsetzen. Auf diese Weise können Sie nach dem Löschen und erneuten Bereitstellen des Modells weiterhin denselben Endpunkt in Ihrem Code verwenden.
So stellen Sie ein benutzerdefiniertes foundation model programmgesteuert bereit:
Initiieren Sie die Modellbereitstellung. In diesem Code finden Sie ein Beispiel für einen Einsatz im Weltraum:
curl -X POST "https://<your cloud hostname>/ml/v4/deployments?version=2024-01-29" \ -H "Authorization: Bearer $TOKEN" \ -H "content-type: application/json" \ --data '{ "asset":{ "id":<your custom foundation model asset id> }, "online":{ "parameters":{ "serving_name":"test_custom_fm", "foundation_model": { "max_sequence_length": 4096 } } }, "hardware_request": { "size": "<configuration size>", "num_nodes": 1 }, "description": "Testing deployment using custom foundation model", "name":"custom_fm_deployment", "space_id":<your space id> }'
Der Parameter
size
kanngpu_s
,gpu_m
, odergpu_l
sein.
Für Projektbereitstellungen verwenden Sie stattspace_id
project_id
.Die Einsatz-ID wird in der API-Antwort im Feld
metadata.id
zurückgegeben.Verwenden Sie die Einsatz-ID, um den Einsatzstatus abzufragen. In diesem Code finden Sie ein Beispiel dafür, wie Sie den Status eines Modells abfragen können, das für ein Projekt bereitgestellt wird.
curl -X GET "https://<your cloud hostname>/ml/v4/deployments/<your deployment ID>?version=2024-01-29&project_id=<your project ID>" \ -H "Authorization: Bearer $TOKEN"
Das
deployed_asset_type
wird alscustom_foundation_model
zurückgegeben. Warten Sie, bis der Status voninitializing
aufready
wechselt.
Nächste Schritte
Aufforderung zu einem benutzerdefinierten foundation model
Übergeordnetes Thema: Einsatz von benutzerdefinierten Foundation-Modellen