Sdílet prostřednictvím


Správa a optimalizace nákladů na Azure Machine Learning

V tomto článku se dozvíte, jak spravovat a optimalizovat náklady při trénování a nasazování modelů strojového učení do služby Azure Machine Learning.

Následující tipy vám pomůžou spravovat a optimalizovat náklady na výpočetní prostředky.

  • Použití výpočetního clusteru Azure Machine Learning
  • Konfigurace trénovacích clusterů pro automatické škálování
  • Konfigurace spravovaných online koncových bodů pro automatické škálování
  • Nastavení kvót pro vaše předplatné a pracovní prostory
  • Nastavení zásad ukončení v úloze trénování
  • Použití virtuálních počítačů s nízkou prioritou
  • Naplánování automatického vypnutí a spuštění výpočetních instancí
  • Použití rezervované instance virtuálního počítače Azure
  • Paralelizace trénování
  • Nastavení zásad uchovávání a odstraňování dat
  • Nasazení prostředků do stejné oblasti
  • Odstranění neúspěšných nasazení

Informace o plánování a monitorování nákladů najdete v tématu Plánování správy nákladů pro Azure Machine Learning.

Důležité

Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Verze Preview je poskytována bez smlouvy o úrovni služeb. Nedoporučujeme verze Preview pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Použití výpočetního clusteru Azure Machine Learning

S neustále se měnícími daty potřebujete rychlé a zjednodušené trénování modelu a opětovné trénování, abyste zachovali přesné modely. Průběžné trénování je ale nákladné, zejména pro modely hlubokého učení na grafických procesorech.

Uživatelé služby Azure Machine Learning můžou používat spravovaný výpočetní cluster Azure Machine Learning, označovaný také jako AmlCompute. AmlCompute podporuje různé možnosti GPU a procesoru. AmlCompute je interně hostovaný jménem vašeho předplatného službou Azure Machine Learning. Poskytuje stejné zabezpečení, dodržování předpisů a zásady správného řízení na podnikové úrovni v cloudovém měřítku Azure IaaS.

Vzhledem k tomu, že tyto výpočetní fondy jsou v infrastruktuře IaaS Azure, můžete nasadit, škálovat a spravovat trénování se stejnými požadavky na zabezpečení a dodržování předpisů jako zbytek infrastruktury. K těmto nasazením dochází ve vašem předplatném a dodržuje pravidla zásad správného řízení. Další informace najdete v tématu Plánování správy nákladů na Azure Machine Learning.

Konfigurace trénovacích clusterů pro automatické škálování

Automatické škálování clusterů na základě požadavků vaší úlohy pomáhá snížit náklady, abyste mohli používat jenom to, co potřebujete.

Clustery AmlCompute jsou navržené tak, aby se dynamicky škálují na základě vaší úlohy. Cluster je možné vertikálně navýšit na maximální počet uzlů, které nakonfigurujete. Po dokončení každé úlohy cluster uvolní uzly a škáluje se na nakonfigurovaný minimální počet uzlů.

Důležité

Pokud se chcete vyhnout poplatkům, pokud nejsou spuštěné žádné úlohy, nastavte minimální počet uzlů na 0. Toto nastavení umožňuje službě Azure Machine Learning zrušit přidělení uzlů, když se nepoužívají. Jakákoli hodnota větší než 0 zachová tento počet uzlů spuštěných, i když se nepoužívají.

Můžete také nakonfigurovat dobu nečinnosti uzlu před vertikálním snížením kapacity. Ve výchozím nastavení je doba nečinnosti před snížením kapacity nastavená na 120 sekund.

  • Pokud provádíte méně iterativní experimentování, zkraťte tuto dobu, abyste ušetřili náklady.
  • Pokud provádíte vysoce iterativní experimentování s vývojem a testováním, možná budete muset zvýšit čas, abyste po každé změně trénovacího skriptu nebo prostředí neplatili za konstantní vertikální navýšení a snížení kapacity.

