Datenintelligenz von Platon.
Vertikale Suche & KI.

Gemma ist jetzt in Amazon SageMaker JumpStart | verfügbar Amazon Web Services

Datum:

Heute freuen wir uns, Ihnen mitteilen zu können, dass die Gemma Das Modell ist jetzt für Kunden verfügbar Amazon SageMaker-JumpStart. Gemma ist eine Familie von Sprachmodelle Basierend auf den Gemini-Modellen von Google, trainiert auf bis zu 6 Billionen Text-Tokens. Die Gemma-Familie besteht aus zwei Größen: einem 7-Milliarden-Parameter-Modell und einem 2-Milliarden-Parameter-Modell. Jetzt können Sie die vorab trainierten und durch Anweisungen abgestimmten Modelle Gemma 2B und Gemma 7B verwenden SageMaker-JumpStart. JumpStart ist der Hub für maschinelles Lernen (ML) von SageMaker, der neben integrierten Algorithmen und End-to-End-Lösungsvorlagen Zugriff auf grundlegende Modelle bietet, um Ihnen den schnellen Einstieg in ML zu erleichtern.

In diesem Beitrag erklären wir Ihnen, wie Sie das Gemma-Modell bereitstellen und es für Ihre Anwendungsfälle in SageMaker JumpStart optimieren. Das komplette Notizbuch ist auf verfügbar GitHub.

Gemma-Modell

Gemma ist eine Familie von leichten, hochmodernen für Gebaut auf der Grundlage der gleichen Forschung und Technologie, die auch bei der Herstellung verwendet wurde Gemini Modelle. Gemma wurde von Google DeepMind und anderen Teams bei Google entwickelt und ist von Gemini inspiriert. Gemma verfügt über starke generalistische Fähigkeiten in Textdomänen und über hochmoderne Verständnis- und Argumentationsfähigkeiten im großen Maßstab. Es erzielt eine bessere Leistung im Vergleich zu anderen öffentlich verfügbaren Modellen mit ähnlichem oder größerem Maßstab in verschiedenen Bereichen, einschließlich Fragebeantwortung, vernünftigem Denken, Mathematik und Naturwissenschaften sowie Codierung. Gemma hat die Modellgewichte veröffentlicht, um Entwicklerinnovationen mithilfe von Gemma-Modellen zu unterstützen. Gemma wurde mit einem neuen Produkt auf den Markt gebracht Verantwortungsbewusstes generatives KI-Toolkit Das bietet Anleitungen und wichtige Tools zum Erstellen sichererer KI-Anwendungen mit Gemma.

Foundation-Modelle in SageMaker

JumpStart bietet Zugriff auf eine Reihe von Modellen aus beliebten Modell-Hubs, darunter Hugging Face, PyTorch Hub und TensorFlow Hub, die Sie in Ihrem ML-Entwicklungsworkflow in SageMaker verwenden können. Jüngste Fortschritte in ML haben zu einer neuen Klasse von Modellen geführt, die als bekannt sind Gründungsmodelle, die in der Regel mit Milliarden von Parametern trainiert werden und an eine Vielzahl von Anwendungsfällen angepasst werden können, z. B. Textzusammenfassung, Generierung digitaler Kunst und Sprachübersetzung. Da das Trainieren dieser Modelle teuer ist, möchten Kunden vorhandene vortrainierte Basismodelle verwenden und sie nach Bedarf feinabstimmen, anstatt diese Modelle selbst zu trainieren. SageMaker bietet eine kuratierte Liste von Modellen, aus denen Sie in der SageMaker-Konsole auswählen können.

Sie können jetzt in JumpStart Stiftungsmodelle von verschiedenen Modellanbietern finden, sodass Sie schnell mit Stiftungsmodellen beginnen können. Sie können Grundlagenmodelle basierend auf verschiedenen Aufgaben oder Modellanbietern finden und Modelleigenschaften und Nutzungsbedingungen überprüfen. Sie können diese Modelle auch mit einem Test-UI-Widget ausprobieren. Wenn Sie ein Grundmodell im großen Maßstab verwenden möchten, können Sie dies tun, ohne SageMaker zu verlassen, indem Sie vorgefertigte Notebooks von Modellanbietern verwenden. Da die Modelle auf AWS gehostet und bereitgestellt werden, werden Ihre Daten, unabhängig davon, ob sie zur Bewertung des Modells oder zur Verwendung in großem Maßstab verwendet werden, niemals an Dritte weitergegeben.

Lassen Sie uns untersuchen, wie Sie das Llama Guard-Modell in JumpStart verwenden können.

Entdecken Sie das Gemma-Modell in Jumpstart

Sie können über SageMaker JumpStart in der SageMaker Studio-Benutzeroberfläche und dem SageMaker Python SDK auf Gemma-Grundlagenmodelle zugreifen. In diesem Abschnitt erfahren Sie, wie Sie die Modelle in SageMaker Studio entdecken.

SageMaker Studio ist eine integrierte Entwicklungsumgebung (IDE), die eine einzige webbasierte visuelle Schnittstelle bietet, über die Sie auf speziell entwickelte Tools zugreifen können, um alle ML-Entwicklungsschritte durchzuführen, von der Datenvorbereitung bis hin zum Erstellen, Trainieren und Bereitstellen Ihrer ML-Modelle. Weitere Informationen zu den ersten Schritten und zur Einrichtung von SageMaker Studio finden Sie unter Amazon SageMaker-Studio.

Gehen Sie in der AWS Management Console für SageMaker Studio zu SageMaker JumpStart unter Vorgefertigte und automatisierte Lösungen. Jumpstart enthält vorab trainierte Modelle, Notebooks und vorgefertigte Lösungen.

Auf der SageMaker JumpStart-Landingpage können Sie das Gemma-Modell finden, indem Sie nach Gemma suchen.

Sie können dann aus einer Vielzahl von Gemma-Modellvarianten auswählen, darunter Gemma 2B, Gemma 7B, Gemma 2B Instruct und Gemma 7B Instruct.

