Vertex AI Guide: Bereitstellung von Llama 2 in der Google Cloud

in

am

Vertex AI ist der Sammelbegriff für alles, was in irgendeiner Form mit KI Lösungen bzw. Anwendungen in der Google Cloud zu tun hat. Entsprechend der großen Nachfrage an einfachen Machine Learning Applikationen und Tools – böse Zungen vermuten einen “Hype” – bietet die Google Cloud mit Vertex AI einen Service, um eigene Models zu erstellen, vorgefertigte Models anzusehen sowie von deren Anwendungen zu profitieren.

Ähnlich wie Sagemaker in AWS ist Vertex AI darauf ausgelegt, Nutzer über ihren gesamten Machine Learning (ML) Workflow, insbesondere beim Trainieren, Deployment und zunehmend wichtiger, der Verwaltung ihrer Modelle, zu unterstützen. Dafür bietet Vertex AI ausgefeilte ML Ops Lösungen, inklusive Alerting und AI Experiments. Es gibt auch vorgefertigte Modelle und Tools auf der Plattform, beispielsweise Bilderkennung, die man mit eigenen Daten trainieren kann. So kann zum Beispiel ein Unternehmen einen Chatbot auf dessen Anleitungen trainieren, damit dieser Aktionen präzise ausführen und Nutzern schneller bei ihren Problemen helfen kann.

Damit schlagen wir den Bogen zu diesem Artikel, denn Llama 2 ist ein Model was unter der Haube bei einem Chatbot Programm eingesetzt werden kann.

Llama 2 für Applikationen nutzen „how to“

Wenn Sie Llama 2 für Ihre Applikation ausführen möchten, dann ist diese Anwendung mit Sicherheit sehr einfach. Für hoch-nachgefragte Models für Produktionsanwendungen gibt es innerhalb von Vertex AI eine Sammlung an out-of-the-box Models. Diese nennt sich Model Garden. Diese Sammlung enthält schlüsselfertige Models von Google, Open Source und Drittanbieter-Unternehmen.

Sie werden feststellen, dass Sie Lama 2 bereits ansehen können und dieses somit im Model Garden verfügbar ist. Entsprechend einfach ist es, einen Endpunkt der Llama 2 Anfragen zurückgibt, bereitzustellen. Ich gehe davon aus, dass Sie bereits ein Google Cloud Projekt mit einem angeschlossenen Billing Account haben. Dann können Sie in dieses Google Cloud Projekt gehen und der Anleitung folgen:

Schritt 1

Zuerst sollten Sie sich die Compute Engine API ansehen und aktivieren. Denn für die Nutzung eines Modells benötigen Sie eine virtuelle Maschine. Die Compute Engine API ist in der Google Cloud für virtuelle Maschinen und Lösungen verantwortlich.

Um diese anzustellen, gehen Sie in das APIs & Services Menü der Plattform. Dort können Sie auf den Enable APIs and Services Button klicken und im folgenden Interface nach der Compute Engine API suchen. Wenn Sie diese gefunden haben, dann klicken Sie im Anschluss auf den blauen “Enable” Button.

Compute Engine API Google Cloud Vertex AI

Compute Engine API Google Cloud Vertex AI 2
Compute Engine API Google Cloud Vertex AI 3

Compute Engine API Google Cloud Vertex AI 4

Schritt 2

Sobald Sie die Compute Engine API aktiviert haben, können Sie sich den Model Garden ansehen. Diesen erreichen Sie als Unterpunkt bei Vertex AI von dem “Burger Menü” in der Google Cloud Konsole.

Übergang zum Model Garden Google Cloud Vertex AI

Von dort aus können Sie Llama 2 bei den Lösungen bzw. Modellen suchen, sollten Sie es nicht wie hier auf dem Screenshot direkt bei den Kacheln sehen.

Übergang zum Model Garden Google Cloud Vertex AI 2

Wenn Sie sich die Details anzeigen lassen, dann können Sie das Model bereitstellen.

Übergang zum Model Garden Google Cloud Vertex AI 3

Schritt 3

Das Kontext Menü zeigt Ihnen die Konfiguration und Daten für die virtuelle Maschine an. Bei Machine type erkennen Sie g2-standard-96. Das ist wichtig, da die gewählte virtuelle Maschine die Kosten bestimmt. 

