Offizielles Repository des LLM Engineer's Handbook von Paul Iusztin und Maxime Labonne
Das Ziel dieses Buches ist es, mithilfe von Best Practices Ihr eigenes End-to-End-LLM-basiertes System zu erstellen:
Sie können das endgültig trainierte Modell auf Hugging Face herunterladen und verwenden.
Um das Projekt lokal zu installieren und auszuführen, benötigen Sie die folgenden Abhängigkeiten.
Werkzeug | Version | Zweck | Installationslink |
---|---|---|---|
pyenv | ≥2.3.36 | Mehrere Python-Versionen (optional) | Installationsanleitung |
Python | 3.11 | Laufzeitumgebung | Herunterladen |
Poesie | ≥1.8.3 | Paketverwaltung | Installationsanleitung |
Docker | ≥27.1.1 | Containerisierung | Installationsanleitung |
AWS CLI | ≥2.15.42 | Cloud-Management | Installationsanleitung |
Git | ≥2,44,0 | Versionskontrolle | Herunterladen |
Der Code nutzt außerdem die folgenden Cloud-Dienste und ist von diesen abhängig. Im Moment müssen Sie nichts tun. Wir erklären Ihnen in den Installations- und Bereitstellungsabschnitten, wie Sie sie verwenden:
Service | Zweck |
---|---|
Umarmendes Gesicht | Modellregister |
Komet ML | Experiment-Tracker |
Opik | Prompte Überwachung |
ZenML | Orchestrator- und Artefaktebene |
AWS | Computing und Storage |
MongoDB | NoSQL-Datenbank |
Qdrant | Vektordatenbank |
GitHub-Aktionen | CI/CD-Pipeline |
Im LLM Engineer's Handbook führt Sie Kapitel 2 durch die einzelnen Tools. In den Kapiteln 10 und 11 finden Sie Schritt-für-Schritt-Anleitungen zum Einrichten aller benötigten Elemente.
Hier ist die Verzeichnisübersicht:
.
├── code_snippets/ # Standalone example code
├── configs/ # Pipeline configuration files
├── llm_engineering/ # Core project package
│ ├── application/
│ ├── domain/
│ ├── infrastructure/
│ ├── model/
├── pipelines/ # ML pipeline definitions
├── steps/ # Pipeline components
├── tests/ # Test examples
├── tools/ # Utility scripts
│ ├── run.py
│ ├── ml_service.py
│ ├── rag.py
│ ├── data_warehouse.py
llm_engineering/
ist das Haupt-Python-Paket, das LLM- und RAG-Funktionalität implementiert. Es folgt den Prinzipien des Domain-Driven Design (DDD):
domain/
: Kerngeschäftseinheiten und -strukturenapplication/
: Geschäftslogik, Crawler und RAG-Implementierungmodel/
: LLM-Training und Inferenzinfrastructure/
: Externe Service-Integrationen (AWS, Qdrant, MongoDB, FastAPI) Die Codelogik und Importe laufen wie folgt ab: infrastructure
→ model
→ application
→ domain
pipelines/
: Enthält die ZenML-ML-Pipelines, die als Einstiegspunkt für alle ML-Pipelines dienen. Koordiniert die Datenverarbeitungs- und Modelltrainingsphasen des ML-Lebenszyklus.
steps/
: Enthält einzelne ZenML-Schritte, die wiederverwendbare Komponenten zum Erstellen und Anpassen von ZenML-Pipelines sind. Schritte führen bestimmte Aufgaben aus (z. B. Laden von Daten, Vorverarbeitung) und können innerhalb der ML-Pipelines kombiniert werden.
tests/
: Deckt einige Beispieltests ab, die als Beispiele innerhalb der CI-Pipeline verwendet werden.
tools/
: Hilfsskripts zum Aufrufen der ZenML-Pipelines und des Inferenzcodes:
run.py
: Einstiegspunktskript zum Ausführen von ZenML-Pipelines.ml_service.py
: Startet den REST-API-Inferenzserver.rag.py
: Demonstriert die Verwendung des RAG-Abrufmoduls.data_warehouse.py
: Wird zum Exportieren oder Importieren von Daten aus dem MongoDB Data Warehouse über JSON-Dateien verwendet. configs/
: ZenML YAML-Konfigurationsdateien zur Steuerung der Ausführung von Pipelines und Schritten.
code_snippets/
: Unabhängige Codebeispiele, die unabhängig ausgeführt werden können.
Klonen Sie zunächst das Repository und navigieren Sie zum Projektverzeichnis:
git clone https://github.com/PacktPublishing/LLM-Engineers-Handbook.git
cd LLM-Engineers-Handbook
Als nächstes müssen wir Ihre Python-Umgebung und die angrenzenden Abhängigkeiten vorbereiten.
Das Projekt erfordert Python 3.11. Sie können entweder Ihre globale Python-Installation verwenden oder mit pyenv eine projektspezifische Version einrichten.
Überprüfen Sie Ihre Python-Version:
python --version # Should show Python 3.11.x
pyenv --version # Should show pyenv 2.3.36 or later
pyenv install 3.11.8
python --version # Should show Python 3.11.8
python --version
# Output: Python 3.11.8
Notiz
Das Projekt enthält eine .python-version
Datei, die automatisch die richtige Python-Version festlegt, wenn Sie sich im Projektverzeichnis befinden.
Das Projekt verwendet Poetry für das Abhängigkeitsmanagement.
poetry --version # Should show Poetry version 1.8.3 or later
poetry env use 3.11
poetry install --without aws
poetry run pre-commit install
Dies wird:
Als unser Task-Manager führen wir alle Skripte mit Poe the Poet aus.
poetry shell
poetry poe ...
Wenn Sie Probleme mit poethepoet
haben, können Sie die Projektbefehle trotzdem direkt über Poetry ausführen. So geht's:
pyproject.toml
poetry run
mit dem zugrunde liegenden Befehl Anstatt:
poetry poe local-infrastructure-up
Verwenden Sie den direkten Befehl von pyproject.toml:
poetry run < actual-command-from-pyproject-toml >
Hinweis: Alle Projektbefehle sind im Abschnitt [tool.poe.tasks] von pyproject.toml definiert
Konfigurieren wir nun unser lokales Projekt mit allen erforderlichen Anmeldeinformationen und Token, um den Code lokal auszuführen.
Nachdem Sie alle Abhängigkeiten installiert haben, müssen Sie eine .env
Datei erstellen und mit Ihren Anmeldeinformationen füllen, um ordnungsgemäß mit anderen Diensten zu interagieren und das Projekt auszuführen. Das Festlegen Ihrer vertraulichen Anmeldeinformationen in einer .env
Datei ist eine gute Sicherheitsmaßnahme, da diese Datei nicht an GitHub übergeben oder mit anderen geteilt wird.
cp .env.example .env # The file must be at your repository's root!
.env
Datei ausfüllen, um Ihnen den Einstieg zu erleichtern. Im Folgenden sind die obligatorischen Einstellungen aufgeführt, die wir vornehmen müssen, wenn wir lokal arbeiten: Um sich bei der OpenAI-API zu authentifizieren, müssen Sie die Umgebungsvariable OPENAI_API_KEY
mit einem Authentifizierungstoken ausfüllen.
OPENAI_API_KEY = your_api_key_here
→ Sehen Sie sich dieses Tutorial an, um zu erfahren, wie Sie eines von OpenAI bereitstellen.
Um sich bei Hugging Face zu authentifizieren, müssen Sie die Umgebungsvariable HUGGINGFACE_ACCESS_TOKEN
mit einem Authentifizierungstoken ausfüllen.
HUGGINGFACE_ACCESS_TOKEN = your_token_here
→ Sehen Sie sich dieses Tutorial an, um zu erfahren, wie Sie ein Hugging Face bereitstellen.
Um sich bei Comet ML (nur während des Trainings erforderlich) und Opik zu authentifizieren, müssen Sie die Umgebungsvariable COMET_API_KEY
mit Ihrem Authentifizierungstoken ausfüllen.
COMET_API_KEY = your_api_key_here
→ Schauen Sie sich dieses Tutorial an, um zu erfahren, wie Sie die Comet ML-Variablen von oben erhalten. Sie können auch über diesen Link auf das Dashboard von Opik zugreifen.
Bei der Bereitstellung des Projekts in der Cloud müssen wir zusätzliche Einstellungen für Mongo, Qdrant und AWS festlegen. Wenn Sie nur lokal arbeiten, funktionieren die Standardwerte dieser Umgebungsvariablen sofort. Detaillierte Bereitstellungsanweisungen finden Sie in Kapitel 11 des LLM Engineer's Handbook.
Wir müssen die Umgebungsvariable DATABASE_HOST
so ändern, dass die URL auf Ihren Cloud-MongoDB-Cluster verweist.
DATABASE_HOST = your_mongodb_url
→ Sehen Sie sich dieses Tutorial an, um zu erfahren, wie Sie kostenlos einen MongoDB-Cluster erstellen und hosten.
Ändern Sie USE_QDRANT_CLOUD
in true
, QDRANT_CLOUD_URL
mit dem URL-Punkt auf Ihren Cloud-Qdrant-Cluster und QDRANT_APIKEY
mit seinem API-Schlüssel.
USE_QDRANT_CLOUD = true
QDRANT_CLOUD_URL = your_qdrant_cloud_url
QDRANT_APIKEY = your_qdrant_api_key
→ Sehen Sie sich dieses Tutorial an, um zu erfahren, wie Sie kostenlos einen Qdrant-Cluster erstellen
Damit Ihre AWS-Einrichtung ordnungsgemäß funktioniert, muss die AWS CLI auf Ihrem lokalen Computer installiert und ordnungsgemäß mit einem Administratorbenutzer konfiguriert sein (oder einem Benutzer mit ausreichenden Berechtigungen zum Erstellen neuer SageMaker-, ECR- und S3-Ressourcen; die Verwendung eines Administratorbenutzers wird dies tun). alles einfacher machen).
Kapitel 2 enthält Schritt-für-Schritt-Anleitungen zur Installation der AWS CLI, zum Erstellen eines Admin-Benutzers in AWS und zum Erhalten eines Zugriffsschlüssels zum Einrichten der Umgebungsvariablen AWS_ACCESS_KEY
und AWS_SECRET_KEY
. Wenn Sie bereits über einen AWS-Administratorbenutzer verfügen, müssen Sie die folgenden Umgebungsvariablen in Ihrer .env
Datei konfigurieren:
AWS_REGION=eu-central-1 # Change it with your AWS region.
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
AWS-Anmeldeinformationen werden normalerweise in ~/.aws/credentials
gespeichert. Sie können diese Datei direkt mit cat
oder ähnlichen Befehlen anzeigen:
cat ~ /.aws/credentials
Wichtig
Weitere Konfigurationsoptionen sind in „settings.py“ verfügbar. Jede Variable in der Settings
-Klasse kann über die .env
Datei konfiguriert werden.
Wenn wir das Projekt lokal ausführen, hosten wir eine MongoDB- und Qdrant-Datenbank mit Docker. Außerdem wird über das Python-Paket ein ZenML-Testserver zur Verfügung gestellt.
Warnung
Sie müssen Docker installiert haben (>= v27.1.1)
Der Einfachheit halber können Sie die gesamte lokale Entwicklungsinfrastruktur mit dem folgenden Befehl starten:
poetry poe local-infrastructure-up
Sie können den ZenML-Server und alle Docker-Container auch mit dem folgenden Befehl stoppen:
poetry poe local-infrastructure-down
Warnung
Bei der Ausführung unter MacOS exportieren Sie vor dem Starten des Servers die folgende Umgebungsvariable: export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Andernfalls wird die Verbindung zwischen dem lokalen Server und der Pipeline unterbrochen. ? Mehr Details in dieser Ausgabe. Dies geschieht standardmäßig, wenn Sie Poe the Poet verwenden.
Starten Sie die Inferenz-Echtzeit-RESTful-API:
poetry poe run-inference-ml-service
Wichtig
Der von der RESTful-API aufgerufene LLM-Mikroservice funktioniert erst nach der Bereitstellung des LLM in AWS SageMaker.
Dashboard-URL: localhost:8237
Standardanmeldeinformationen:
username
: Standardpassword
:→ Erfahren Sie mehr über die Verwendung und Einrichtung von ZenML.
REST-API-URL: localhost:6333
Dashboard-URL: localhost:6333/dashboard
→ Erfahren Sie mehr über die Verwendung und Einrichtung von Qdrant mit Docker.
Datenbank-URI: mongodb://llm_engineering:[email protected]:27017
Datenbankname: twin
Standardanmeldeinformationen:
username
: llm_engineeringpassword
: llm_engineering→ Erfahren Sie mehr über die Verwendung und Einrichtung von MongoDB mit Docker.
Sie können Ihre MongoDB-Sammlungen mit dem MongoDB-Plugin Ihrer IDE (das Sie separat installieren müssen) durchsuchen. Dabei müssen Sie den Datenbank-URI verwenden, um eine Verbindung zur MongoDB-Datenbank herzustellen, die im Docker-Container gehostet wird: mongodb://llm_engineering:[email protected]:27017
Wichtig
Alles, was mit dem Training oder der Ausführung der LLMs zu tun hat (z. B. Training, Bewertung, Inferenz), kann nur ausgeführt werden, wenn Sie AWS SageMaker einrichten, wie im nächsten Abschnitt zur Cloud-Infrastruktur erläutert.
Hier stellen wir Ihnen kurz vor, wie Sie das Projekt auf AWS und anderen serverlosen Diensten bereitstellen. Wir gehen nicht auf die Details ein (da alles im Buch dargestellt wird), sondern weisen nur auf die wichtigsten Schritte hin, die Sie durchlaufen müssen.
Installieren Sie zunächst Ihre Python-Abhängigkeiten mit der AWS-Gruppe neu:
poetry install --with aws
Notiz
Kapitel 10 enthält Schritt-für-Schritt-Anleitungen im Abschnitt „Implementierung des LLM-Mikroservices mit AWS SageMaker“.
Zu diesem Zeitpunkt gehen wir davon aus, dass Sie AWS CLI installiert und Ihre AWS CLI und die Umgebungsvariablen des Projekts (innerhalb der .env
Datei) ordnungsgemäß mit einem AWS-Administratorbenutzer konfiguriert haben.
Um Best Practices zu gewährleisten, müssen wir einen neuen AWS-Benutzer erstellen, der nur Ressourcen erstellen und löschen darf, die sich auf AWS SageMaker beziehen. Erstellen Sie es, indem Sie Folgendes ausführen:
poetry poe create-sagemaker-role
Es wird eine Datei sagemaker_user_credentials.json
im Stammverzeichnis Ihres Repositorys mit Ihren neuen Werten AWS_ACCESS_KEY
und AWS_SECRET_KEY
erstellt. Bevor Sie jedoch Ihre neuen AWS-Anmeldeinformationen ersetzen, führen Sie auch den folgenden Befehl aus, um die Ausführungsrolle zu erstellen (um sie mit Ihren Administratoranmeldeinformationen zu erstellen).
Führen Sie Folgendes aus, um die IAM-Ausführungsrolle zu erstellen, die AWS SageMaker für den Zugriff auf andere AWS-Ressourcen in unserem Namen verwendet:
poetry poe create-sagemaker-execution-role
Es wird eine sagemaker_execution_role.json
Datei im Stammverzeichnis Ihres Repositorys mit Ihrem neuen AWS_ARN_ROLE
Wert erstellt. Fügen Sie es Ihrer .env
Datei hinzu.
Sobald Sie die Werte AWS_ACCESS_KEY
, AWS_SECRET_KEY
und AWS_ARN_ROLE
in Ihrer .env
Datei aktualisiert haben, können Sie AWS SageMaker verwenden. Beachten Sie, dass dieser Schritt für den Abschluss der AWS-Einrichtung von entscheidender Bedeutung ist.
Wir starten die Trainingspipeline über ZenML, indem wir Folgendes ausführen:
poetry poe run-training-pipeline
Dadurch wird der Trainingscode mit den Konfigurationen aus configs/training.yaml
direkt in SageMaker gestartet. Sie können die Ergebnisse im Dashboard von Comet ML visualisieren.
Wir starten die Evaluierungspipeline über ZenML, indem wir Folgendes ausführen:
poetry poe run-evaluation-pipeline
Dadurch wird der Evaluierungscode mit den Konfigurationen aus configs/evaluating.yaml
direkt in SageMaker gestartet. Sie können die Ergebnisse in *-results
-Ergebnisdatensätzen visualisieren, die in Ihrem Hugging Face-Profil gespeichert sind.
Führen Sie Folgendes aus, um einen AWS SageMaker-Inferenzendpunkt zu erstellen:
poetry poe deploy-inference-endpoint
Um es auszuprobieren, führen Sie Folgendes aus:
poetry poe test-sagemaker-endpoint
Um es zu löschen, führen Sie Folgendes aus:
poetry poe delete-inference-endpoint
Die ML-Pipelines, Artefakte und Container werden in AWS bereitgestellt, indem die Bereitstellungsfunktionen von ZenML genutzt werden. Daher müssen Sie ein Konto bei ZenML Cloud erstellen und deren Anleitung zur Bereitstellung eines ZenML-Stacks in AWS befolgen. Ansonsten finden Sie in Kapitel 11 im Abschnitt „ Bereitstellen der LLM Twin-Pipelines in der Cloud“ Schritt-für-Schritt-Anleitungen dazu, was Sie tun müssen.
Bei der Bereitstellung des Projekts nutzen wir die serverlosen Optionen von Qdrant und MongoDB. Daher können Sie entweder den Tutorials von Qdrant und MongoDB folgen, um zu erfahren, wie Sie jeweils einen Freemium-Cluster erstellen, oder Kapitel 11 , Abschnitt „ Bereitstellen der LLM Twin-Pipelines in der Cloud“ durchgehen und unseren Schritt-für-Schritt-Anleitungen folgen.
Wir verwenden GitHub Actions, um unsere CI/CD-Pipelines zu implementieren. Um Ihr eigenes zu implementieren, müssen Sie unser Repository forken und die folgenden Umgebungsvariablen als Aktionsgeheimnisse in Ihrem geforkten Repository festlegen:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_ECR_NAME
AWS_REGION
Außerdem finden Sie in Kapitel 11 im Abschnitt „Hinzufügen von LLMOps zum LLM Twin“ Anweisungen, wie Sie alles einrichten.
Sie können die Ergebnisse auf ihren selbst gehosteten Dashboards visualisieren, wenn Sie ein Comet-Konto erstellen und die Umgebungsvariable COMET_API_KEY
korrekt festlegen. Da Opik von Comet betrieben wird, müssen Sie neben Comet nichts weiter einrichten:
Alle ML-Pipelines werden hinter den Kulissen von ZenML orchestriert. Bei der Ausführung von Utility-Skripten, wie z. B. beim Exportieren oder Importieren aus dem Data Warehouse, gibt es einige Ausnahmen.
Die ZenML-Pipelines sind der Einstiegspunkt für die meisten Prozesse in diesem Projekt. Sie befinden sich im Ordner pipelines/
“. Wenn Sie also einen Workflow verstehen oder debuggen möchten, ist es der beste Ansatz, mit der ZenML-Pipeline zu beginnen.
So sehen Sie die laufenden Pipelines und ihre Ergebnisse:
Pipelines
feature_engineering
).feature_engineering_run_2024_06_20_18_40_24
).Sehen wir uns nun alle Pipelines an, die Sie ausführen können. Von der Datenerfassung bis zur Schulung werden wir sie in ihrer natürlichen Reihenfolge präsentieren, um das LLM-Projekt von Anfang bis Ende zu durchlaufen.
Führen Sie die Datenerfassungs-ETL aus:
poetry poe run-digital-data-etl
Warnung
Sie müssen Chrome (oder einen anderen Chromium-basierten Browser) auf Ihrem System installiert haben, damit LinkedIn- und Medium-Crawler funktionieren (die unter der Haube Selenium verwenden). Basierend auf Ihrer Chrome-Version wird der Chrome-Treiber automatisch installiert, um die Selenium-Unterstützung zu aktivieren. Eine andere Möglichkeit besteht darin, alles über unser Docker-Image auszuführen, wenn Sie Chrome nicht installieren möchten. Um beispielsweise alle Pipelines zusammen auszuführen, können Sie poetry poe run-docker-end-to-end-data-pipeline
ausführen. Beachten Sie, dass der Befehl so angepasst werden kann, dass er jede andere Pipeline unterstützt.
Wenn Sie aus einem anderen Grund keinen Chromium-basierten Browser installiert haben und Docker nicht verwenden möchten, haben Sie zwei weitere Möglichkeiten, dieses Selenium-Problem zu umgehen:
chromedriver_autoinstaller.install()
von application.crawlers.base und andere statische Aufrufe, die nach Chrome-Treibern suchen und Selen. Um zusätzliche Links zum Sammeln hinzuzufügen, gehen Sie zu configs/digital_data_etl_[author_name].yaml
und fügen Sie sie dem Feld links
hinzu. Sie können auch eine völlig neue Datei erstellen und zur Laufzeit angeben, wie folgt: python -m llm_engineering.interfaces.orchestrator.run --run-etl --etl-config-filename configs/digital_data_etl_[your_name].yaml
Führen Sie die Feature-Engineering-Pipeline aus:
poetry poe run-feature-engineering-pipeline
Generieren Sie den Anweisungsdatensatz:
poetry poe run-generate-instruct-datasets-pipeline
Generieren Sie den Präferenzdatensatz:
poetry poe run-generate-preference-datasets-pipeline
Führen Sie alles oben Genannte komprimiert in einer einzigen Pipeline aus:
poetry poe run-end-to-end-data-pipeline
Exportieren Sie die Daten aus dem Data Warehouse in JSON-Dateien:
poetry poe run-export-data-warehouse-to-json
Importieren Sie Daten aus JSON-Dateien in das Data Warehouse (standardmäßig werden die Daten aus dem Verzeichnis data/data_warehouse_raw_data
importiert):
poetry poe run-import-data-warehouse-from-json
ZenML-Artefakte nach JSON exportieren:
poetry poe run-export-artifact-to-json-pipeline
Dadurch werden die folgenden ZenML-Artefakte als JSON-Dateien in den output
exportiert (es wird die neueste Version verwendet):
Sie können konfigurieren, welche Artefakte exportiert werden sollen, indem Sie die Konfigurationsdatei configs/export_artifact_to_json.yaml
optimieren.
Führen Sie die Trainingspipeline aus:
poetry poe run-training-pipeline
Führen Sie die Evaluierungspipeline aus:
poetry poe run-evaluation-pipeline
Warnung
Damit dies funktioniert, stellen Sie sicher, dass Sie AWS SageMaker ordnungsgemäß konfiguriert haben, wie unter Einrichten der Cloud-Infrastruktur (für die Produktion) beschrieben.
Rufen Sie das RAG-Abrufmodul mit einer Testabfrage auf:
poetry poe call-rag-retrieval-module
Starten Sie die Inferenz-Echtzeit-RESTful-API:
poetry poe run-inference-ml-service
Rufen Sie die Inferenz-Echtzeit-RESTful-API mit einer Testabfrage auf:
poetry poe call-inference-ml-service
Denken Sie daran, dass Sie die Eingabeaufforderungsspuren auf Opik überwachen können.
Warnung
Damit der Inferenzdienst funktioniert, müssen Sie den LLM-Mikroservice in AWS SageMaker bereitgestellt haben, wie im Abschnitt zum Einrichten der Cloud-Infrastruktur erläutert.
Überprüfen oder beheben Sie Ihre Flusenprobleme:
poetry poe lint-check
poetry poe lint-fix
Überprüfen oder beheben Sie Ihre Formatierungsprobleme:
poetry poe format-check
poetry poe format-fix
Überprüfen Sie den Code auf durchgesickerte Anmeldeinformationen:
poetry poe gitleaks-check
Führen Sie alle Tests mit dem folgenden Befehl aus:
poetry poe test
Befolgen Sie basierend auf den oben beschriebenen Einrichtungs- und Nutzungsschritten unter der Annahme, dass die lokale und Cloud-Infrastruktur funktioniert und die .env
wie erwartet gefüllt ist, die nächsten Schritte, um das LLM-System durchgängig auszuführen:
Daten sammeln: poetry poe run-digital-data-etl
Rechenfunktionen: poetry poe run-feature-engineering-pipeline
Anweisungsdatensatz berechnen: poetry poe run-generate-instruct-datasets-pipeline
Berechnen Sie den Datensatz zur Präferenzausrichtung: poetry poe run-generate-preference-datasets-pipeline
Wichtig
Damit diese Schritte funktionieren, müssen Sie von nun an AWS SageMaker ordnungsgemäß einrichten, z. B. poetry install --with aws
ausführen und die AWS-bezogenen Umgebungsvariablen und Konfigurationen ausfüllen.
SFT-Feinabstimmung von Llamma 3.1: poetry poe run-training-pipeline
Gehen Sie für DPO zu configs/training.yaml
, ändern Sie finetuning_type
in dpo
und führen Sie poetry poe run-training-pipeline
erneut aus
Bewerten Sie fein abgestimmte Modelle: poetry poe run-evaluation-pipeline
Wichtig
Damit diese Schritte funktionieren, müssen Sie von nun an AWS SageMaker ordnungsgemäß einrichten, z. B. poetry install --with aws
ausführen und die AWS-bezogenen Umgebungsvariablen und Konfigurationen ausfüllen.
Rufen Sie nur das RAG-Abrufmodul auf: poetry poe call-rag-retrieval-module
Stellen Sie den LLM Twin-Mikrodienst für SageMaker bereit: poetry poe deploy-inference-endpoint
Testen Sie den LLM Twin-Microservice: poetry poe test-sagemaker-endpoint
Starten Sie den End-to-End-RAG-Server: poetry poe run-inference-ml-service
Testen Sie den RAG-Server: poetry poe call-inference-ml-service
Dieser Kurs ist ein Open-Source-Projekt, das unter der MIT-Lizenz veröffentlicht wird. Solange Sie also unsere LIZENZ weitergeben und unsere Arbeit anerkennen, können Sie dieses Projekt sicher klonen oder teilen und es als Inspirationsquelle für alles verwenden, was Sie wollen (z. B. Universitätsprojekte, Hochschulabschlussprojekte, persönliche Projekte usw.).