Wählen Sie die Modellkarte aus, um Details zum Modell anzuzeigen, z. B. die Lizenz, die zum Training verwendeten Daten und die Verwendung des Modells. Sie finden auch eine Deploy Klicken Sie auf die Schaltfläche, die Sie zu einer Zielseite führt, auf der Sie die Inferenz mit einer Beispielnutzlast testen können.

Stellen Sie Gemma mit dem SageMaker Python SDK bereit

Den Code, der die Bereitstellung von Gemma zeigt, finden Sie auf JumpStart und ein Beispiel für die Verwendung des bereitgestellten Modells in dieses GitHub-Notizbuch.

Wählen Sie zunächst die SageMaker Model Hub-Modell-ID und die Modellversion aus, die bei der Bereitstellung von Gemma verwendet werden sollen.

model_id, model_version = "huggingface-llm-gemma-7b-instruct", "*"

Wählen Sie eine Modell-ID aus der folgenden Tabelle aus, die die Standardkonfigurationsoptionen für die JumpStart-Bereitstellung detailliert beschreibt. Aufgrund der großen Vokabulargröße von 256 Token passt Gemma 7B nur auf eine einzelne A10G-GPU, wenn eine Kontextlänge von 1 unterstützt wird. Aus diesem Grund verwendet JumpStart eine größere Standardinstanz für Gemma 7B.

Modell-ID Standardinferenzinstanz Tensorparalleler Grad Unterstützte Kontextlänge
Huggingface-llm-gemma-2b ml.g5.xlarge 1 8k
Huggingface-llm-gemma-2b-instruct ml.g5.xlarge 1 8k
Huggingface-llm-gemma-7b ml.g5.12xgroß 4 8k
Huggingface-llm-gemma-7b-instruct ml.g5.12xgroß 4 8k

Sie können das Modell jetzt mit SageMaker JumpStart bereitstellen. Der folgende Code verwendet die Standardinstanz ml.g5.12xlarge für den Inferenzendpunkt Sie können das Modell durch Übergeben auf anderen Instanztypen bereitstellen instance_type der JumpStartModel Klasse. Die Bereitstellung kann 5–10 Minuten dauern.

from sagemaker.jumpstart.model import JumpStartModel

model = JumpStartModel(model_id=model_id, model_version=model_version)
predictor= model.deploy(accept_eula=False)  # manually accept EULA here!

Für eine erfolgreiche Bereitstellung müssen Sie die Datei manuell ändern accept_eula Argument in der Deploy-Methode des Modells True. Dieses Modell wird mithilfe des TGI-Deep-Learning-Containers (Text-Generierung-Inferenz) bereitgestellt.

Endpunkt aufrufen

Sie können Beispielnutzlasten programmgesteuert aus dem abrufen JumpStartModel Objekt. Dies wird Ihnen den Einstieg erleichtern, indem Sie vorformatierte Anweisungsaufforderungen beachten, die Gemma verarbeiten kann.

example_payloads = model.retrieve_all_examples()

for payload in example_payloads:
    response = predictor.predict(payload.body)
    print("Input:n", payload.body[payload.prompt_key])
    print("Output:n", response[0]["generated_text"].strip())
    print("n===============n")

Bevor wir uns spezifische Eingabeaufforderungen ansehen, betrachten wir die Chat-Vorlage für Gemma Instruct-Modelle.

<bos><start_of_turn>usern[USER_PROMPT]<end_of_turn>n<start_of_turn>model

Hier platzieren Sie Ihre Eingabeaufforderung im [USER_PROMPT] Standort. Es gibt keine Unterstützung für eine Systemanweisung; Stattdessen können Sie die gewünschte Anweisung der Benutzeraufforderung voranstellen. Wenn Sie außerdem ein Gespräch mit mehreren Runden führen, kann die Modellansage je nach Bedarf zwischen Benutzer und Assistent wechseln.

Betrachten Sie nun einige Beispielaufforderungen für Anweisungen. Hier bitten Sie Gemma, ein Hello World-Programm zu schreiben.

payload = {
    "inputs": "<bos><start_of_turn>usernWrite a hello world module in Python<end_of_turn>n<start_of_turn>model",
    "parameters": {'max_new_tokens': 256},
}
predictor.predict(payload)

Das Folgende ist die erwartete Ausgabe:

```python
# This is a Python module called hello.py

def hello():
  """Prints a hello message."""
  print("Hello, world!")

if __name__ == "__main__":
  hello()
```

**Usage:**

To use the hello.py module, you can import it and call the hello function like this:

```python
import hello

hello.hello()
```

**Output:**

```
Hello, world!
```

**Explanation:**

* The `hello.py` module defines a function called `hello()`.
* The `if __name__ == "__main__"` block checks if the script is being run directly or imported. If it is run directly, the `hello()` function is called.
* The `print("Hello, world!")` statement prints the hello message to the console.

**Note:**

* You can save the code above in a file named `hello.py` in your current directory.
* To run the script, you can use the following command:
```
python hello.py
```
* The output will be printed in the console:
```
Hello, world!
```

Bitten Sie Gemma als Nächstes um die kreative Aufgabe, ein Gedicht zu schreiben.

payload = {
    "inputs": "<bos><start_of_turn>usernWrite me a poem about Machine Learning.<end_of_turn>n<start_of_turn>model",
    "parameters": {'max_new_tokens': 256},
}
predictor.predict(payload)

Das Folgende ist die Ausgabe:

**Machine Learning**

In the realm of data, a tale unfolds,
Where algorithms dance and stories are told.
With every click, a model takes flight,
Unveiling patterns, hidden in the night.

Data whispers secrets, a treasure to find,
Machine learning listens, with a curious mind.
It sifts through terabytes, with lightning speed,
Uncovering insights, a hidden creed.

From images to text, it learns to see,
To understand the complexities of reality.
It paints a canvas, with insights deep,
Unveiling patterns, secrets to keep.