Pricing Konfiguration für den Maschinentyp Google Cloud Vertex AI

Ein Blick auf die “Pricing” Information für den Maschinentyp “g2” in der “standard” version mit der Konfigurationsstufe “96” verrät, dass Sie der Betrieb dieser Maschine ca. 10$ die Stunde kostet. Oder 240$ am Tag.

Diese Kosten werden von Ihrer Kreditkarte abgebucht, so lange die Maschine läuft.

Deshalb seien Sie am besten vorsichtig, wenn Sie etwas bereitstellen. Es ist unbedingt empfehlenswert zu wissen, wie die Maschine abgestellt werden kann. Sollten Sie nicht weiterkommen mit den beschriebenen Anwendungen, können Sie jederzeit das Google Cloud Projekt und die zugehörigen Daten löschen. Darüber hinaus gibt es auch Support via Chat, wenn Sie sich unsicher sind, wie Sie die Maschine abstellen können, sollten Sie diese bereits bereitgestellt haben.

Pricing Konfiguration für den Maschinentyp Google Cloud Vertex AI 2

Schritt 4

Wie Sie gesehen haben, ist der Prozess sehr zugänglich. Llama 2 aus der Liste wählen und den Deploy Schritten folgen (ggf. Müssen Sie die Vertex AI API aktivieren). Was dann passiert: Eine Kopie des Model Gardens wird zu Ihrer Vertex AI Umgebung gemacht, der sogenannten Model Registry –  doch dazu später mehr – und das Model wird mit einer Maschine an einem Endpunkt im Internet bereitgestellt. Diesen Endpunkt können Sie aus dem Vertex AI Interface unter “Online Prediction” ansehen.

Im Verlauf des Prozesses ist es notwendig, eine über die Google Cloud virtuelle Maschine hochzufahren, auf der das Model liegt.

Hier bitte aufpassen, dass Sie sich nicht in Unkosten stürzen, denn der Computer läuft die ganze Zeit weiter und für diese Laufzeit werden die oben erwähnten Gebühren fällig.

Mit Vertex AI Models in der Google Cloud bereitstellen

Unabhängig davon, ob Sie – wie im Vorherigen – ein fertiges Model nutzen möchten, oder eigene Models als Lösungen haben, lohnt es sich, tiefer einzusteigen. Als Basis dienen Vertex AIs Training und Deployment-Tools, die sich in Freiheitsgraden unterscheiden.

  • Auto ML erlaubt es Ihnen für bestimmte Zwecke, beispielsweise Image Recognition, Ihre eigenen Daten mitzubringen und darauf zu trainieren. Coding- oder spezielle Data-Kenntnisse benötigen Sie dafür nicht.
  • Das andere Extrem ist Custom Training, bei dem Sie alles selber machen können. Von der Training Konfiguration bis hin zum Hyperparameter Tuning liegt beim Erstellen alles in Ihrer Hand.
  • Dazwischen liegt der Model Garden, wo Sie sich Models von Google, Open Source oder Dritten auswählen und direkt zu einem Endpunkt von Ihnen in Vertex AI deployen können.

Wenn Sie unsicher sind, welche Option für Sie (oder möglicherweise für Ihr Unternehmen) die Beste ist, dann hat Google eine Übersicht parat.

Vertex AI – Bereitstellungsprozess „how to“

Mit diesem Wissen können Sie nun den nächsten Schritt in Angriff nehmen: Die Bereitstellung eines eigenen Modells in der Google Cloud über Vertex AI. Die jeweiligen Schritte werden wir in der folgenden Grafik für Sie ausführen. Die Services aus der Google Cloud sind mit dem Google Cloud Logo markiert.

Vertex AI Bereitstellungsprozess

Im Allgemeinen funktioniert Vertex AI für Ihre Models wie folgt:

Schritt 1

Grob dargestellt müssen Sie Ihre Model Artifacts, in der Regel als Python Distribution, auf Google Cloud Storage hochladen. Google Cloud Storage ist die Object Storage Lösung der Google Cloud. Sobald Sie diesen Schritt unternommen haben, können Sie Ihr Model in der Vertex AI Model Registry importieren. Damit haben Sie Ihr erstes Model in die Google Cloud Plattform gebracht.

Schritt 2

