Dela via


Finjustering av grundmodell

Viktigt!

Den här funktionen finns i offentlig förhandsversion i följande regioner: centralus, eastus, eastus2, och .northcentraluswestus

Med Foundation Model Fine-tuning (nu en del av Mosaic AI Model Training) kan du använda dina egna data för att anpassa en grundmodell för att optimize dess prestanda för ditt specifika program. Genom att utföra fullständig parameterjustering eller kontinuerlig träning av en grundmodell kan du träna din egen modell med betydligt mindre data-, tids- och beräkningsresurser än att träna en modell från grunden.

Med Databricks har du allt på en enda plattform: dina egna data att använda för träning, grundmodellen att träna, kontrollpunkter som sparats i MLflow och modellen som registrerats i Unity Catalog och redo att distribueras.

Se Självstudie: Skapa och distribuera en grundmodell Finjusteringskörning för att lära dig hur du skapar en körning med hjälp av API:et för finjustering av grundmodell och granska sedan resultaten och distribuera modellen med hjälp av Databricks UI och Mosaic AI Model Serving.

Vad är finjustering av grundmodell?

Med grundmodellens finjustering kan du använda Databricks-API:et eller användargränssnittet för att finjustera eller träna en grundmodell ytterligare.

Med hjälp av finjustering av grundmodell kan du:

  • Träna en modell med dina anpassade data, med kontrollpunkterna sparade i MLflow. Du behåller fullständig kontroll över den tränade modellen.
  • Registrera modellen automatiskt i Unity Catalog, vilket gör det enkelt att distribuera och köra modellen.
  • Träna ytterligare en färdig, proprietär modell genom att läsa in vikterna för en tidigare tränad modell.

Databricks rekommenderar att du provar att finjustera foundationmodellen om:

  • Du har provat några skott och vill ha bättre resultat.
  • Du har provat prompt engineering på en befintlig modell och vill ha bättre resultat.
  • Du vill ha fullständigt ägarskap över en anpassad modell för datasekretess.
  • Du är svarstidskänslig eller kostnadskänslig och vill använda en mindre, billigare modell med dina uppgiftsspecifika data.

Uppgifter som stöds

Grundmodellens finjustering stöder följande användningsfall:

  • Chatten har slutförts: Rekommenderad uppgift. Träna din modell på chattloggar mellan en användare och en AI-assistent. Det här formatet kan användas både för faktiska chattloggar och som standardformat för frågesvar och konversationstext. Texten formateras automatiskt i lämpligt format för den specifika modellen. Se exempel på chattmallar i HuggingFace-dokumentationen för mer information om mallar.
  • Övervakad finjustering: Träna modellen på strukturerade prompt-response-data. Använd det här alternativet om du vill anpassa din modell till en ny uppgift, ändra svarsstilen eller lägga till instruktioner. Den här uppgiften tillämpar inte automatiskt någon formatering på dina data och rekommenderas endast när anpassad dataformatering krävs.
  • Fortsatt förträning: Träna din modell med ytterligare textdata. Använd det här alternativet om du vill lägga till ny kunskap i en modell eller fokusera en modell på en specifik domän.

Krav

  • En Databricks-arbetsyta i någon av följande Azure-regioner: centralus, , eastuseastus2, northcentraluseller westus.
  • Foundation Model Finjusterings-API:er installerade med .pip install databricks_genai
  • Databricks Runtime 12.2 LTS ML eller senare om dina data finns i en Delta-table.

Se Förbereda data för Foundation Model Finjustering för information om nödvändiga indataformat.

Rekommenderad datastorlek för modellträning

Databricks rekommenderar att du först tränar med en till fyra epoker. När du har utvärderat din finjusterade modell kan du börja träna med en till två epoker om du vill att modellutdata ska likna dina träningsdata.

Om modellprestandan minskar avsevärt för uppgifter som inte representeras i dina finjusteringsdata, eller om modellen verkar mata ut exakta kopior av dina finjusteringsdata, rekommenderar Databricks att minska antalet träningsepoker.

För övervakad finjustering och slutförande av chattar bör du tillhandahålla tillräckligt med token för minst en fullständig kontextlängd för modellen. Till exempel 4 096 token för meta-llama/Llama-2-7b-chat-hf eller 32768 tokens för mistralai/Mistral-7B-v0.1.