Clustery AmlCompute můžete nakonfigurovat pro měnící se požadavky úloh pomocí:

Konfigurace spravovaných online koncových bodů pro automatické škálování

Automatické škálování automaticky spustí správné množství prostředků ke zvládnutí zatížení u vaší aplikace. Spravované online koncové body podporují automatické škálování prostřednictvím integrace s funkcí automatického škálování služby Azure Monitor. Další informace najdete v tématu Online koncové body a nasazení pro odvozování v reálném čase.

Automatické škálování služby Azure Monitor podporuje bohatou sadu pravidel:

  • Škálování na základě metrik, například využití >procesoru 70 %
  • Škálování na základě plánu, například pravidla škálování pro špičku pracovní doby
  • Kombinace těchto dvou

Další informace najdete v tématu Automatické škálování online koncových bodů.

Nastavení kvót pro prostředky

AmlCompute se dodává s konfigurací kvóty nebo limitu. Tato kvóta je určená rodinou virtuálních počítačů, například řady Dv2 nebo NCv3. Kvóta se pro každé předplatné liší podle oblasti. Předplatná začínají malými výchozími nastaveními. Pomocí tohoto nastavení můžete řídit množství prostředků AmlCompute, které se dají ve vašem předplatném vytvořit. Další informace najdete ve službě Azure Machine Learning Compute.

Můžete také nakonfigurovat kvótu na úrovni pracovního prostoru podle řady virtuálních počítačů pro každý pracovní prostor v rámci předplatného. Tento přístup poskytuje podrobnější kontrolu nad náklady, které se můžou u jednotlivých pracovních prostorů účtovat a omezovat určité rodiny virtuálních počítačů. Další informace najdete v tématu Kvóty na úrovni pracovního prostoru.

Nastavení kvót na úrovni pracovního prostoru:

  1. Otevřete Azure Portal a pak vyberte libovolný pracovní prostor ve vašem předplatném.

  2. V nabídce pracovního prostoru vyberte Podpora a řešení potíží s používáním>a kvótami.

  3. Výběrem možnosti Zobrazit kvótu zobrazíte kvóty v studio Azure Machine Learning.

  4. Na této stránce najdete své předplatné a oblast, abyste mohli nastavit kvóty.

    Vzhledem k tomu, že toto nastavení ovlivňuje více pracovních prostorů, potřebujete oprávnění k nastavení kvóty v oboru předplatného.

Nastavení zásad ukončení úlohy

V některých případech byste měli nakonfigurovat trénovací spuštění tak, aby omezila jejich dobu trvání nebo je ukončila včas. Například při použití integrovaného ladění hyperparametrů nebo automatizovaného strojového učení ve službě Azure Machine Learning.

Tady je několik možností, které máte:

  • Definujte parametr volaný max_run_duration_seconds ve vaší runConfiguration, který určuje maximální dobu trvání spuštění, na výpočetní prostředky, které zvolíte, a to buď místní, nebo vzdálené cloudové výpočetní prostředí.
  • Pro ladění hyperparametrů definujte zásadu předčasného ukončení ze zásad Banditu, zásadu zastavení mediánu nebo zásadu výběru zkrácení. K dalšímu řízení úklidů hyperparametrů použijte parametry, jako max_total_runs jsou nebo max_duration_minutes. Další informace naleznete v tématu Určení zásad předčasného ukončení.
  • U automatizovaného strojového učení nastavte podobné zásady ukončení pomocí příznaku enable_early_stopping . Můžete také použít vlastnosti, jako iteration_timeout_minutes je a experiment_timeout_minutes řídit maximální dobu trvání úlohy nebo pro celý experiment. Další informace naleznete v tématu Kritéria ukončení.

Použití virtuálních počítačů s nízkou prioritou