Sobald Sie Ihr Model in der Vertex AI Model Registry ansehen können, sind Sie in der Lage, die Computer Ressourcen auswählen, mit denen Sie Ihr Model trainieren möchten – und Ihr Model trainieren. Hierfür bringen Sie Ihre Daten entweder selbst mit, zum Beispiel als Teil des Models – oder verwalten diese in Speicher-Tools wie der Google Cloud. Für Letzteres ist es sinnvoll, eine Tabelle aus BigQuery mit Vertex AI zu einem Feature Store Ressource zu erstellen. Auf diese Daten könnten Sie dann im Trainingsprozess zurückgreifen. Das Vorgehen beim Training hängt von Ihrem Model Typ ab

Schritt 3

Jetzt haben Sie ein Model in der Vertex AI integriert. Für die Kür möchten Sie wahrscheinlich Predictions erstellen, oder besser gesagt, bereitstellen. Es gibt Batch und “online” – oder live – Predictions. Batch Predictions können Sie ähnlich wie einen Training Job ausführen. Sie benötigen Ihr Model und müssen die Compute Ressourcen mieten, damit Sie Ihre Batch Predictions bekommen. Relevanter für Generative AI Models wie Lama 2, sind eindeutig die Online Predictions. Wenn Sie Online Predictions bereitstellen möchten, benötigen Sie auch einen Prediction Container. Der kommt fertig mit Googles AutoML Models oder Models aus dem Model Garden.

Wenn Sie hingegen Predictions für Ihr eigenes Model, also ein Custom Model, wünschen, dann ist es notwendig, den Prediction Container selber bereitzustellen. Dieser unterliegt bestimmten Anforderungen. Insbesondere müssen Sie darauf achten, dass der Endpunkt den Vertex AI für Sie bereitstellt, nur ein Schema für Requests und Response akzeptiert. In anderen Worten, Ihr Prediction Container darf auch nur diese In- und Output Daten ansehen, nehmen und erzeugen.

Schritt 4

Sobald Sie Ihren Prediction Container erstellen und diesen Schritt erfolgreich beenden, können Sie sich bereit machen, diesen auf Vertex AI zu platzieren. Dafür stellen Sie Ihren ersten kostenintensiven Service bereit. Bisher waren alle genutzten Produkte, wenn nicht kostenlos, sehr günstig.

Als Beispiel: Der Cloud Storage, auf dem Ihr Model liegt, kostet Sie nur 2 cent pro GB im Monat. Ihr Model wird wahrscheinlich nicht so groß sein, dass das für Sie wirklich kostspielig wird.

Für das Bereitstellen Ihres Prediction Models hingegen, müssen Sie einen Deployment Resource Pool erstellen. Das ist ein langes Wort für einen – oder mehrere – Computer, die Ihren Prediction Container hosten. Entsprechend der Komplexität und der Anzahl an Requests, die an Ihr Model gestellt werden, sollte dieser Computer entsprechend groß ausfallen. Unter Umständen möchten Sie einen Accelerator hinzufügen. Das bedeutet, zu dem Computer mieten Sie sich gegebenenfalls eine Grafikkarte.

Was dafür wichtig ist: Abhängig von Ihrem Skalierungseinstellungen läuft dieser Computer die ganze Zeit im Hintergrund.

Wenn Sie also diesem Tutorial folgen, dann vergessen Sie bitte nicht, den Deployment Resource Pool zu löschen.

Tipp: Am besten wählen Sie einen günstigen Computer. So fahren Sie mit Sicherheit am effizientesten.

Zusammenfassung – Vertex AI Guide

Nun besitzen Sie ein besseres Verständnis von Vertex AI in der Google Cloud. Sie haben das Know-how erworben, wie Sie den Model Garden dieser Plattform nutzen können, um mit wenigen Klicks einen Prediction Endpunkt out-of-the-box zu erstellen und azubieten. Zusätzlich besitzen Sie das Wissen, dass es verschiedene Model Types in der Google Cloud gibt, deren Daten sich in Auto ML und Custom Models unterscheiden lassen.

Viel Spaß bei der Umsetzung!

Haben Sie Fragen zur Bereitstellung von Llama 2 in der Google Cloud mit Vertex AI? Schreiben Sie mir eine Nachricht:








    Google Cloud mit Vertex AI Konfuzio
    lets work together
    de_DEDE