Sdílet prostřednictvím


Co je spravované uložiště funkcí

V naší vizi pro spravované uložiště funkcí chceme odborníkům na strojové učení umožnit nezávisle vyvíjet a produkční funkce. Zadáte specifikaci sady funkcí a pak necháte systém obsluhovat, zabezpečit a monitorovat funkce. To vám uvolní režijní náklady na nastavení a správu základních kanálů přípravy funkcí.

Díky integraci našeho úložiště funkcí v životním cyklu strojového učení můžete experimentovat a dodávat modely rychleji, zvýšit spolehlivost jejich modelů a snížit provozní náklady. Tato výhody přináší redefinace prostředí strojového učení.

Další informace o entitách nejvyšší úrovně v úložišti funkcí, včetně specifikací sady funkcí, najdete v tématu Vysvětlení entit nejvyšší úrovně v spravované uložiště funkcí.

Co jsou funkce?

Funkce slouží jako vstupní data pro váš model. U případů použití řízených daty v podnikovém kontextu funkce často transformují historická data (jednoduché agregace, agregace oken, transformace na úrovni řádků atd.). Představte si například model strojového učení, který zákazník chytá. Vstupy modelu můžou zahrnovat data interakce zákazníků, například 7day_transactions_sum (počet transakcí za posledních 7 dnů) nebo 7day_complaints_sum (počet stížností za posledních sedm dnů). Obě tyto agregační funkce se počítají na předchozích sedmidenních datech.

Problémy vyřešené úložištěm funkcí

Pokud chcete lépe porozumět spravované uložiště funkcí, měli byste nejprve porozumět problémům, které úložiště funkcí dokáže vyřešit.

  • Úložiště funkcí umožňuje vyhledávat a opakovaně používat funkce vytvořené vaším týmem, abyste se vyhnuli nadbytečné práci a poskytovali konzistentní předpovědi.

  • Můžete vytvářet nové funkce s možností transformací a řešit požadavky na přípravu funkcí agilním a dynamickým způsobem.

  • Systém zprovozní a spravuje kanály přípravy funkcí potřebné k transformaci a materializaci , aby se váš tým uvolnil z provozních aspektů.

  • Stejný kanál funkcí, který jste původně použili pro trénování dat, můžete použít k odvozování pro účely odvozování, abyste zajistili online nebo offline konzistenci a vyhnuli se nerovnoměrné distribuci trénování a obsluhy.

Sdílení spravované uložiště funkcí

Diagram that shows how you can share a feature store among multiple users and workspaces

Úložiště funkcí je nový typ pracovního prostoru, který může používat více pracovních prostorů projektu. Můžete využívat funkce z jiných prostředí založených na Sparku než azure machine Učení, jako je Azure Databricks. Můžete také provádět místní vývoj a testování funkcí.

Přehled úložiště funkcí

Diagram depicting a conceptual architecture of Azure Machine Learning

Pro spravované uložiště funkcí zadáte specifikaci sady funkcí. Systém pak zpracovává obsluhu, zabezpečení a monitorování vašich funkcí. Specifikace sady funkcí obsahuje definice funkcí a volitelnou logiku transformace. Můžete také deklarativním způsobem poskytnout nastavení materializace pro materializaci do offline úložiště (ADLS Gen2). Systém generuje a spravuje podkladové kanály materializace funkcí. Katalog funkcí můžete použít k vyhledávání, sdílení a opakovanému použití funkcí. Pomocí rozhraní API pro obsluhu můžou uživatelé vyhledat funkce pro generování dat pro trénování a odvozování. Rozhraní API pro obsluhu může načíst data přímo ze zdroje nebo z offline úložiště materializace pro trénování a dávkové odvozování. Systém také poskytuje možnosti pro monitorování úloh materializace funkcí.

Výhody používání služby Azure Machine Učení spravované uložiště funkcí

  • Zvyšuje flexibilitu při přesouvání modelu (vytváření prototypů do zprovoznění):
    • Objevte a znovu používejte funkce místo vytváření funkcí od začátku.
    • Rychlejší experimentování s místním vývojem/testováním nových funkcí s podporou transformace a použitím specifikace načítání funkcí jako spojovací tkáně v toku MLOps
    • Deklarativní materializace a obnovení
    • Předem připravené konstrukce: součást načítání funkcí a specifikace načítání funkcí
  • Zlepšuje spolehlivost modelů ML.
    • Konzistentní definice funkcí napříč organizační jednotkou nebo organizací
    • Sady funkcí jsou verze a neměnné: Novější verze modelů můžou používat novější verze funkcí, aniž by narušovaly starší verzi modelu.
    • Materializace sady funkcí monitorování
    • Materializace zabraňuje nerovnoměrné distribuci trénování/obsluhy
    • Načítání funkcí podporuje časová spojení k určitému bodu v čase (označovaná také jako časová cesta), aby nedocházelo k úniku dat.
  • Snižuje náklady.
    • Opakované použití funkcí vytvořených jinými uživateli v organizaci
    • Materializace a monitorování jsou spravovány systémem, aby se snížily technické náklady.