In the field of medicine, it takes a stand,
Diagnosing diseases, guiding a hand.
It analyzes data, with unmatched grace,
Bringing hope to those in a troubled place.

But with great power comes great responsibility,
As algorithms can bias, with malicious intent.
It's a journey of learning, a constant fight,
To ensure fairness, day and night.

So let us harness the power of this tool,
To create a future, where insights bloom.
With wisdom and caution, we must guide,
The path of machine learning, side by side.

Das sieht ziemlich gut aus!

Schauen wir uns nun das Benchmarking der Latenz- und Durchsatzleistung für die Modellbereitstellung mit der standardmäßigen JumpStart-Bereitstellungskonfiguration an. Hier zeigen wir, wie sich die Modellleistung für Ihre typische Endpunkt-Workload unterscheiden kann. In den folgenden Tabellen können Sie sehen, dass kleine Abfragen (256 Eingabewörter und 256 Ausgabetokens) bei einer großen Anzahl gleichzeitiger Benutzer recht leistungsfähig sind und einen Token-Durchsatz in der Größenordnung von eintausend bis zweitausend Token pro Sekunde erreichen. Wenn sich die Anzahl der Eingabewörter jedoch der von Gemma maximal unterstützten Kontextlänge von achttausend Token nähert, sättigt der Endpunkt aufgrund von Speicherbeschränkungen der Instanz seine Batch-Kapazität – die Anzahl der gleichzeitigen Anforderungen, die gleichzeitig verarbeitet werden dürfen.

Weitere Informationen dazu, wie Sie diese Informationen berücksichtigen und Bereitstellungskonfigurationen für Ihren spezifischen Anwendungsfall anpassen können, finden Sie unter Benchmarken und optimieren Sie die Endpunktbereitstellung in Amazon SageMaker JumpStart.

. Durchsatz (Tokens/s)
Gleichzeitige Benutzer 1 2 4 8 16 32 64 128
Modell Instanztyp Wörter eingeben Ausgabetoken . . . . . . . .
gemma-2b-instruct ml.g5.xlarge 256 256 73 137 262 486 829 1330 1849 1834
2048 256 69 126 227 373 537 704 764 -
7936 256 60 100 147 195 226 230 - -
gemma-7b-instruct ml.g5.12xgroß 256 256 62 119 227 413 601 811 937 962
2048 256 56 100 172 245 267 273 - -
7936 256 44 67 77 77 78 - - -
. P50-Latenz (ms/Token)
Gleichzeitige Benutzer 1 2 4 8 16 32 64 128
Modell Instanztyp Wörter eingeben Ausgabetoken . . . . . . . .
gemma-2b-instruct ml.g5.xlarge 256 256 13 14 15 16 19 23 33 49
2048 256 14 15 17 20 28 43 79 -
7936 256 16 19 26 39 68 136 - -
Gemma-7b-Anweisung ml.g5.12xgroß 256 256 16 16 17 19 26 38 57 110
2048 256 17 19 23 32 52 119 - -
7936 256 22 29 45 105 197 - - -

Feinabstimmung von Gemma mit dem SageMaker Python SDK

Als Nächstes zeigen wir Ihnen, wie Sie das Gemma 7B-Anweisungsmodell anhand eines konversationsformatierten Datensatzes optimieren QLoRA Technik. Wie bereits erwähnt, bietet JumpStart aufgrund der großen Vokabulargröße von 256 und der Kontextlänge von 8 die folgenden Standardkonfigurationen für die QLoRA-Feinabstimmung.

Modell-ID Standard-Trainingsinstanz Maximale Länge der Eingabesequenz Trainingsbatchgröße pro Gerät Schritte zur Gradientenakkumulation
Huggingface-llm-gemma-2b ml.g5.2xgroß 1024 1 4
Huggingface-llm-gemma-2b-instruct ml.g5.2xgroß 1024 1 4
Huggingface-llm-gemma-7b ml.g5.12xgroß 2048 1 4
Huggingface-llm-gemma-7b-instruct ml.g5.12xgroß 2048 1 4

Lassen Sie uns den Datensatz im Konversationsformat laden und verarbeiten. Der Beispieldatensatz für diese Demonstration ist Die TOP-1-Konversationsthreads von OpenAssistant.

from datasets import load_dataset

# Load the dataset
dataset = load_dataset("OpenAssistant/oasst_top1_2023-08-25")

Die Trainingsdaten sollten in JSON-Zeilen formuliert werden (.jsonl)-Format, wobei jede Zeile ein Wörterbuch ist, das eine Reihe von Konversationen darstellt. Ein Beispiel innerhalb der JSON-Zeilendatei ist unten dargestellt. Einzelheiten zur Verarbeitung des Datensatzes finden Sie im Notizbuch in GitHub.

{'dialog': [
  {'content': 'what is the height of the empire state building',
   'role': 'user'},
  {'content': '381 meters, or 1,250 feet, is the height of the Empire State Building. If you also account for the antenna, it brings up the total height to 443 meters, or 1,454 feet',
   'role': 'assistant'},
  {'content': 'Some people need to pilot an aircraft above it and need to know.nSo what is the answer in feet?',
   'role': 'user'},
  {'content': '1454 feet', 'role': 'assistant'}]
}
import os
import boto3
from sagemaker.session import Session
from sagemaker.jumpstart.estimator import JumpStartEstimator

model_id = "huggingface-llm-gemma-7b-instruct"

estimator = JumpStartEstimator(
    model_id=model_id, environment={"accept_eula": "false"} # manually accept EULA here!
)

# For the other hyperparameters, see the GitHub notebook attached in this blog.
estimator.set_hyperparameters(chat_dataset="True", peft_type="lora", max_input_length="2048", epoch="3")
estimator.fit({"training": <your_S3_bucket_hosting_the_train_data>})

