Sdílet prostřednictvím


Výpočetní prostředí GPU bez serveru

Důležité

Tato funkce je v beta verzi.

Tento článek popisuje výpočetní prostředky GPU bez serveru v Databricks a poskytuje doporučené případy použití, pokyny k nastavení výpočetních prostředků GPU a omezení funkcí.

Co je výpočetní prostředí GPU bez serveru?

Bezserverové výpočetní prostředí GPU je součástí nabídky bezserverových výpočetních prostředků. Bezserverové výpočetní prostředí GPU se specializuje na vlastní úlohy hlubokého učení s jedním a více uzly. Bezserverové výpočetní prostředky GPU můžete použít k trénování a vyladění vlastních modelů pomocí oblíbených architektur a zajištění špičkové efektivity, výkonu a kvality.

Výpočetní prostředí GPU bez serveru zahrnuje:

  • Integrované prostředí pro poznámkové bloky, Katalog Unity a MLflow: Kód můžete vyvíjet interaktivně pomocí poznámkových bloků.
  • Akcelerátory GPU A10:A10 GPU jsou navržené tak, aby urychlily malé až střední úlohy strojového učení a hlubokého učení, včetně klasických modelů ML a jemně dolaďování menších jazykových modelů. A10s jsou vhodné pro úlohy se středními výpočetními požadavky.
  • Podpora více GPU a více uzlů: Distribuované trénovací úlohy můžete spouštět více GPU a více uzlů pomocí bezserverového rozhraní GPU Python API. Viz distribuované trénování.

Předinstalované balíčky na bezserverových výpočetních prostředcích GPU nejsou náhradou za Databricks Runtime ML. I když existují běžné balíčky, ne všechny závislosti a knihovny ML modulu Databricks Runtime se projeví v bezserverovém výpočetním prostředí GPU.

Prostředí Pythonu na výpočetních prostředcích GPU bez serveru

Databricks poskytuje dvě spravovaná prostředí pro různé případy použití.

Poznámka:

Vlastní základní prostředí nejsou podporována pro výpočetní prostředky GPU bez serveru. Místo toho použijte výchozí prostředí nebo prostředí AI a zadejte další závislosti přímo na bočním panelu Prostředí nebo pip install na nich.

Výchozí základní prostředí

To poskytuje minimální prostředí se stabilním klientským rozhraním API pro zajištění kompatibility aplikací. Nainstalují se jenom požadované balíčky Pythonu. Databricks tak může server upgradovat nezávisle, poskytovat vylepšení výkonu, vylepšení zabezpečení a opravy chyb bez nutnosti jakýchkoli změn kódu v úlohách. Toto prostředí zvolte, pokud chcete plně přizpůsobit prostředí pro trénování.

Další podrobnosti najdete v poznámkách k verzi:

Prostředí AI

Prostředí Databricks AI je dostupné v bezserverovém prostředí GPU 4. Prostředí AI je postavené na výchozím prostředí s běžnými balíčky runtime a balíčky specifickými pro strojové učení v gpu. Obsahuje oblíbené knihovny strojového učení, včetně PyTorch, langchain, transformátorů, paprsků a XGBoost pro trénování a odvozování modelů. Toto prostředí zvolte, pokud budete provádět výcvikové úlohy.

Další podrobnosti najdete v poznámkách k verzi:

Databricks doporučuje bezserverové výpočetní prostředí GPU pro jakýkoli případ použití trénování modelu, který vyžaduje přizpůsobení trénování a GPU.

Například:

  • Jemné ladění LLM
  • Počítačové zpracování obrazu
  • Doporučené systémy
  • Zpětnovazební učení
  • Prognózování časových řad založených na hlubokém učení

Požadavky

  • Pracovní prostor v jedné z následujících oblastí podporovaných Azure:
    • eastus
    • eastus2
    • centralus
    • northcentralus
    • westcentralus
    • westus

Nastavení výpočetních prostředků GPU bez serveru

Pokud chcete poznámkový blok připojit k výpočetním prostředkům GPU bez serveru a nakonfigurovat prostředí:

  1. V poznámkovém bloku klikněte nahoře na rozevírací nabídku Připojit a vyberte Serverless GPU.
  2. Kliknutím na ikonu Prostředí otevřete boční panel Prostředí .
  3. V poli Akcelerátor vyberte A10.
  4. V poli Základní prostředí vyberte Možnost Žádné pro výchozí prostředí nebo AI v4 pro prostředí AI.
  5. Pokud jste v poli Základní prostředí zvolili Možnost Žádné, vyberte verzi prostředí.
  6. Klikněte na Použít a pak potvrďte , že chcete pro prostředí poznámkového bloku použít výpočetní prostředky GPU bez serveru.

Poznámka:

Připojení k výpočetnímu prostředí se automaticky ukončí po 60 minutách nečinnosti.

Přidání knihoven do prostředí

Do výpočetního prostředí GPU bez serveru můžete nainstalovat další knihovny. Viz Přidání závislostí do poznámkového bloku.

Poznámka:

Přidání závislostí pomocí panelu Prostředí , jak je vidět v části Přidání závislostí do poznámkového bloku , není podporováno pro bezserverové výpočetní úlohy GPU.

