Foundation Model Fine-tuning
Wichtig
Dieses Feature ist in den folgenden Regionen als Public Preview verfügbar: centralus
, eastus
, eastus2
, northcentralus
und westus
.
Mit foundation Model Fine-Tuning (jetzt Teil der Mosaik AI Model Training) können Sie Ihre eigenen Daten verwenden, um ein Foundation-Modell anzupassen, um seine Leistung für Ihre spezifische Anwendung zu optimieren. Durch die vollständige Parameteroptimierung oder das fortlaufende Training eines Basismodells können Sie Ihr eigenes Modell mit deutlich weniger Daten, Zeit und Rechenressourcen trainieren, als ein Modell von Grund auf neu zu trainieren.
Mit Databricks haben Sie alles auf einer einzigen Plattform: Ihre eigenen Daten für das Training, das Basismodell zum Trainieren, Prüfpunkte, die in MLflow gespeichert sind, und das Modell, das in Unity Catalog registriert ist und bereit für die Bereitstellung ist.
Siehe Lernprogramm: Erstellen und Bereitstellen einer Foundation Model Fine-Tuning-Ausführung , um zu erfahren, wie Sie eine Ausführung mithilfe der Foundation Model Fine-Tuning-API erstellen und bereitstellen und dann die Ergebnisse überprüfen und das Modell mithilfe der Databricks UI und Mosaik AI Model Serving bereitstellen.
Was ist Foundation Model Fine-Tuning?
Mit der Optimierung des Foundation-Modells können Sie die Databricks-API oder die Benutzeroberfläche verwenden, um ein Foundation-Modell zu optimieren oder weiter zu trainieren.
Mit der Feinabstimmung des Foundation-Modells können Sie folgende Aktionen ausführen:
- Trainieren Sie ein Modell mit Ihren benutzerdefinierten Daten, wobei die Prüfpunkte in MLflow gespeichert werden. Sie behalten die vollständige Kontrolle über das trainierte Modell.
- Registrieren Sie das Modell automatisch in Unity Catalog, sodass eine einfache Bereitstellung per Modellbereitstellung möglich ist.
- Optimieren Sie ein fertiges, proprietäres Modell durch Laden der Gewichtungen eines zuvor trainierten Modells.
Databricks empfiehlt, foundation Model Fine-Tuning zu versuchen, wenn:
- Sie haben ein Training mit nur wenige Stichproben getestet und möchten bessere Ergebnisse erzielen.
- Sie haben das Prompt Engineering für ein vorhandenes Modell getestet und möchten bessere Ergebnisse erzielen.
- Sie benötigen aus Datenschutzgründen den vollständigen Besitz über ein benutzerdefiniertes Modell.
- Latenz und Kosten sind für Sie von großer Bedeutung, und Sie möchten ein kleineres, günstigeres Modell mit Ihren aufgabenspezifischen Daten verwenden.
Unterstützte Aufgaben
Foundation Model Fine-Tuning unterstützt die folgenden Anwendungsfälle:
- Chatvervollständigung: Empfohlene Aufgabe. Trainieren Sie Ihr Modell mit Protokollen von Chats zwischen Benutzern und KI-Assistenten. Dieser Ansatz kann mit tatsächlichen Chatprotokollen und als Standardansatz für die Beantwortung von Fragen und Unterhaltungstext verwendet werden. Der Text wird automatisch mit dem entsprechenden Format für das jeweilige Modell formatiert. Weitere Informationen zur Vorlagenerstellung finden Sie in Beispiel-Chatvorlagen in der HuggingFace-Dokumentation.
- Überwachte Optimierung: Trainieren Sie Ihr Modell mit strukturierten Antwortdaten für Prompts. Verwenden Sie diese Methode, um Ihr Modell an eine neue Aufgabe anzupassen, den Antwortstil zu ändern oder die Funktionen auf der Basis von Anweisungen hinzuzufügen. Diese Aufgabe wendet nicht automatisch eine Formatierung auf Ihre Daten an und wird nur empfohlen, wenn eine benutzerdefinierte Datenformatierung erforderlich ist.
- Fortlaufendes Vorabtraining: Trainieren Sie Ihr Modell mit zusätzlichen Textdaten. Wenden Sie diesen Ansatz an, um einem Modell neue Kenntnisse hinzuzufügen oder ein Modell auf ein bestimmtes Thema auszurichten.
Anforderungen
- Ein Databricks-Arbeitsbereich in einer der folgenden Azure-Regionen:
centralus
,eastus
,eastus2
,northcentralus
, oderwestus
. - Foundation Model Fine-Tuning-APIs, die mit
pip install databricks_genai
. - Databricks Runtime 12.2 LTS ML oder höher, wenn sich Ihre Daten in einer Delta-Tabelle befinden
Informationen zu erforderlichen Eingabedatenformaten finden Sie unter "Vorbereiten von Daten für Foundation Model Fine-Tuning ".
Empfohlene Datengröße für das Modelltraining
Databricks empfiehlt ein anfängliches Training mit ein bis vier Epochen. Wenn Sie nach der Bewertung Ihres feinabgestimmten Modells möchten, dass die Modellausgaben Ihren Trainingsdaten besser entsprechen, können Sie zunächst mit dem Training anhand von ein bis zwei weiteren Epochen fortfahren.
Wenn die Modellleistung bei Aufgaben, die in Ihren Feinabstimmungsdaten nicht vertreten sind, erheblich abnimmt, oder wenn das Modell genaue Kopien Ihrer Feinabstimmungsdaten auszugeben scheint, empfiehlt Databricks eine Verringerung der Anzahl der Trainingsepochen.
Für die überwachte Optimierung und die Chatvervollständigung sollten Sie genügend Token für mindestens eine vollständige Kontextlänge des Modells bereitstellen. Sie benötigen z. B. 4.096 Token für meta-llama/Llama-2-7b-chat-hf
oder 32.768 Token für mistralai/Mistral-7B-v0.1
.
Für das fortlaufende Vorabtraining empfiehlt Databricks mindestens 1,5 Mio. Token, um ein Modell mit höherer Qualität zu erhalten, das Ihre benutzerdefinierten Daten erlernt.
Unterstützte Modelle
In der folgenden Tabelle werden die unterstützen Modelle aufgeführt. Verwenden Sie für die neuesten unterstützten Modelle und deren zugehörige Kontextlängen die get_models()
-Funktion.
from databricks.model_training import foundation_model
foundation_model.get_models()
Wichtig
Meta Llama 3.2 ist unter der LLAMA 3.2 Community License, Copyright © Meta Platforms, Inc. lizenziert. Alle Rechte vorbehalten. Kunden sind dafür verantwortlich, ihre Einhaltung der Bedingungen dieser Lizenz und der Richtlinie zur zulässigen Nutzung von Llama 3.2 sicherzustellen.
Meta Llama 3.1 ist unter der LLAMA 3.1 Community License, Copyright © Meta Platforms, Inc. lizenziert. Alle Rechte vorbehalten. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen sicherzustellen.
Llama 3 ist unter der LLAMA 3 Community License, Copyright © Meta Platforms, Inc. lizenziert. Alle Rechte vorbehalten. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen sicherzustellen.
Llama 2- und Code Llama-Modelle unterliegen der LLAMA 2 Community License, Copyright © Meta Platforms, Inc. Alle Rechte vorbehalten. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen sicherzustellen.
DBRX wird im Rahmen und vorbehaltlich der Open-Model-Lizenz von Databricks (Copyright © Databricks, Inc.) bereitgestellt. Alle Rechte vorbehalten. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen (einschließlich der Acceptable Use Policy von Databricks) sicherzustellen.
Modell | Maximale Kontextlänge | Hinweise |
---|---|---|
databricks/dbrx-base |
32768 | |
databricks/dbrx-instruct |
32768 | |
meta-llama/Llama-3.2-1B |
131072 | |
meta-llama/Llama-3.2-1B-Instruct |
131072 | |
meta-llama/Llama-3.2-3B |
131072 | |
meta-llama/Llama-3.2-3B-Instruct |
131072 | |
meta-llama/Meta-Llama-3.1-405B |
131072 | |
meta-llama/Meta-Llama-3.1-405B-Instruct |
131072 | |
meta-llama/Meta-Llama-3.1-70B |
131072 | |
meta-llama/Meta-Llama-3.1-70B-Instruct |
131072 | |
meta-llama/Meta-Llama-3.1-8B |
131072 | |
meta-llama/Meta-Llama-3.1-8B-Instruct |
131072 | |
meta-llama/Meta-Llama-3-70B |
8192 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Meta-Llama-3-70B-Instruct |
8192 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Meta-Llama-3-8B |
8192 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Meta-Llama-3-8B-Instruct |
8192 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-7b-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-13b-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-70b-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-7b-chat-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-13b-chat-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
meta-llama/Llama-2-70b-chat-hf |
4096 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-7b-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-13b-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-34b-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-7b-Instruct-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-13b-Instruct-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-34b-Instruct-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-7b-Python-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-13b-Python-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
codellama/CodeLlama-34b-Python-hf |
16384 | Nach dem 13. Dezember 2024 wird dieses Modell nicht mehr unterstützt. Informationen zum empfohlenen Ersatzmodell finden Sie unter Eingestellte Modelle. |
mistralai/Mistral-7B-v0.1 |
32768 | |
mistralai/Mistral-7B-Instruct-v0.2 |
32768 | |
mistralai/Mixtral-8x7B-v0.1 |
32768 |
Optimieren des Foundation-Modells
Auf die Optimierung des Foundation-Modells kann über das databricks_genai
SDK zugegriffen werden. Im folgenden Beispiel wird eine Trainingsausführung erstellt und gestartet, die Daten von Unity Catalog-Volumes verwendet. Weitere Informationen finden Sie unter Erstellen einer Schulungsausführung mit der Foundation Model Fine-Tuning-API .
from databricks.model_training import foundation_model as fm
model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
model=model,
train_data_path=train_data_path,
register_to=register_to,
)
Ein Beispiel finden Sie im Demo-Notebook für die Feinabstimmung von Instruktionen mit dem Titel Feinabstimmung von Instruktionen: Erkennung benannter Entitäten, das Sie durch die Datenvorbereitung, die Konfiguration des Feinabstimmungs-Trainingslaufs und die Bereitstellung führt.
Begrenzungen
Große Datasets (> 10 Mrd. Token) werden aufgrund der Computeverfügbarkeit nicht unterstützt.
Beim fortlaufenden Vorabtraining sind die Workloads auf Dateien mit 60–256 MB beschränkt. Dateien, die größer als 1 GB sind, können zu längeren Verarbeitungszeiten führen.
Databricks ist bestrebt, die neuesten hochmodernen Modelle mithilfe von Foundation Model Fine-Tuning zur Verfügung zu stellen. Wenn neue Modelle verfügbar sind, kann der Zugriff auf ältere Modelle aus der API oder Benutzeroberfläche entfernt werden, ältere Modelle sind möglicherweise veraltet oder unterstützte Modelle aktualisiert. Siehe Wartungsrichtlinie für generative KI-Modelle.
Foundation Model Fine-Tuning unterstützt nur Modellschulungen für Azure-Arbeitsbereiche unter Verwendung von Speicher hinter privatem Link.
- Derzeit wird nur das Lesen von Daten aus dem Speicher hinter Private Link in
eastus2
unterstützt.
- Derzeit wird nur das Lesen von Daten aus dem Speicher hinter Private Link in
Wenn Sie Firewalls für das Azure Data Lake Storage-Konto aktiviert haben, das Ihre Daten im Unity-Katalog speichert, müssen Sie den Datenverkehr aus den Serverlosen Databricks-Datenebenenclustern zulassen, um foundation Model Fine-Tuning zu verwenden. Wenden Sie sich an Ihr Databricks-Kundenteam, um weitere Informationen und mögliche individuelle Lösungen zu erhalten.