Den Trainingsskripten zugrunde liegt JumpStart HuggingFace SFTTrainer mit QLoRA und BlitzAchtung. Flash Attention ermöglicht eine Skalierungseffizienz und führt zu schnellerem Training und Inferenz. Neben der chatbasierten Feinabstimmung unterstützt JumpStart auch die Feinabstimmung von Anweisungen und Domänenanpassungen mit QLoRA. Einzelheiten finden Sie im Notizbuch in GitHub.

Nach der Feinabstimmung können Sie das feinabgestimmte Modell auf einem SageMaker-Endpunkt bereitstellen.

fine_tuned_predictor= estimator.deploy()

Sie können das auf Konversationsdaten abgestimmte Modell im SageMaker-Endpunkt mit bereitstellen HuggingFace-Nachrichten-API-Funktion als alternativer Ansatz. Der Vorteil der Verwendung der Message-API-Funktion besteht darin, dass Benutzer die Abfragebeispiele im Rohformat übergeben können, wie in der folgenden Tabelle gezeigt, und chat_template innerhalb des Endpunkts die Abfragebeispiele in das richtige Format konvertiert, bevor sie an das Modell gesendet werden. Einzelheiten finden Sie im Abschnitt „Bereitstellung“ nach der Feinabstimmung im Notizbuch.

Nachdem Sie das fein abgestimmte Modell an einem Endpunkt bereitgestellt haben, können Sie die Ausgabeantworten von vorab trainierten und fein abgestimmten Gemma-Modellen vergleichen. Die Beispiele werden aus Testdaten gesammelt, bei denen es sich um einen Hold-out-Satz der Trainingsdaten handelt. Die Inferenzparameter sind max_tokens als 512, top_p als 0.9, temperature als 0.4 und top_k als 50.

Wie Sie anhand der Ergebnisse der Feinabstimmung sehen können, sind die Antworten der Agenten genauer.

Um Ihre fein abgestimmten Modelle weiter zu bewerten, können Sie sie erkunden FM-Auswertung mit Amazon SageMaker Clarify um zu sehen, wie Ihr fein abgestimmtes Modell im Vergleich zum Basismodell abschneidet.

Eingänge Grundwahrheit Antwort von Base Modell Reaktion des fein abgestimmten Modells
1

Benutzer: Ich möchte an meinem Wortschatz arbeiten. Können Sie mir einige einfache Möglichkeiten nennen, wie ich neue Wörter finden kann, um die Vielfalt meiner Sätze zu erhöhen?

Assistent: Auf jeden Fall! Die Verbesserung Ihres Wortschatzes ist ein fortlaufender Prozess, aber hier sind einige einfache Möglichkeiten, neue Wörter zu finden und die Vielfalt Ihrer Sätze zu erhöhen:

1. Lesen Sie viel: Durch das Lesen von Büchern, Artikeln und Blogs aus verschiedenen Genres und Themen werden Sie mit neuen Wörtern und Phrasen vertraut gemacht. Notieren Sie alle unbekannten Wörter, die Ihnen begegnen, und schlagen Sie deren Bedeutung nach.

2. Verwenden Sie einen Thesaurus: Verwenden Sie beim Schreiben oder Lesen einen Thesaurus, um Synonyme für häufig verwendete Wörter zu finden. Dies hilft Ihnen nicht nur beim Erlernen neuer Wörter, sondern verbessert auch Ihr Verständnis für deren subtile Bedeutungsunterschiede.

3. Word-a-Day-Kalender oder Apps: Abonnieren Sie eine Word-a-Day-E-Mail oder laden Sie eine App zum Vokabelaufbau herunter. Diese Tools führen Sie jeden Tag in ein neues Wort ein, zusammen mit seiner Bedeutung, Aussprache und Anwendungsbeispielen.

4. Treten Sie einem Buchclub oder einer Diskussionsgruppe bei: Durch die Teilnahme an Gesprächen und Diskussionen über Bücher, Artikel oder andere Themen werden Sie mit anderen Perspektiven und neuem Vokabular vertraut gemacht. Hören Sie anderen aufmerksam zu und versuchen Sie, neue Wörter im Kontext zu verwenden.

5. Spielen Sie Wortspiele: Spiele wie Scrabble, Boggle und Kreuzworträtsel fordern Ihren Wortschatz heraus und helfen Ihnen, auf unterhaltsame Weise neue Wörter zu lernen.

6. Schauen Sie sich Filme, Fernsehsendungen oder Dokumentationen an: In visuellen Medien werden oft unterschiedliche Sprachen, Slangs und Fachjargons verwendet. Das Ansehen von Filmen, Fernsehsendungen oder Dokumentationen mit Untertiteln kann Ihnen helfen, neue Wörter besser zu verstehen und sich daran zu erinnern.

7. Üben Sie das Schreiben: Das regelmäßige Schreiben von Geschichten, Aufsätzen oder Tagebucheinträgen ermutigt Sie, neue Wörter und Sätze zu verwenden. Experimentieren Sie mit verschiedenen Schreibstilen und Genres, um Ihren Wortschatz zu erweitern.

8. Lernen Sie die Etymologie eines neuen Wortes kennen: Wenn Sie den Ursprung und die Geschichte eines Wortes verstehen, können Sie es sich leichter merken und richtig verwenden. Durch die Erforschung der Etymologie werden Sie auch mit verwandten Wörtern und Konzepten vertraut gemacht.

9. Verwenden Sie Lernkarten oder Software für räumliche Wiederholungen: Erstellen Sie Lernkarten mit neuen Wörtern, deren Bedeutung und Beispielsätzen. Überprüfen Sie sie regelmäßig oder verwenden Sie eine Software für räumliche Wiederholungen wie Anki, um Ihr Lernen zu optimieren.

10. Setzen Sie sich persönliche Ziele: Setzen Sie sich erreichbare Ziele, z. B. das Erlernen von fünf neuen Wörtern pro Woche. Behalten Sie Ihre Fortschritte im Auge und belohnen Sie sich für das Erreichen Ihrer Ziele.

Indem Sie diese Strategien konsequent in Ihren Alltag integrieren, bauen Sie nach und nach einen vielfältigen und robusten Wortschatz auf.