För fortsatt förträning rekommenderar Databricks minst 1,5 miljoner token för att get en modell med högre kvalitet som lär sig dina anpassade data.

Modeller som stöds

Följande table visar modeller som stöds. Se modelllicenser för den tillämpliga modelllicensen och information om godtagbar användningsprincip.

För att fortsätta stödja de mest toppmoderna modellerna kan Databricks update modeller som stöds eller dra tillbaka äldre modeller. Se modeller som ska dras tillbaka.

Modell Maximal kontextlängd Kommentar
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

Modeller som ska dras tillbaka

Följande table listar modeller som stöds och som planeras att tas ur bruk. Se Pensionerade modeller för planerade pensioneringsdatum och rekommenderade modellersättningar.

Modell Maximal kontextlängd Kommentar
meta-llama/Meta-Llama-3-70B 8192 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Meta-Llama-3-70B-Instruct 8192 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Meta-Llama-3-8B 8192 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Meta-Llama-3-8B-Instruct 8192 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-7b-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-13b-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-70b-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-7b-chat-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-13b-chat-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
meta-llama/Llama-2-70b-chat-hf 4096 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-7b-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-13b-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-34b-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-7b-Instruct-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-13b-Instruct-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-34b-Instruct-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-7b-Python-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-13b-Python-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.
codellama/CodeLlama-34b-Python-hf 16384 Den här modellen stöds inte längre efter den 7 januari 2025.

modelllicenser

Följande table innehåller tillämplig modelllicens och principinformation om godtagbar användning för de modellfamiljer som stöds.

Modellfamilj Licens och godtagbar användningsprincip
Meta Llama 3.2 Meta Llama 3.2 är licensierad enligt LLAMA 3.2 Community License, Copyright © Meta Platforms, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa att de följer villkoren i den här licensen och llama 3.2-principen för godtagbar användning.
Meta Llama 3.1 Meta Llama 3.1 är licensierad enligt LLAMA 3.1 Community License, Copyright © Meta Platforms, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
Llama 3 Llama 3 är licensierad enligt LLAMA 3 Community License, Copyright © Meta Platforms, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
Lama 2 Llama 2 är licensierad enligt LLAMA 2 Community License, Copyright © Meta Platforms, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
CodeLlama CodeLlama-modeller licensieras enligt LLAMA 2 Community License, Copyright © Meta Platforms, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
DBRX DBRX tillhandahålls under och omfattas av Databricks Open Model License, Copyright © Databricks, Inc. Alla rättigheter reserverade.

Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser, inklusive policyn för godtagbar användning av Databricks.

Använda finjustering av grundmodell

Finjustering av grundmodellen är tillgänglig med hjälp av databricks_genai SDK. I följande exempel skapas och startas en träningskörning som använder data från Unity CatalogVolumes. Mer information finns i Skapa en träningskörning med hjälp av API :et för finjustering av foundation-modellen.

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

Se instruktionens finjustering: Den namngivna demoanteckningsboken För entitetsigenkänning finns ett exempel på finjustering av instruktioner som går igenom dataförberedelser, finjustering av träningskörningskonfiguration och distribution.

Begränsningar

  • Stora datamängder (10B+ token) stöds inte på grund av beräkningstillgänglighet.

  • För kontinuerlig förträning är arbetsbelastningar begränsade till 60–256 MB-filer. Filer som är större än 1 GB kan orsaka längre bearbetningstider.

  • Databricks strävar efter att göra de senaste toppmoderna modellerna tillgängliga för anpassning med hjälp av Foundation Model Fine-tuning. När nya modeller blir tillgängliga kan åtkomst till äldre modeller från API:et eller användargränssnittet tas bort, äldre modeller kan vara inaktuella eller modeller som stöds uppdateras. Se Underhållsprincip för generativa AI-modeller.

  • Grundmodell Finjustering stöder endast modellträning för Azure-arbetsytor med lagring bakom Private Link.

    • För närvarande stöds endast läsning av data från lagring bakom Private Link i eastus2 .
  • Om du har brandväggar aktiverade på Azure Data Lake Storage-kontot som lagrar dina data i Unity Catalogmåste du tillåtalistning av trafik från Databricks serverlösa dataplanskluster för att kunna använda grundläggande modell finjustering. Kontakta ditt Databricks-kontoteam för mer information och möjliga anpassade lösningar.