Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje doporučení osvědčených postupů pro používání výpočetních prostředků GPU bez serveru v poznámkových blocích a úlohách.
Podle těchto doporučení zvýšíte produktivitu, nákladovou efektivitu a spolehlivost úloh v Azure Databricks.
Přesuňte kód načítání dat uvnitř dekorátoru @distributed
Velikost datové sady může překročit maximální povolenou velikost dle modulu pickle. Proto se doporučuje, aby se datová sada vygenerovala uvnitř dekorátoru, například takto:
from serverless_gpu import distributed
# this may cause pickle error
dataset = get_dataset(file_path)
@distributed(gpus=8, remote=True)
def run_train():
# good practice
dataset = get_dataset(file_path)
....
Použití správného výpočetního prostředí
- Používejte bezserverové výpočetní prostředky GPU. Tato možnost se dodává s torchem, cuda a torchvision optimalizovaným pro kompatibilitu. Přesné verze balíčků budou záviset na verzích prostředí.
- Na bočním panelu prostředí vyberte akcelerátor.
- Pro úlohy vzdáleného distribuovaného trénování použijte GPU A10, což bude klient, který později odešle úlohu vzdálenému H100.
- Pro spouštění velkých interaktivních úloh v samotném poznámkovém bloku můžete poznámkový blok připojit k H100, což vyžaduje 1 uzel (8 H100 GPU).
- Abyste se vyhnuli zabírání GPU, můžete notebook připojit ke clusteru procesorů pro některé operace, jako je klonování z Git a převod MDS.
Doporučení MLflow
Pro optimální vývojový cyklus ML použijte MLflow 3 v Databricks. Postupujte podle těchto tipů:
Upgradujte MLflow ve vašem prostředí na verzi 3.0 nebo novější a postupujte podle MLflow toku pro hluboké učení v pracovním postupu hlubokého učení MLflow 3.
stepNastavte parametrMLFlowLoggerna přiměřený počet dávek. MLflow má limit 10 milionů metrických kroků, které lze protokolovat. Viz Omezení prostředků.Povolte
mlflow.pytorch.autolog(), pokud se jako školitel používá Pytorch Lightning.Přizpůsobte si název spuštění MLflow zapouzdřením trénovacího kódu modelu ve
mlflow.start_run()rámci rozhraní API. Tím získáte kontrolu nad názvem spuštění a umožníte restartování z předchozího spuštění. Název spuštění můžete přizpůsobit pomocí parametrurun_namevmlflow.start_run(run_name="your-custom-name")knihovnách třetích stran, které podporují MLflow (například Hugging Face Transformers). V opačném případě je výchozí název spuštěníjobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Bezserverové rozhraní GPU API spustí experiment MLflow pro protokolování systémových metrik. Ve výchozím nastavení používá název
/Users/{WORKSPACE_USER}/{get_notebook_name()}, pokud ho uživatel nepřepíše pomocí proměnné prostředíMLFLOW_EXPERIMENT_NAME.- Při nastavování proměnné prostředí
MLFLOW_EXPERIMENT_NAMEpoužijte absolutní cestu. Například/Users/<username>/my-experiment. - Název experimentu nesmí obsahovat název existující složky. Pokud je například
my-experimentexistující složka, uvedený příklad skončí chybou.
import os from serverless_gpu import distributed os.environ['MLFLOW_EXPERIMENT_NAME'] = '/Users/{WORKSPACE_USER}/my_experiment' @distributed(gpus=num_gpus, gpu_type=gpu_type, remote=True) def run_train(): # my training code- Při nastavování proměnné prostředí
Pokud chcete pokračovat v trénování z předchozího spuštění, zadejte MLFLOW_RUN_ID z předchozího spuštění následujícím způsobem.
import os os.environ[‘MLFLOW_RUN_ID’] = <previous_run_id> run_train.distributed()
Spolupráce s více uživateli
- Pokud chcete zajistit, aby všichni uživatelé měli přístup ke sdílenému kódu (např. pomocné moduly, environment.yaml), vytvořte složky Gitu nebo
/Workspace/Repos/Workspace/Sharedmísto uživatelských složek, jako je/Workspace/Users/<your_email>/. - Pro kód, který je v aktivním vývoji, použijte uživatelské složky Gitu
/Workspace/Users/<your_email>/a přeneste je do vzdálených úložišť Git. To umožňuje více uživatelům mít klon specifický pro uživatele (a větev), ale stále používat vzdálené úložiště Git pro správu verzí. Podívejte se na osvědčené postupy pro používání Gitu v Databricks. - Spolupracovníci můžou poznámkové bloky sdílet a komentovat .
Globální limity v Databricks
Viz Omezení prostředků.