Benutzer: Hm, ich mag die Idee des Lesens wirklich. Könnt ihr mir einen coolen Science-Fiction-Thriller empfehlen, den ich lesen könnte?

Assistent: Auf jeden Fall! Hier sind ein paar Empfehlungen für Science-Fiction-Thriller, die Ihnen gefallen könnten:

1. „Das Drei-Körper-Problem“ von Liu Cixin – Dieser preisgekrönte Roman untersucht den ersten Kontakt zwischen der Menschheit und einer außerirdischen Zivilisation und die daraus resultierenden politischen und persönlichen Konsequenzen. Es ist eine fesselnde und zum Nachdenken anregende Lektüre, die sich mit tiefgreifenden Fragen über die Natur der Existenz und des Universums befasst.

2. „Annihilation“ von Jeff Vandermeer – Dieser Roman folgt einer Gruppe von Wissenschaftlern, die sich in ein mysteriöses Gebiet namens „Area X“ vorwagen, wo sie auf seltsame und beunruhigende Phänomene stoßen. Während sie tiefer in die Gegend vordringen, entdecken sie dunkle Geheimnisse über die Natur der Realität und der Welt um sie herum.

3. „Dark Matter“ von Blake Crouch – Dieser Roman handelt von einem brillanten Physiker namens Jason Dessen, der entführt und in ein Paralleluniversum transportiert wird. Während er versucht, den Weg zurück in seine eigene Realität zu finden, muss er sich mit seinen eigenen Entscheidungen und den Konsequenzen seines Handelns auseinandersetzen.

4. „Der Andromeda-Stamm“ von Michael Crichton – Dieser klassische Roman folgt einem Team von Wissenschaftlern, die versuchen, eine tödliche außerirdische Mikrobe, die auf der Erde gelandet ist, einzudämmen und zu untersuchen. Während sie gegen die Zeit antreten, um einen Weg zu finden, die Mikrobe zu neutralisieren, müssen sie sich auch mit politischen Intrigen und persönlichen Konflikten auseinandersetzen.

5. „Ready Player One“ von Ernest Cline – Dieser Roman spielt in einer dystopischen Zukunft, in der die Mehrheit der Bevölkerung ihre Zeit in einer virtuellen Realität verbringt, die als OASIS bekannt ist. Als der Schöpfer der OASIS stirbt und die Herausforderung hinterlässt, ein verstecktes Osterei zu finden, begibt sich ein junger Protagonist auf eine spannende Suche, die sein Leben für immer verändern wird.

Ich hoffe, eine dieser Empfehlungen weckt Ihr Interesse!

Assistent: Der Text enthält keine Angaben zu Ihren Lesevorlieben oder Interessen, daher kann ich keine Buchempfehlung aussprechen.

Assistent: Klar, hier sind ein paar Science-Fiction-Thriller-Empfehlungen, die Ihnen gefallen könnten:

– „Dune“ von Frank Herbert: Dieser epische Science-Fiction-Roman spielt auf dem Wüstenplaneten Arrakis, wo sich ein junger Prinz namens Paul Atreides den Herausforderungen einer feindseligen Umgebung und einer tückischen politischen Landschaft stellen muss.

– „The Martian“ von Andy Weir: Dieser packende Science-Fiction-Thriller erzählt die Geschichte von Mark Watney, einem Astronauten, der nach einem Staubsturm auf dem Mars gestrandet ist, während er seinen Einfallsreichtum und seinen Einfallsreichtum nutzt, um zu überleben und schließlich zur Erde zurückzukehren.

– „The Time Machine“ von HG Wells: Dieser klassische Science-Fiction-Roman verfolgt einen philosophischen Ansatz zum Konzept der Zeitreise und untersucht die Konsequenzen der Veränderung der Vergangenheit und der Zukunft.

– „The Blade Runner“ von Philip K. Dick: Dieser Neo-Noir-Science-Fiction-Roman spielt im futuristischen Los Angeles und untersucht die Schnittstelle zwischen menschlicher und künstlicher Intelligenz sowie deren Einfluss auf die Gesellschaft und die Natur der Realität.

– „The Androids“ von Isaac Asimov: Dieser Science-Fiction-Roman untersucht das Konzept der künstlichen Intelligenz und seine möglichen Konsequenzen, insbesondere wenn Menschen fortschrittliche Androiden entwickeln, die traditionelle menschliche Werte und Überzeugungen in Frage stellen.

Dies sind nur einige Vorschläge, und letztendlich hängt das beste Buch für Sie von Ihren persönlichen Vorlieben ab und davon, welche Art von Erlebnis Sie in einem Science-Fiction-Thriller suchen. Ich hoffe jedoch, dass diese Empfehlungen Ihnen einen guten Ausgangspunkt für die Erkundung des Genres bieten.

Bitte lassen Sie mich wissen, wenn Sie weitere Fragen haben oder ich Ihnen bei irgendetwas helfen kann.
Benutzer
Vielen Dank, dass Sie mir diese Bücher empfohlen haben! Ich freue mich darauf, bald in eines davon einzutauchen!
Modell
Gern geschehen! Es freut mich, dass ich helfen konnte.

2

Benutzer: Schreiben Sie ein Hello World-Programm in VB.NET

Assistent: Bitte schön:

„`vbnet
Öffentliches Modul HelloWorld
Öffentliches Sub-Hauptfeld ()
System.Console.WriteLine(“Hallo, Welt!”)
End Sub
Modul beenden
“`

Benutzer: Lassen Sie es Eingaben vom $ entgegennehmen und sagen Sie dann „Hallo, $“ anstelle von „Hallo, Welt!“