Zjišťování a správa funkcí

Spravované úložiště funkcí poskytuje tyto možnosti pro zjišťování a správu funkcí:

  • Vyhledávání a opakované použití funkcí – funkce můžete vyhledávat a opakovaně používat v obchodech s funkcemi.
  • Podpora správy verzí – Sady funkcí jsou verze a neměnné, což umožňuje nezávisle spravovat životní cyklus sady funkcí. Nové verze modelu můžete nasadit s různými verzemi funkcí a vyhnout se přerušení starší verze modelu.
  • Zobrazení nákladů na úrovni úložiště funkcí – primární náklady spojené s využitím úložiště funkcí zahrnují spravované úlohy materializace Sparku. Tyto náklady můžete zobrazit na úrovni úložiště funkcí.
  • Použití sady funkcí – seznam registrovaných modelů můžete zobrazit pomocí sad funkcí.

Transformace funkcí

Transformace funkcí zahrnuje úpravu funkcí datové sady, aby se zlepšil výkon modelu. Transformační kód definovaný ve specifikaci funkce zpracovává transformaci funkcí. Pro rychlejší experimentování kód transformace provádí výpočty se zdrojovými daty a umožňuje místní vývoj a testování transformací.

Úložiště spravovaných funkcí poskytuje tyto možnosti transformace funkcí:

  • Podporavlastníchchch
  • Podpora předpočítaných funkcí – předpočítané funkce můžete přenést do úložiště funkcí a obsluhovat je bez psaní kódu.
  • Místní vývoj a testování – S prostředím Sparku můžete plně vyvíjet a testovat sady funkcí místně.

Materializace funkcí

Materializace zahrnuje výpočet hodnot funkcí pro dané okno funkce a trvalost těchto hodnot v úložišti materializace. Data funkcí se teď dají načíst rychleji a spolehlivěji pro účely trénování a odvozování.

  • Kanál materializace spravovaných funkcí – deklarativním způsobem určíte plán materializace a systém pak zpracuje plánování, předběžné výpočty a materializaci hodnot do úložiště materializace.
  • Podpora obnovení – materializace sad funkcí na vyžádání pro dané okno funkce
  • Spravovaná podpora Sparku pro materializaci – Azure Machine Učení spravovaný Spark (v bezserverových výpočetních instancích) spouští úlohy materializace. Uvolní vás z nastavení a správy infrastruktury Sparku.

Poznámka:

V současné době se podporují materializace offline úložiště (ADLS Gen2) i online obchodu (Redis).

Načítání funkcí

Azure Machine Učení zahrnuje integrovanou komponentu, která zpracovává načítání funkcí offline. Umožňuje používat funkce v krocích trénování a dávkového odvozování úlohy kanálu azure machine Učení.

Úložiště spravovaných funkcí poskytuje tyto možnosti načítání funkcí:

  • Generování deklarativních trénovacích dat – pomocí integrované komponenty načítání funkcí můžete vygenerovat trénovací data v kanálech bez nutnosti psaní kódu.
  • Generování dat deklarativního odvozování dávek – se stejnou předdefinovanou komponentou načítání funkcí můžete vygenerovat data dávkového odvozování.
  • Načítání programových funkcí – K vygenerování trénovacích a odvozovacích dat můžete použít také sadu Python SDK get_offline_features().

Sledování

Úložiště spravovaných funkcí poskytuje následující možnosti monitorování:

  • Stav úloh materializace – Stav úloh materializace můžete zobrazit pomocí uživatelského rozhraní, rozhraní příkazového řádku nebo sady SDK.
  • Oznámení o úlohách materializace – Můžete nastavit e-mailová oznámení o různých stavech úloh materializace.

Zabezpečení

Úložiště spravovaných funkcí poskytuje následující možnosti zabezpečení:

  • RBAC – Řízení přístupu na základě role pro úložiště funkcí, sadu funkcí a entity.
  • Dotazování napříč úložišti funkcí – Můžete vytvořit několik úložišť funkcí s různými přístupovými oprávněními pro uživatele, ale povolit dotazování (například generování trénovacích dat) z více úložišť funkcí.

Další kroky