Delen via


Foundation Model Fine-tuning

Belangrijk

Deze functie bevindt zich in openbare preview in de volgende regio's: , centralus, eastus, en eastus2northcentralus.westus

Met Foundation Model Fine-tuning (nu onderdeel van Mosaic AI Model Training) kunt u uw eigen gegevens gebruiken om een basismodel aan te passen om de prestaties voor uw specifieke toepassing te optimize. Door volledige parameterafstemming of continue training van een basismodel uit te voeren, kunt u uw eigen model trainen met aanzienlijk minder gegevens, tijd en rekenresources dan het trainen van een volledig nieuw model.

Met Databricks beschikt u over alles in één platform: uw eigen gegevens die moeten worden gebruikt voor training, het basismodel voor het trainen, controleren van controlepunten die zijn opgeslagen in MLflow en het model dat is geregistreerd in Unity Catalog en klaar is voor implementatie.

Zie Zelfstudie: Een Foundation Model Fine-tuning run maken en implementeren om te leren hoe u een uitvoering maakt met behulp van de Foundation Model Fine-tuning-API, en bekijk vervolgens de resultaten en implementeer het model met behulp van de Databricks UI en Mosaic AI Model Serving.

Wat is Fine-tuning van Foundation Model?

Met het verfijnen van het Foundation-model kunt u de Databricks-API of -gebruikersinterface gebruiken om een basismodel af te stemmen of verder te trainen.

Met behulp van Foundation Model Fine-tuning kunt u het volgende doen:

  • Train een model met uw aangepaste gegevens, met de controlepunten die zijn opgeslagen in MLflow. U behoudt volledige controle over het getrainde model.
  • Registreer het model automatisch bij Unity Catalog, waardoor eenvoudige implementatie met modelbediening mogelijk is.
  • Een voltooid, eigen model verder trainen door de gewichten van een eerder getraind model te laden.

Databricks raadt aan om Foundation Model fine-tuning uit te proberen als:

  • U hebt weinig shot learning geprobeerd en betere resultaten wilt.
  • U hebt prompt engineering geprobeerd voor een bestaand model en betere resultaten te willen.
  • U wilt volledig eigendom van een aangepast model voor gegevensprivacy.
  • U bent latentiegevoelig of kostengevoelig en wilt een kleiner, goedkoper model gebruiken met uw taakspecifieke gegevens.

Ondersteunde taken

Foundation Model Fine-tuning ondersteunt de volgende use cases:

  • Chatvoltooiing: Aanbevolen taak. Train uw model in chatlogboeken tussen een gebruiker en een AI-assistent. Deze indeling kan zowel worden gebruikt voor werkelijke chatlogboeken als als een standaardindeling voor het beantwoorden van vragen en gesprekstekst. De tekst wordt automatisch opgemaakt in de juiste indeling voor het specifieke model. Zie voorbeeldchatsjablonen in de HuggingFace-documentatie voor meer informatie over sjablonen.
  • Afstemming onder supervisie: Train uw model op gestructureerde prompt-responsgegevens. Gebruik dit om uw model aan te passen aan een nieuwe taak, de responsstijl te wijzigen of instructievolgende mogelijkheden toe te voegen. Deze taak past geen opmaak automatisch toe op uw gegevens en wordt alleen aanbevolen wanneer aangepaste gegevensopmaak is vereist.
  • Vervolgtraining: Train uw model met aanvullende tekstgegevens. Gebruik deze optie om nieuwe kennis toe te voegen aan een model of om een model te richten op een specifiek domein.

Eisen

  • Een Databricks-werkruimte in een van de volgende Azure-regio's: centralus, eastus, eastus2, northcentralusof westus.
  • Foundation Model Fine-tuning-API's geïnstalleerd met behulp van pip install databricks_genai.
  • Databricks Runtime 12.2 LTS ML of hoger, indien uw gegevens zich in een Delta tablebevinden.

Zie Gegevens voorbereiden voor Het verfijnen van Foundation Model voor informatie over vereiste invoergegevensindelingen.

Aanbevolen gegevensgrootte voor modeltraining

Databricks raadt in eerste instantie aan om te trainen met behulp van één tot vier epochs. Nadat u uw nauwkeurig afgestemde model hebt geëvalueerd, kunt u, als u wilt dat de modeluitvoer vergelijkbaarer is met uw trainingsgegevens, beginnen met trainen met behulp van een tot twee meer tijdvakken.

Als de modelprestaties aanzienlijk afnemen voor taken die niet worden weergegeven in uw verfijningsgegevens, of als het model exacte kopieën van uw fine-tuninggegevens lijkt uit te voeren, raadt Databricks aan het aantal trainingstijdvakken te verminderen.

Voor het afstemmen en afstemmen van chats onder supervisie moet u voldoende tokens opgeven voor ten minste één volledige contextlengte van het model. Bijvoorbeeld 4096 tokens voor meta-llama/Llama-2-7b-chat-hf of 32768 tokens voor mistralai/Mistral-7B-v0.1.