Vytvoření a naplánování úlohy

Následující kroky ukazují, jak vytvářet a plánovat úlohy pro výpočetní úlohy GPU bez serveru. Další podrobnosti najdete v tématu Vytvoření a správa naplánovaných úloh poznámkového bloku .

Po otevření poznámkového bloku, který chcete použít:

  1. Vyberte tlačítko Plán v pravém horním rohu.
  2. Vyberte Přidat plán.
  3. Vyplňte formulář Nový plánnázvem úlohy, plánem a výpočetními prostředky.
  4. Vyberte Vytvořit.

Úlohy můžete také vytvářet a plánovat z uživatelského rozhraní Úlohy a kanály . Podrobné pokyny najdete v tématu Vytvoření nové úlohy .

Distribuované trénování

Distribuované trénování můžete spustit napříč několika GPU – buď v jednom uzlu, nebo napříč několika uzly – pomocí bezserverového rozhraní GPU Python API. Rozhraní API poskytuje jednoduché sjednocené rozhraní, které abstrahuje podrobnosti o zřizování GPU, nastavení prostředí a distribuci úloh. S minimálními změnami kódu můžete bezproblémově přejít z trénování s jedním GPU na distribuované spouštění napříč vzdálenými gpu ze stejného poznámkového bloku.

Dekorátor @distributed funguje podobně jako spouštění trénování na více uzlech s torchrun, ale v čistém Pythonu. Následující fragment kódu například distribuuje hello_world funkci napříč 8 vzdálenými grafickými procesory A10:

# Import the distributed decorator
from serverless_gpu import distributed

# Decorate the function with @distributed and specify the number of GPUs, the GPU type, and whether
# or not the GPUs are remote
@distributed(gpus=8, gpu_type='A10', remote=True)
def hello_world(name: str) -> None:
  print('hello', name)

# Trigger the distributed execution of the hello_world function
hello_world.distributed('world')

Po spuštění se protokoly a výstupy ze všech pracovních procesů shromažďují a zobrazují v části Experiment vašeho pracovního prostoru.

Rozhraní API podporuje oblíbené paralelní trénovací knihovny, jako je DDP (Distributed Data Parallel ), Fully Sharded Data Parallel (FSDP), DeepSpeed a Ray.

Začněte importem úvodního poznámkového bloku , abyste získali praktické ruce s rozhraním API, a pak prozkoumejte příklady poznámkových bloků a podívejte se, jak se používá v reálných distribuovaných trénovacích scénářích pomocí různých knihoven.

Úplné podrobnosti najdete v dokumentaci k bezserverové verzi rozhraní API PRO Python .

Omezení

  • Výpočetní prostředí GPU bez serveru podporuje pouze akcelerátory A10.
  • Private Link se nepodporuje. Úložiště nebo repozitáře pip prostřednictvím Private Linku nejsou podporovány.
  • Bezserverové výpočetní prostředí GPU se nepodporuje pro pracovní prostory profilů zabezpečení dodržování předpisů (například HIPAA nebo PCI). Zpracování regulovaných dat se v tuto chvíli nepodporuje.
  • U naplánovaných úloh ve výpočetním prostředí bezserverového GPU není podporováno automatické obnovení pro nekompatibilní verze balíčků přidružené k vašemu poznámkovému bloku.
  • Maximální doba provozu pro úlohu je sedm dnů. Pro úlohy trénování modelu, které tento limit překročí, implementujte kontrolní bod a restartujte úlohu po dosažení maximálního běhu.

Osvědčené postupy

Podívejte se na osvědčené postupy pro výpočetní prostředí GPU bez serveru.

Řešení potíží s bezserverovou výpočetní službou GPU

Pokud narazíte na problémy při spouštění pracovních úloh na výpočetních prostředcích GPU bez serveru, prohlédněte si průvodce k odstraňování běžných problémů, kde najdete alternativní řešení a prostředky podpory.

Příklady poznámkových bloků

Níže jsou uvedeny různé příklady poznámkových bloků, které ukazují, jak používat bezserverové výpočetní prostředí GPU pro různé úlohy.

Task Description
Velké jazykové modely (LLM) Příklady vyladění velkých jazykových modelů, včetně metod efektivních parametrů, jako jsou Low-Rank Adaptace (LoRA) a přístupy k jemnému ladění pod dohledem.
Počítačové zpracování obrazu Příklady úloh počítačového zpracování obrazu, včetně rozpoznávání objektů a klasifikace obrázků.
Doporučené systémy založené na hlubokém učení Příklady pro vytváření systémů doporučení s využitím moderních přístupů hlubokého učení, jako jsou modely dvou věží.
Klasické strojové učení Příklady tradičních úloh strojového učení, včetně trénování modelů XGBoost a prognózování časových řad
Distribuované trénování s více GPU a více uzly Příklady škálování trénování napříč několika gpu a uzly pomocí bezserverového rozhraní GPU API, včetně distribuovaného ladění

Příklady trénování s více GPU

Podívejte se na distribuované trénování s více GPU a více uzly v poznámkových blocích, které ukazují, jak používat různé knihovny pro distribuované trénování pro trénování s více GPU.