Förbereda data för finjustering av foundation-modell
Viktigt!
Den här funktionen finns i offentlig förhandsversion i följande regioner: centralus
, eastus
, eastus2
, och .northcentralus
westus
I den här artikeln beskrivs de godkända filformaten för tränings- och utvärderingsdata för finjustering av Foundation Model (nu en del av Mosaic AI Model Training).
Notebook: Dataverifiering för träningskörningar
Följande notebook-fil visar hur du verifierar dina data. Den är utformad för att köras separat innan du börjar träna. Den verifierar att dina data är i rätt format för finjustering av foundationmodellen och innehåller kod som hjälper dig att beräkna kostnaderna under träningskörningen genom att tokenisera din rådatauppsättning.
Verifiera data för notebook-filen för träningskörningar
Förbereda data för chattens slutförande
För att slutföra chattuppgifter måste chattformaterade data finnas i en .jsonl-fil, där varje rad är ett separat JSON-objekt som representerar en enda chattsession. Varje chattsession representeras som ett JSON-objekt med en enda nyckel, messages
, som mappar till en matris med meddelandeobjekt. Om du vill träna på chattdata anger du task_type = 'CHAT_COMPLETION'
när du skapar träningskörning.
Meddelanden i chattformat formateras automatiskt enligt modellens chattmall, så det finns inget behov av att lägga till särskilda chatttoken för att manuellt signalera början eller slutet av en chattsväng. Ett exempel på en modell som använder en anpassad chattmall är Meta Llama 3.1 8B Instruct.
Varje meddelandeobjekt i matrisen representerar ett enda meddelande i konversationen och har följande struktur:
-
role
: En sträng som anger meddelandets författare. Möjliga värden ärsystem
,user
ochassistant
. Om rollen ärsystem
måste den vara den första chatten i meddelandelistan. Det måste finnas minst ett meddelande med rollenassistant
, och alla meddelanden efter systemprompten (valfritt) måste ha alternativa roller mellan användare/assistent. Det får inte finnas två intilliggande meddelanden med samma roll. Det sista meddelandet i matrisenmessages
måste ha rollenassistant
. -
content
: En sträng som innehåller texten i meddelandet.
Kommentar
Mistralmodeller accepterar system
inte roller i sina dataformat.
Följande är ett chattformaterat dataexempel:
{"messages": [
{"role": "system", "content": "A conversation between a user and a helpful assistant."},
{"role": "user", "content": "Hi there. What's the capital of the moon?"},
{"role": "assistant", "content": "This question doesn't make sense as nobody currently lives on the moon, meaning it would have no government or political institutions. Furthermore, international treaties prohibit any nation from asserting sovereignty over the moon and other celestial bodies."},
]
}
Förbereda data för fortsatt förträning
För fortsatta förträningsuppgifter är träningsdata dina ostrukturerade textdata. Träningsdata måste finnas i en Unity Catalog-volym som innehåller .txt filer. Varje .txt-fil behandlas som ett enda exempel. Om dina .txt filer finns i en volymmapp i Unity Catalog hämtas även dessa filer för dina träningsdata. Alla icke-txt-filer i volymen ignoreras. Se Ladda upp filer till en Unity Catalog-volym.
Följande bild visar exempel .txt filer i en Unity Catalog-volym. Om du vill använda dessa data i din fortsatta förträningskörningskonfiguration anger du train_data_path = "dbfs:/Volumes/main/finetuning/cpt-data"
och anger task_type = 'CONTINUED_PRETRAIN'
.
Formatera data själv
Varning
Vägledningen i det här avsnittet rekommenderas inte, men är tillgänglig för scenarier där anpassad dataformatering krävs.
Databricks rekommenderar starkt att du använder chattformaterade data så att rätt formatering tillämpas automatiskt på dina data baserat på den modell du använder.
Med finjustering av grundmodellen kan du själv formatera data. All dataformatering måste tillämpas när du tränar och hanterar din modell. Om du vill träna din modell med dina formaterade data anger du task_type = 'INSTRUCTION_FINETUNE'
när du skapar träningskörningen.
Tränings- och utvärderingsdata måste finnas i något av följande scheman:
Par för fråga och svar.
{"prompt": "your-custom-prompt", "response": "your-custom-response"}
Snabb- och slutförandepar.
{"prompt": "your-custom-prompt", "completion": "your-custom-response"}
Viktigt!
Prompt-response och prompt-completion är intemallade, så alla modellspecifika mallar, till exempel Mistrals instruktionsformatering, måste utföras som ett förbearbetningssteg.
Dataformat som stöds
Följande dataformat stöds:
En Unity-katalogvolym med en
.jsonl
fil. Träningsdata måste vara i JSONL-format, där varje rad är ett giltigt JSON-objekt. I följande exempel visas ett exempel på ett prompt- och svarspar:{"prompt": "What is Databricks?","response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data."}
En Delta-tabell som följer något av de accepterade scheman som nämns ovan. För Delta-tabeller måste du ange en
data_prep_cluster_id
parameter för databearbetning. Se Konfigurera en träningskörning.En offentlig Hugging Face-datauppsättning.
Om du använder en offentlig Hugging Face-datauppsättning som träningsdata anger du den fullständiga sökvägen med delningen,
mosaicml/instruct-v3/train and mosaicml/instruct-v3/test
till exempel . Det här är ett konto för datauppsättningar som har olika delade scheman. Kapslade datauppsättningar från Hugging Face stöds inte.Ett mer omfattande exempel finns i datamängden
mosaicml/dolly_hhrlhf
på Hugging Face (Krama ansikte).Följande exempelrader med data kommer från datauppsättningen
mosaicml/dolly_hhrlhf
.{"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is Databricks? ### Response: ","response": "Databricks is a cloud-based data engineering platform that provides a fast, easy, and collaborative way to process large-scale data."} {"prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: Van Halen famously banned what color M&Ms in their rider? ### Response: ","response": "Brown."}