Voor vervolgtraining raadt Databricks minimaal 1,5 miljoen tokens aan om een model met een hogere kwaliteit te get dat uw aangepaste gegevens leert.

Ondersteunde modellen

De volgende table bevat ondersteunde modellen. Zie Modellicenties voor de toepasselijke modellicentie en beleidsinformatie voor acceptabel gebruik.

Om de ondersteuning van de meest geavanceerde modellen voort te zetten, kan Databricks modellen update of oudere modellen uitfaseren. Zie Modellen die buiten gebruik worden gesteld.

Modelleren Maximale contextlengte Opmerkingen
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
mistralai/Mistral-7B-v0.1 32768
mistralai/Mistral-7B-Instruct-v0.2 32768
mistralai/Mixtral-8x7B-v0.1 32768

Buiten gebruik stellen van modellen

In de volgende table worden ondersteunde modellen vermeld die zijn gepland voor buitengebruikstelling. Zie buiten gebruik gestelde modellen voor geplande buitengebruikstellingsdatums en aanbevolen modelvervangingen.

Modelleren Maximale contextlengte Opmerkingen
meta-llama/Meta-Llama-3-70B 8192 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Meta-Llama-3-70B-Instruct 8192 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Meta-Llama-3-8B 8192 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Meta-Llama-3-8B-Instruct 8192 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-7b-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-13b-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-70b-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-7b-chat-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-13b-chat-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
meta-llama/Llama-2-70b-chat-hf 4096 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-7b-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-13b-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-34b-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-7b-Instruct-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-13b-Instruct-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-34b-Instruct-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-7b-Python-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-13b-Python-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.
codellama/CodeLlama-34b-Python-hf 16384 Dit model wordt na 7 januari 2025 niet meer ondersteund.

Modellicenties

De volgende table bevat de toepasselijke informatie over modellicenties en gebruiksbeleid voor de ondersteunde modelfamilies.

Modelfamilie Beleid voor licentie en acceptabel gebruik
Meta Llama 3.2 Meta Llama 3.2 is gelicentieerd onder de LLAMA 3.2 Community License, Copyright © Meta Platforms, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor de naleving van de voorwaarden van deze licentie en het Beleid voor acceptabel gebruik van Llama 3.2.
Meta Llama 3.1 Meta Llama 3.1 is gelicentieerd onder de LLAMA 3.1 Community License, Copyright © Meta Platforms, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
Llama 3 Llama 3 is gelicentieerd onder de LLAMA 3 Community License, Copyright © Meta Platforms, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
Llama 2 Llama 2 is gelicentieerd onder de LLAMA 2 Community License, Copyright © Meta Platforms, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
CodeLlama CodeLlama-modellen zijn gelicentieerd onder de LLAMA 2 Community License, Copyright © Meta Platforms, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
DBRX DBRX wordt geleverd onder en onderhevig aan de Databricks Open Model License, Copyright © Databricks, Inc. Alle rechten voorbehouden.

Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties, waaronder het Beleid voor acceptabel gebruik van Databricks.

Foundation Model fine-tuning gebruiken

Het verfijnen van het Foundation-model is toegankelijk met behulp van de databricks_genai SDK. In het volgende voorbeeld wordt een trainingsuitvoering gemaakt en gestart die gebruikmaakt van gegevens uit Unity CatalogVolumes. Zie Een trainingsuitvoering maken met behulp van de Foundation Model Fine-tuning-API voor configuratiedetails.

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,
)

Zie het instructiedemonotitieblok: demonotitieblok voor entiteitsherkenning voor een voorbeeld van het verfijnen van instructies voor het voorbereiden van gegevens, het afstemmen van de configuratie en implementatie van trainingsuitvoeringen.

Beperkingen

  • Grote gegevenssets (10B+-tokens) worden niet ondersteund vanwege de beschikbaarheid van rekenprocessen.

  • Voor continue pretraining zijn workloads beperkt tot 60-256 MB-bestanden. Bestanden die groter zijn dan 1 GB, kunnen langere verwerkingstijden veroorzaken.

  • Databricks streeft ernaar om de nieuwste geavanceerde modellen beschikbaar te maken voor aanpassing met behulp van Foundation Model Fine-tuning. Wanneer er nieuwe modellen beschikbaar komen, kan de toegang tot oudere modellen uit de API of gebruikersinterface worden verwijderd, worden oudere modellen mogelijk afgeschaft of ondersteunde modellen bijgewerkt. Zie onderhoudsbeleid voor Generatieve AI-modellen.

  • Foundation Model Fine-tuning biedt alleen ondersteuning voor modeltraining voor Azure-werkruimten met behulp van opslag achter Private Link.

    • Het lezen van gegevens uit opslag achter Private Link wordt eastus2 momenteel ondersteund.
  • Als u firewalls hebt ingeschakeld voor het Azure Data Lake Storage-account waarin uw gegevens worden opgeslagen in Unity Catalog, moet u verkeer van de serverloze Databricks-gegevensvlakclusters toestaan om Het Foundation Model fine-tuning te kunnen gebruiken. Neem contact op met uw Databricks-accountteam voor meer informatie en mogelijke aangepaste oplossingen.