Azure umožňuje používat nadbytečnou nevyužitou kapacitu jako virtuální počítače s nízkou prioritou napříč škálovacími sadami virtuálních počítačů, službou Batch a službou Machine Learning. Tato přidělení jsou předběžná, ale v porovnání s vyhrazenými virtuálními počítači mají nižší cenu. Obecně doporučujeme pro úlohy Batch používat virtuální počítače s nízkou prioritou. Měli byste je také použít v případě, že přerušení je možné obnovit buď opětovným odesláním pro odvozování služby Batch, nebo restartováním pro trénování hlubokého učení s kontrolním bodem.

Virtuální počítače s nízkou prioritou mají jednu kvótu oddělenou od hodnoty vyhrazené kvóty, což je řada virtuálních počítačů. Další informace o kvótách AmlCompute naleznete v tématu Správa a zvýšení kvót .

Virtuální počítače s nízkou prioritou nefungují u výpočetních instancí, protože potřebují podporovat interaktivní prostředí poznámkových bloků.

Plánování výpočetních instancí

Když vytvoříte výpočetní instanci, zůstane virtuální počítač zapnutý, aby byl dostupný pro vaši práci.

Použití rezervovaných instancí

Dalším způsobem, jak ušetřit peníze na výpočetních prostředcích, je rezervovaná instance virtuálního počítače Azure. S touto nabídkou se zavazujete k ročním nebo tříletým termínům. Tyto slevy se účtují až do 72 % cen průběžných plateb a použijí se přímo na měsíční fakturu za Azure.

Služba Azure Machine Learning Compute podporuje rezervované instance ze své podstaty. Pokud si koupíte rezervovanou instanci na jeden nebo tři roky, automaticky uplatníme slevu na výpočetní prostředky spravované službou Azure Machine Learning.

Paralelizace trénování

Jednou z klíčových metod optimalizace nákladů a výkonu je paralelizace úloh pomocí paralelní komponenty ve službě Azure Machine Learning. Paralelní komponenta umožňuje paralelně spouštět úlohu pomocí mnoha menších uzlů, což umožňuje horizontální škálování. Existuje režijní náklady na paralelizaci. V závislosti na úloze a stupni paralelismu, kterého lze dosáhnout, může být tento přístup možností. Další informace naleznete v tématu ParallelComponent – třída.

Nastavení zásad uchovávání a odstraňování dat

Při každém spuštění kanálu se vygenerují přechodné datové sady v každém kroku. Tyto přechodné datové sady v průběhu času zabírají místo v účtu úložiště. Zvažte nastavení zásad pro správu dat v průběhu jejich životního cyklu za účelem archivace a odstranění datových sad. Další informace najdete v tématu Optimalizace nákladů automatickou správou životního cyklu dat.

Nasazení prostředků do stejné oblasti

Výpočetní prostředky umístěné v různých oblastech můžou zaznamenat latenci sítě a zvýšit náklady na přenos dat. Náklady na síť Azure se účtují z odchozí šířky pásma z datových center Azure. Pokud chcete snížit náklady na síť, nasaďte všechny prostředky v dané oblasti. Zřízení pracovního prostoru Azure Machine Learning a závislých prostředků ve stejné oblasti jako data může pomoct snížit náklady a zvýšit výkon.

V případě hybridních cloudových scénářů, jako jsou scénáře, které používají Azure ExpressRoute, může být někdy cenově výhodnější přesunout všechny prostředky do Azure, aby se optimalizovaly náklady na síť a latence.

Odstranění neúspěšných nasazení

Spravované online koncové body používají virtuální počítače pro nasazení. Pokud jste odeslali žádost o vytvoření online nasazení a selhala, žádost mohla při vytváření výpočetních prostředků předat fázi. V takovém případě se za neúspěšné nasazení účtují poplatky. Po dokončení ladění nebo šetření selhání odstraňte neúspěšná nasazení, abyste ušetřili náklady.