Co je úložiště funkcí?

Tato stránka vysvětluje, co je úložiště funkcí a jaké výhody nabízí, a konkrétní výhody úložiště funkcí Databricks.

Úložiště funkcí je centralizované úložiště, které datovým vědcům umožňuje najít a sdílet funkce a také zajistit, aby se stejný kód použitý k výpočtu hodnot funkcí používal k trénování a odvozování modelu.

Strojové učení používá existující data k vytvoření modelu k předpovídání budoucích výsledků. V téměř všech případech nezpracovaná data před sestavením modelu vyžadují předběžné zpracování a transformaci. Tento proces se nazývá příprava funkcí a výstupy tohoto procesu se nazývají funkce – stavební bloky modelu.

Vývoj funkcí je složitý a časově náročný. Další komplikací je, že pro strojové učení je potřeba provádět výpočty funkcí pro trénování modelu a pak znovu, když se model použije k předpovědím. Tyto implementace nemusí provádět stejný tým nebo používat stejné prostředí kódu, což může vést k prodlevám a chybám. Různé týmy v organizaci také často mají podobné potřeby funkcí, ale nemusí vědět o práci, kterou provedly jiné týmy. Úložiště funkcí je navržené tak, aby tyto problémy vyřešilo.

Proč používat úložiště funkcí Databricks?

Úložiště funkcí Databricks je plně integrované s dalšími komponentami Azure Databricks.

  • Zjistitelnost. Uživatelské rozhraní úložiště funkcí přístupné z pracovního prostoru Databricks umožňuje procházet a vyhledávat existující funkce.
  • Lineage. Když v Azure Databricks vytvoříte tabulku funkcí, uloží se a zpřístupní zdroje dat použité k vytvoření tabulky funkcí. Pro každou funkci v tabulce funkcí máte také přístup k modelům, poznámkovým blokům, úlohám a koncovým bodům, které tuto funkci používají.
  • Integrace s bodováním a obsluhou modelu Když k trénování modelu použijete funkce z úložiště funkcí, model se zabalí s metadaty funkcí. Když použijete model pro dávkové vyhodnocování nebo online odvozování, automaticky načte funkce z úložiště funkcí. Volající o nich nemusí vědět ani nezahrnovat logiku, aby vyhledal nebo připojil funkce pro určení skóre nových dat. Díky tomu je nasazení modelu a aktualizace mnohem jednodušší.
  • Vyhledávání k určitému bodu v čase Úložiště funkcí podporuje případy použití podle časových řad a událostí, které vyžadují správnost k určitému bodu v čase.

Příprava funkcí v katalogu Unity

S modulem Databricks Runtime 13.3 LTS a novějším, pokud je pro katalog Unity povolený váš pracovní prostor, stane se katalog Unity vaším úložištěm funkcí. Pro trénování nebo odvozování modelů můžete použít libovolnou tabulku Delta nebo Delta Live Table v katalogu Unity s primárním klíčem jako tabulku funkcí. Katalog Unity poskytuje zjišťování funkcí, zásady správného řízení, rodokmen a přístup mezi pracovními prostory.

Jak funguje úložiště funkcí Databricks?

Typický pracovní postup strojového učení využívající úložiště funkcí se řídí tímto způsobem:

  1. Napište kód pro převod nezpracovaných dat na funkce a vytvořte datový rámec Sparku obsahující požadované funkce.
  2. Pro pracovní prostory, které jsou povoleny pro Katalog Unity, zapište datový rámec jako tabulku funkcí v Katalogu Unity. Pokud pro katalog Unity není povolený váš pracovní prostor, zapište datový rámec jako tabulku funkcí do úložiště funkcí pracovního prostoru.
  3. Trénování modelu pomocí funkcí z úložiště funkcí Když to uděláte, uloží model specifikace funkcí používaných pro trénování. Když se model používá k odvozování, automaticky spojí funkce z příslušných tabulek funkcí.
  4. Registrace modelu v registru modelů

Model teď můžete použít k předpovědím nových dat.

V případě dávkového použití model automaticky načte funkce, které potřebuje, z úložiště funkcí.

Pracovní postup úložiště funkcí pro případy použití dávkového strojového učení

Pro případy použití v reálném čase publikujte funkce do online obchodu nebo použijte online tabulku.

V době odvozování model čte předem vypočítané funkce z online obchodu a spojí je s daty poskytnutými v požadavku klienta na koncový bod obsluhující model.

Tok úložiště funkcí pro modely strojového učení, které se obsluhují.

Začínáme používat úložiště funkcí

V následujících článcích se dozvíte, jak začít pracovat s úložištěm funkcí:

Při použití přípravy funkcí v katalogu Unity se katalog Unity postará o sdílení tabulek funkcí napříč pracovními prostory a k řízení přístupu k tabulkám funkcí používáte oprávnění katalogu Unity. Následující odkazy jsou určené jenom pro úložiště funkcí pracovního prostoru:

Podporované datové typy

Příprava funkcí v katalogu Unity a úložišti funkcí pracovního prostoru podporují následující datové typy PySpark:

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]

[1] BinaryTypeDecimalTypea MapType jsou podporovány ve všech verzích přípravy funkcí v katalogu Unity a v úložišti funkcí pracovních prostorů verze 0.3.5 nebo vyšší.

Datové typy uvedené výše podporují typy funkcí, které jsou běžné v aplikacích strojového učení. Příklad:

  • Můžete ukládat zhuštěné vektory, tensory a vkládání jako ArrayType.
  • Můžete ukládat řídké vektory, tensory a vkládání jako MapType.
  • Text můžete uložit jako StringType.

Při publikování do online obchodů ArrayType a MapType funkce se ukládají ve formátu JSON.

Uživatelské rozhraní úložiště funkcí zobrazuje metadata u datových typů funkcí:

Příklad složitých datových typů

Více informací

Další informace o osvědčených postupech pro používání úložiště funkcí najdete v komplexní příručce k úložišti funkcí.