Sdílet prostřednictvím


Příprava dat pro vyladění základního modelu

Důležité

Tato funkce je ve verzi Public Preview v následujících oblastech: centralus, eastus, eastus2, northcentralusa westus.

Tento článek popisuje přijaté formáty trénovacích a vyhodnocovacích datových souborů pro vyladění základního modelu (nyní součástí trénování modelu Puzzle AI).

Poznámkový blok: Ověření dat pro trénovací běhy

Následující poznámkový blok ukazuje, jak ověřit data. Je navržená tak, aby běžela nezávisle před zahájením trénování. Ověří, že jsou vaše data ve správném formátu pro vyladění základního modelu a obsahuje kód, který vám pomůže odhadnout náklady během trénování tím, že tokenizuje nezpracovanou datovou sadu.

Ověření dat pro poznámkový blok trénovacích běhů

poznámkového bloku

Příprava dat na dokončení chatu

U úkolů dokončení chatu musí být data ve formátu chatu v souboru .jsonl, where každý řádek je samostatný objekt JSON představující jednu chatovací relaci. Každá chatová relace je reprezentována jako objekt JSON s jedním klíčem, messageskterý se mapuje na pole objektů zpráv. Pokud chcete trénovat data chatu, poskytněte task_type = 'CHAT_COMPLETION' při vytvoření tréninkového běhu.

Zprávy ve formátu chatu se automaticky naformátují podle šablony chatu modelu, takže není nutné přidávat speciální chatovací tokeny pro ruční signalizaci začátku nebo konce chatu. Příkladem modelu, který používá vlastní šablonu chatu, je Meta Llama 3.1 8B Instruct.

Každý objekt zprávy v poli představuje jednu zprávu v konverzaci a má následující strukturu:

  • role: Řetězec označující autora zprávy. Možné values jsou system, usera assistant. Pokud je role system, musí to být první chat ve zprávách list. Musí existovat alespoň jedna zpráva s rolí assistanta všechny zprávy po (volitelné) systémové výzvě musí mezi uživatelem nebo asistentem střídat role. Nesmí existovat dvě sousední zprávy se stejnou rolí. Poslední zpráva v poli messages musí mít roli assistant.
  • content: Řetězec obsahující text zprávy.

Poznámka:

Mistral modely nepřijímají system role ve svých datových formátech.

Následuje příklad dat ve formátu chatu:

{"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."},
  ]
}

Příprava dat na pokračování před trénování

V případě trvalých předtrénovacích úkolů jsou trénovací data nestrukturovaná textová data. Tréninková data musí být ve svazku Unity Catalog, který obsahuje .txt souborů. Každý soubor .txt se považuje za jediný vzorek. Pokud jsou vaše .txt soubory ve složce svazku Unity Catalog, tyto soubory jsou také získávány pro tréninková data. Všechny jiné soubory než txt ve svazku se ignorují. Viz Nahrání souborů do svazku Unity Catalog.

Následující obrázek ukazuje ukázkové soubory .txt ve svazku Unity Catalog. Chcete-li tato data použít v konfiguraci nepřetržitého spuštění pro předtrénování, settrain_data_path = "dbfs:/Volumes/main/finetuning/cpt-data" a settask_type = 'CONTINUED_PRETRAIN'.

Svazek UC s průběžnými předtrénovacími příklady souborů datové sady

Naformátujte data sami

Varování

Pokyny v této části se nedoporučují, ale jsou dostupné pro scénáře, kdy je where vyžadováno vlastní formátování dat.

Databricks důrazně doporučuje používat data formátovaná chatem, takže správné formátování se automaticky použije u vašich dat na základě modelu, který používáte.

Vyladění základního modelu umožňuje provádět formátování dat sami. Veškeré formátování dat se musí použít při trénování a obsluhě modelu. Pokud chcete model trénovat pomocí formátovaných dat, settask_type = 'INSTRUCTION_FINETUNE' při vytváření tréninkového běhu.

Trénovací a vyhodnocovací data musí být v jednom z následujících schémat:

  • Dvojice výzev a odpovědí

    {"prompt": "your-custom-prompt", "response": "your-custom-response"}
    
  • Dvojice výzvy a dokončení

    {"prompt": "your-custom-prompt", "completion": "your-custom-response"}
    

Důležité

Prompt-response and prompt-completion are not templated, so any model-specific templating, such as Mistral's instructing formatting must be performed as a preprocessing step.

Podporované formáty dat

Následující formáty dat jsou podporované:

  • Svazek Unity Catalog se souborem .jsonl. Trénovací data musí být ve formátu JSONL, where každý řádek je platným objektem JSON. Následující příklad ukazuje příklad páru výzvy a odpovědi:

    {"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."}
    
  • Delta table, která dodržuje jedno z přijatých schémat uvedených výše. Pro tablesDelta je nutné zadat parametr data_prep_cluster_id pro zpracování dat. Viz Konfigurace trénovacího spuštění.

  • Veřejná datová sada Hugging Face

    Pokud jako trénovací data použijete veřejnou datovou sadu Hugging Face, zadejte úplnou cestu s rozdělením, mosaicml/instruct-v3/train and mosaicml/instruct-v3/testnapříklad . Jedná se o účty datových sad, které mají různá rozdělená schémata. Vnořené datové sady z Hugging Face se nepodporují.

    Rozsáhlejší příklad najdete v mosaicml/dolly_hhrlhf datové sadě na webu Hugging Face.

    Následující ukázkové řádky dat pocházejí z mosaicml/dolly_hhrlhf datové sady.

    {"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."}