Assistent: Öffentliches Modul HelloWorld
Öffentliches Sub-Hauptfeld ()
System.Console.WriteLine(“Wie ist Ihr Name?”)
Dim-Name As String = System.Console.ReadLine()
System.Console.WriteLine(„Hallo,“ & Name & „!“)
End Sub
Modul beenden
Assistent: „`vbnet
Öffentliches Modul HelloWorld
Öffentliches Sub-Hauptfeld ()
Dim-Name als String = Console.ReadLine()
Console.WriteLine(„Hallo,“ & Name)
End Sub
Modul beenden

Assistent: Klar! Hier ist ein Beispiel:

„`vbnet
Öffentliches Modul HelloWorld
Öffentliches Sub-Hauptfeld ()
Dim userName As String = System.Console.ReadLine()
System.Console.WriteLine(„Hallo,“ & Benutzername & „!“)
End Sub
Modul beenden
“`

3

Benutzer: Geben Sie mir eine Liste der zu erledigenden Aufgaben, wenn ich ein Projekt starte, um ein großes Sprachmodell zu trainieren, das menschliche Fragen verstehen und darauf reagieren kann

Assistent: Die folgenden Schritte sind eine komprimierte Liste von Schritten, die beim Starten eines Projekts zum Trainieren eines großen Sprachmodells ausgeführt werden müssen, das in der Lage ist, menschliche Anfragen zu verstehen und darauf zu reagieren:

1. Legen Sie den Umfang und die Ziele des Projekts sowie die Zielgruppe fest.
2. Sammeln und Vorverarbeiten eines umfassenden/vielfältigen Textdatensatzes.
3. Wählen Sie eine geeignete Modellarchitektur aus und passen Sie die Hyperparameter an Genauigkeit/Geschwindigkeit an.
4. Teilen Sie den Datensatz in Trainings-, Validierungs- und Testteilmengen auf und implementieren Sie die Datenerweiterung.
5. Trainieren Sie das Modell, überwachen Sie den Fortschritt des Validierungssatzes und passen Sie es bei Bedarf an.
6. Bewerten Sie das Modell anhand des Testsatzes, vergleichen Sie es mit Benchmarks, analysieren Sie Fehler und Verzerrungen.
7. Feinabstimmung für bestimmte Aufgaben oder Bereiche durch Transferlernen oder Feinabstimmung.
8. Erstellen Sie eine Schnittstelle für Benutzereingaben und Modellantworten.
9. Testen Sie in einer kontrollierten Umgebung und sammeln Sie Feedback zur Verbesserung.
10. Überwachen und verbessern Sie die Leistung kontinuierlich durch Umschulung und Feinabstimmung.

Dies sollte Ihnen eine grundlegende Vorstellung davon geben, welche Schritte erforderlich sind. Sollte ich auf einen der Punkte näher eingehen?

Benutzer: Diese Aufgaben müssen weiter aufgeschlüsselt werden. Könnten Sie bitte eine aktualisierte Aufgabenliste mit einer detaillierteren Aufschlüsselung der bevorstehenden Aufgaben bereitstellen?

Assistent: Hier ist eine detailliertere Aufschlüsselung der einzelnen Schritte:

1. Projektumfang und -ziele festlegen: Es ist wichtig, die Ziele des Projekts und die Zielgruppe klar zu definieren. Dies hilft Ihnen bei der Entscheidungsfindung darüber, welche Art von Daten erfasst werden sollen und welche Modellarchitektur geeignet ist.

2. Daten sammeln und vorverarbeiten: Dies ist ein wichtiger Schritt, da sich die Qualität und Vielfalt der Daten direkt auf die Leistung des Modells auswirkt. Die Vorverarbeitung kann das Bereinigen der Daten, das Tokenisieren von Text und das Konvertieren von Wörtern in numerische Darstellungen umfassen.

3. Modellarchitektur auswählen: Es stehen viele verschiedene Arten von Modellen zur Auswahl, darunter rekurrente neuronale Netze (RNNs), Transformatormodelle und Faltungs-Neuronale Netze (CNNs). Die Wahl hängt von den spezifischen Anforderungen des Projekts und der Menge der verfügbaren Daten ab.

4. Teilen Sie den Datensatz auf und implementieren Sie die Datenerweiterung: Die Aufteilung der Daten in Trainings-, Validierungs- und Testteilmengen ist wichtig für die Überwachung der Leistung des Modells während des Trainings. Durch Datenerweiterung kann die Größe des Datensatzes künstlich vergrößert und die Robustheit des Modells verbessert werden.

5. Modell trainieren und Fortschritt überwachen: In diesem Schritt wird das Modell anhand der Trainingsdaten trainiert. Dabei wird der Validierungssatz verwendet, um den Fortschritt zu überwachen und Hyperparameter nach Bedarf anzupassen. Es kann erforderlich sein, diesen Vorgang mehrmals zu wiederholen, bis das Modell im Validierungssatz eine gute Leistung erbringt.

6. Bewerten Sie das Modell anhand eines Testsatzes: Sobald das Modell trainiert ist, ist es wichtig, seine Leistung anhand eines separaten Testsatzes zu bewerten, um eine Vorstellung von seiner Generalisierungsfähigkeit zu erhalten. Dies kann erreicht werden, indem die Vorhersagen des Modells mit den tatsächlichen Ergebnissen verglichen und die Fehler analysiert werden.

7. Feinabstimmung für bestimmte Aufgaben oder Domänen: In diesem Schritt wird das Modell anhand aufgabenspezifischer Daten weiter trainiert, um seine Leistung für eine bestimmte Domäne zu verbessern. Dies kann durch Transferlernen erfolgen, bei dem ein vorab trainiertes Modell anhand neuer Daten verfeinert wird, oder durch Feinabstimmung, bei dem das Modell von Grund auf anhand der neuen Daten trainiert wird.

8. Erstellen Sie eine Schnittstelle für Benutzereingaben: Dazu gehört das Entwerfen einer Schnittstelle, die es Benutzern ermöglicht, Fragen oder Anfragen einzugeben und Antworten vom Modell zu erhalten.

9. Testen Sie in einer kontrollierten Umgebung: Bevor Sie das Modell in einer realen Umgebung einsetzen, ist es wichtig, es in einer kontrollierten Umgebung zu testen und Feedback von Benutzern einzuholen. Dies wird dazu beitragen, etwaige Fehler oder Verzerrungen im Modell zu erkennen und Möglichkeiten für Verbesserungen zu schaffen.

10. Leistung kontinuierlich überwachen und verbessern: Schließlich ist es wichtig, die Leistung des Modells kontinuierlich zu überwachen und bei Bedarf Aktualisierungen und Verbesserungen vorzunehmen. Dies kann eine Umschulung des Modells auf neue Daten, eine Feinabstimmung von Hyperparametern oder eine Aktualisierung der Architektur umfassen.

Assistent: ## To-Do-Liste zum Trainieren eines großen Sprachmodells für die Beantwortung von Fragen

**1. Projektumfang und -ziele:**

* Definieren Sie Projektziele und gewünschte Funktionalitäten.
* Identifizieren Sie die Zielgruppe und ihre spezifischen Bedürfnisse.
* Bestimmen Sie das gewünschte Maß an Genauigkeit und Antwortqualität.

**2. Datenerfassung und Vorverarbeitung:**

* Identifizieren Sie Quellen für Trainingsdaten und sammeln Sie einen vielfältigen Textdatensatz.
* Bereinigen und Vorverarbeiten der Textdaten, um Konsistenz und Qualität sicherzustellen.
* Implementieren Sie Datenerweiterungstechniken, um das Trainingsdatenvolumen zu erhöhen.

**3. Modellauswahl und -konfiguration:**

* Wählen Sie eine geeignete Modellarchitektur basierend auf der Aufgabenkomplexität und der gewünschten Leistung.
* Feinabstimmung von Hyperparametern zur Optimierung der Modellleistung.
* Wählen Sie das am besten geeignete Framework und die am besten geeigneten Tools für die Modellimplementierung.

**4. Schulung und Bewertung:**

* Teilen Sie die Trainingsdaten in Trainings-, Validierungs- und Testteilmengen auf.
* Trainieren Sie das Modell mit dem ausgewählten Framework und den ausgewählten Hyperparametern.
* Überwachen Sie den Trainingsfortschritt am Validierungssatz und passen Sie die Modellparameter nach Bedarf an.
* Bewerten Sie die Modellleistung im Testsatz anhand von Benchmarks und gewünschten Zielen.

**5. Feinabstimmung und Schnittstellenentwicklung:**

* Optimieren Sie das Modell durch Transferlernen für bestimmte Aufgaben oder Bereiche.
* Entwickeln Sie eine Schnittstelle für Benutzereingaben und Modellreaktionen unter Berücksichtigung von Benutzerfreundlichkeit und Zugänglichkeit.
* Integrieren Sie das Modell in die Schnittstelle und sorgen Sie für eine nahtlose Interaktion.

**6. Tests und Verbesserung:**

* Testen Sie das Modell in einer kontrollierten Umgebung mit verschiedenen Eingabeszenarien.
* Sammeln Sie Feedback von Benutzern und Experten, um Verbesserungsmöglichkeiten zu identifizieren.
* Kontinuierliche Überwachung und Verbesserung der Modellleistung durch Umschulung und Feinabstimmung.

**Weitere Überlegungen:**

* Legen Sie einen Zeitplan und ein Budget für das Projekt fest.
* Identifizieren Sie potenzielle Herausforderungen und entwickeln Sie Notfallpläne.
* Dokumentieren Sie den Prozess und die Ergebnisse zur späteren Bezugnahme und Zusammenarbeit.

**Hinweis:** Diese Liste ist nicht vollständig und muss möglicherweise an die spezifischen Projektanforderungen angepasst werden.

Assistent: Klar, hier ist eine detailliertere Aufschlüsselung der Aufgaben, die beim Trainieren eines großen Sprachmodells zum Verstehen und Beantworten menschlicher Fragen erforderlich sind:

**1. Projektumfang und -ziele festlegen**
– Definieren Sie die Ziele und Vorgaben des Projekts, einschließlich der Zielgruppe und der gewünschten Funktionalität des Modells.
– Identifizieren Sie die spezifischen Aufgaben, die das Modell ausführen muss.

**2. Sammeln und Vorverarbeiten eines umfassenden/vielfältigen Textdatensatzes**
– Identifizieren Sie Textdatenquellen, die für die Zielgruppe und Aufgaben relevant sind.
– Bereinigen und vorverarbeiten Sie die Textdaten, um Konsistenz und Qualität sicherzustellen.
– Erstellen Sie einen ausgewogenen Datensatz, der die Vielfalt der menschlichen Sprache und des menschlichen Denkens widerspiegelt.

**3. Wählen Sie eine geeignete Modellarchitektur aus und passen Sie die Hyperparameter an Genauigkeit/Geschwindigkeit an**
– Wählen Sie eine Modellarchitektur, die für die Aufgaben und Daten gut geeignet ist.
– Optimieren Sie die Hyperparameter des Modells, um Leistung und Geschwindigkeit zu optimieren.
– Überwachen Sie die Leistung des Modells anhand von Validierungsdaten, um sicherzustellen, dass es verallgemeinerbar ist.

**4. Teilen Sie den Datensatz in Teilmengen für Training, Validierung und Tests auf und implementieren Sie Datenerweiterung**
– Teilen Sie den Datensatz in Trainings-, Validierungs- und Testteilmengen auf.
– Implementieren Sie Datenerweiterungstechniken, um die Vielfalt und Größe der Trainingsdaten zu erhöhen.

**5. Modell trainieren, Fortschritt des Validierungssatzes überwachen und nach Bedarf anpassen**
– Trainieren Sie das Modell anhand der Trainingsdaten.
– Überwachen Sie den Fortschritt des Modells anhand der Validierungsdaten, um Bereiche mit Verbesserungspotenzial zu identifizieren.
– Passen Sie die Hyperparameter oder die Architektur des Modells nach Bedarf an, um die Leistung zu optimieren.

**6. Bewerten Sie das Modell anhand des Testsatzes, vergleichen Sie es mit Benchmarks, analysieren Sie Fehler und Verzerrungen**
– Bewerten Sie die Leistung des Modells anhand der Testdaten.
– Vergleichen Sie die Leistung des Modells mit Benchmarks und Industriestandards.
– Analysieren Sie Fehler und Vorurteile, um Bereiche mit Verbesserungspotenzial zu identifizieren.

**7. Feinabstimmung für bestimmte Aufgaben oder Bereiche durch Transferlernen oder Feinabstimmung**
– Optimieren Sie das Modell für bestimmte Aufgaben oder Domänen, indem Sie Wissen aus einem vorab trainierten Modell übertragen.
– Nutzen Sie Transferlernen, um vorhandenes Wissen zu nutzen und die Leistung des Modells zu verbessern.

**8. Erstellen Sie eine Schnittstelle für Benutzereingaben und Modellantworten**
– Erstellen Sie eine Schnittstelle, über die Benutzer Fragen eingeben und Antworten vom Modell erhalten können.
– Gestalten Sie die Benutzeroberfläche benutzerfreundlich und intuitiv.

**9. Testen Sie in kontrollierter Umgebung, sammeln Sie Feedback zur Verbesserung**
– Testen Sie das Modell in einer kontrollierten Umgebung, um sicherzustellen, dass es wie erwartet funktioniert.
– Sammeln Sie Feedback von Benutzern, um Verbesserungsmöglichkeiten zu identifizieren.

**10. Kontinuierliche Überwachung und Verbesserung der Leistung durch Umschulung und Feinabstimmung**
– Überwachen Sie kontinuierlich die Leistung des Modells.
– Trainieren und optimieren Sie das Modell nach Bedarf neu, um seine Leistung zu verbessern.

Dies sind die Schritte, die zum Trainieren eines großen Sprachmodells erforderlich sind, um menschliche Fragen zu verstehen und darauf zu antworten. Bitte lassen Sie mich wissen, wenn Sie Fragen haben.

Aufräumen

Nachdem Sie die Endpunkte getestet haben, löschen Sie die SageMaker-Inferenzendpunkte und das Modell, um zu vermeiden, dass Gebühren anfallen.

Zusammenfassung

In diesem Beitrag haben wir Ihnen gezeigt, wie Sie mit Gemma in SageMaker Studio beginnen und das Modell für die Inferenz bereitstellen. Wir haben Ihnen auch gezeigt, wie Sie Gemma-Modelle auf SageMaker Jumpstart verfeinern können.

Da die Basismodelle vorab trainiert sind, können sie dazu beitragen, die Schulungs- und Infrastrukturkosten zu senken und eine Anpassung an Ihren Anwendungsfall zu ermöglichen. Besuchen Sie jetzt SageMaker JumpStart in SageMaker Studio, um loszulegen.

Diese Anleitung dient nur zu Informationszwecken. Sie sollten dennoch Ihre eigene unabhängige Bewertung durchführen und Maßnahmen ergreifen, um sicherzustellen, dass Sie Ihre eigenen spezifischen Qualitätskontrollpraktiken und -standards sowie die lokalen Regeln, Gesetze, Vorschriften, Lizenzen und Nutzungsbedingungen einhalten, die für Sie, Ihre Inhalte usw. gelten das in dieser Anleitung genannte Drittanbietermodell. AWS hat keine Kontrolle oder Autorität über das in dieser Anleitung genannte Drittanbietermodell und gibt keine Zusicherungen oder Gewährleistungen dafür, dass das Drittanbietermodell sicher, virenfrei, betriebsbereit oder mit Ihrer Produktionsumgebung und Ihren Standards kompatibel ist. AWS gibt keine Zusicherungen, Gewährleistungen oder Garantien dafür, dass die Informationen in dieser Anleitung zu einem bestimmten Ergebnis oder Ergebnis führen werden.


Über die Autoren

Kyle Ulrich ist Angewandte Wissenschaftlerin bei der Integrierte Amazon SageMaker-Algorithmen Team. Seine Forschungsinteressen umfassen skalierbare Algorithmen für maschinelles Lernen, Computer Vision, Zeitreihen, bayessche nichtparametrische Verfahren und Gaußsche Prozesse. Er hat an der Duke University promoviert und Artikel in NeurIPS, Cell und Neuron veröffentlicht.

Xin Huang ist Senior Applied Scientist für Amazon SageMaker JumpStart und die integrierten Algorithmen von Amazon SageMaker. Er konzentriert sich auf die Entwicklung skalierbarer Algorithmen für maschinelles Lernen. Seine Forschungsinteressen liegen im Bereich der Verarbeitung natürlicher Sprache, erklärbares Deep Learning auf tabellarischen Daten und robuste Analyse von nichtparametrischem Raum-Zeit-Clustering. Er hat viele Artikel auf ACL-, ICDM-, KDD-Konferenzen und der Royal Statistical Society: Series A veröffentlicht.

Rachna Chadha ist Principal Solution Architect AI/ML in Strategic Accounts bei AWS. Rachna ist eine Optimistin, die glaubt, dass ein ethischer und verantwortungsvoller Einsatz von KI die Gesellschaft in Zukunft verbessern und wirtschaftlichen und sozialen Wohlstand bringen kann. In ihrer Freizeit verbringt Rachna gerne Zeit mit ihrer Familie, wandert und hört Musik.

Evan Kravitz ist Softwareentwickler bei Amazon Web Services und arbeitet an SageMaker JumpStart. Er kocht gerne und geht gerne in New York City laufen.

Dr. Ashish Khetan ist Senior Applied Scientist mit integrierten Amazon SageMaker-Algorithmen und hilft bei der Entwicklung von Algorithmen für maschinelles Lernen. Er promovierte an der University of Illinois Urbana-Champaign. Er ist ein aktiver Forscher auf dem Gebiet des maschinellen Lernens und der statistischen Inferenz und hat viele Artikel auf den Konferenzen NeurIPS, ICML, ICLR, JMLR, ACL und EMNLP veröffentlicht.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?