Začínáme používat zřízená nasazení ve službě Azure OpenAI
Následující průvodce vás provede klíčovými kroky při vytváření zřízeného nasazení s prostředkem služby Azure OpenAI Service. Další podrobnosti o konceptech probíraných zde najdete tady:
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Role Přispěvatel Azure nebo Přispěvatel služeb Cognitive Services
- Přístup k Azure OpenAI Studiu
Získání nebo ověření dostupnosti kvóty PTU
Zřízená nasazení propustnosti mají velikost v jednotkách označovaných jako Jednotky zřízené propustnosti (PTU). Kvóta PTU se uděluje předplatnému v jednotlivých oblastech a omezuje celkový počet PTU, které je možné nasadit v této oblasti napříč všemi modely a verzemi.
Vytvoření nového nasazení vyžaduje dostupnou (nepoužitou) kvótu pro pokrytí požadované velikosti nasazení. Například: Pokud má předplatné v oblasti USA – středojihov následující:
- Celková kvóta PTU = 500 PTU
- Nasazení:
- 100 PTU: GPT-4o, 2024-05-13
- 100 PTU: GPT-4, 0613
Pak se použije 200 PTU kvóty a k dispozici je 300 PTU pro vytvoření nových nasazení.
Výchozí množství zřízené a globální zřízené kvóty se přiřadí všem předplatným v několika oblastech. Kvótu, která je pro vás dostupná v určité oblasti, můžete zobrazit v okně Kvóty v Azure OpenAI Studiu a výběrem požadovaného předplatného a oblasti. Následující snímek obrazovky například ukazuje limit kvóty 500 PTU ve vybraném předplatném v oblasti USA – západ. Všimněte si, že se můžou zobrazit nižší hodnoty dostupných výchozích kvót.
Další kvótu si můžete vyžádat kliknutím na odkaz Kvóta žádosti napravo od sloupce Využití nebo limit. (Na snímku obrazovky výše je vypnutá obrazovka).
Vytvoření prostředku Azure OpenAI
Zřízená a globální zřízená nasazení se vytvářejí prostřednictvím objektů prostředků Azure OpenAI v Rámci Azure. V každé oblasti, ve které chcete vytvořit nasazení, musíte mít prostředek Azure OpenAI. V případě potřeby pomocí webu Azure Portal vytvořte prostředek v oblasti s dostupnou kvótou.
Poznámka:
Prostředky Azure OpenAI můžou podporovat více typů nasazení Azure OpenAI najednou. Není nutné vyhradit nové prostředky pro zřízená nebo globální zřízená nasazení.
Vytvoření zřízeného nebo globálního zřízeného nasazení – kapacita je k dispozici
jakmile kvótu ověříte, můžete vytvořit nasazení. Pokud chcete vytvořit zřízené nasazení, můžete postupovat podle těchto kroků; volby popsané vystihovují položky zobrazené na snímku obrazovky.
Přihlášení k nástroji Azure OpenAI Studio
Zvolte předplatné, které bylo povoleno pro zřízená a globální zřízená nasazení, a vyberte požadovaný prostředek v oblasti, ve které máte kvótu.
V části Správa v levém navigačním podokně vyberte Nasazení.
Vyberte Vytvořit nové nasazení a nakonfigurujte následující pole. Rozbalte rozevírací nabídku rozšířených možností.
Vyplňte hodnoty v jednotlivých polích. Tady je příklad:
Pole | Description | Příklad |
---|---|---|
Výběr modelu | Zvolte konkrétní model, který chcete nasadit. | GPT-4 |
Verze modelu | Zvolte verzi modelu, která se má nasadit. | 0613 |
Název nasazení | Název nasazení se v kódu používá k volání modelu pomocí klientských knihoven a rozhraní REST API. | gpt-4 |
Filtr obsahu | Zadejte zásadu filtrování, která se má použít pro nasazení. Přečtěte si další informace o našich návodech k filtrování obsahu. | Výchozí |
Typ nasazení | To má vliv na propustnost a výkon. Zvolte zřízenou nebo globální spravovanou správu pro vaše nasazení. | Zřízeno a spravováno |
Zřízené jednotky propustnosti | Zvolte propustnost, kterou chcete zahrnout do nasazení. | 100 |
Důležité věci, které je potřeba poznamenat:
- Dialogové okno nasazení obsahuje připomenutí, že si můžete koupit rezervaci Azure pro Azure OpenAI Provisioned, abyste získali významnou slevu za závazek na období.
Po zadání nastavení nasazení pokračujte kliknutím na Potvrdit ceny . Zobrazí se dialogové okno s potvrzením cen, ve kterém se zobrazí ceníková cena pro nasazení, pokud se rozhodnete za ni platit po hodinách, bez rezervace Azure za účelem poskytnutí termínové slevy.
Pokud si nejste jisti náklady, zrušte nasazení a pokračujte, jakmile pochopíte platební model a základní náklady na zřízené nasazení. Tento krok může zabránit neočekávaným vysokým poplatkům na vaší platební faktuře. Mezi zdroje informací, které se chcete naučit, patří:
Následující obrázek ukazuje potvrzení o cenách, které uvidíte. Zobrazená cena je pouze příkladem.
Pokud chcete nasazení vytvořit programově, můžete to udělat pomocí následujícího příkazu Azure CLI. Pokud chcete určit typ nasazení, upravte sku-name
typ ProvisionedManaged
nasazení nebo GlobalProvisionedManaged
na základě zamýšleného typu nasazení. Aktualizujte sku-capacity
požadovaný počet zřízených jednotek propustnosti.
az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group <myResourceGroupName> \
--deployment-name MyModel \
--model-name GPT-4 \
--model-version 0613 \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged
K vytváření nasazení je možné použít také REST, šablonu ARM, Bicep a Terraform. Přečtěte si část o automatizaci nasazení v průvodci postupy správy kvót a nahraďte sku.name
je "ProvisionedManaged" nebo "GlobalProvisionedManaged" místo "Standard".
Vytvoření zřízeného nebo globálního zřízeného nasazení – Kapacita není k dispozici
Vzhledem k dynamické povaze dostupnosti kapacity je možné, že oblast vybraného prostředku nemusí mít kapacitu služby k vytvoření nasazení zadaného modelu, verze a počtu PTU.
V tomto případě vás Azure OpenAI Studio nasměruje do jiných oblastí s dostupnou kvótou a kapacitou a vytvoří nasazení požadovaného modelu. V takovém případě bude dialogové okno nasazení vypadat takto:
Co si můžete všimnout:
- Zobrazí se zpráva s velkým počtem PTU, které máte v dostupné kvótě, a počet aktuálně nasazených jednotek.
- Pokud vyberete počet PTU větších než kapacita služby, zobrazí se zpráva s možnostmi získání větší kapacity a tlačítkem, které vám umožní vybrat alternativní oblast. Kliknutím na tlačítko Zobrazit další oblasti se zobrazí dialogové okno se seznamem prostředků Azure OpenAI, ve kterých můžete vytvořit nasazení, spolu s nasazením s maximální velikostí, které se dá vytvořit na základě dostupné kvóty a kapacity služby v každé oblasti.
Výběr prostředku a kliknutí na Přepnout prostředek způsobí opětovné zobrazení dialogového okna nasazení pomocí vybraného prostředku. Pak můžete pokračovat vytvořením nasazení v nové oblasti.
Volitelně si kupte rezervaci.
Po vytvoření nasazení si můžete koupit slevu za období prostřednictvím rezervace Azure. Rezervace Azure může uživatelům, kteří mají v úmyslu nasazení používat za několik dní, značné slevy za hodinovou sazbu.
Další informace o nákupním modelu a rezervacích najdete tady:
- Ušetřete náklady se zřízenými rezervacemi služby Microsoft Azure OpenAI.
- Průvodce onboardingem zřízeným službou Azure OpenAI
- Příručka pro zřízené rezervace Azure OpenAI
Důležité
Dostupnost kapacity pro nasazení modelů je dynamická a často se mění napříč oblastmi a modely. Pokud chcete zabránit nákupu rezervace pro více PTU, než můžete použít, vytvořte nejprve nasazení a pak si kupte rezervaci Azure, abyste pokrýli prostředky PTU, které jste nasadili. Tento osvědčený postup zajistí, abyste mohli plně využít slevu za rezervaci a zabránit vám v nákupu závazku na období, který nemůžete použít.
Uskutečnění prvních volání odvozování
Odvozování kódu pro zřízená nasazení je stejný standardní typ nasazení. Následující fragment kódu ukazuje volání dokončení chatu do modelu GPT-4. Pro první použití těchto modelů prostřednictvím kódu programu doporučujeme začít s naší příručkou pro rychlý start. Doporučujeme použít knihovnu OpenAI s verzí 1.0 nebo vyšší, protože to zahrnuje logiku opakování v knihovně.
#Note: The openai-python library support for Azure OpenAI is in preview.
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01"
)
response = client.chat.completions.create(
model="gpt-4", # model = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
print(response.choices[0].message.content)
Důležité
V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.
Vysvětlení očekávané propustnosti
Propustnost, kterou můžete dosáhnout na koncovém bodu, je faktorem počtu nasazených PTU, velikosti vstupu, velikosti výstupu a frekvence volání. Počet souběžných volání a celkového počtu zpracovaných tokenů se může lišit v závislosti na těchto hodnotách. Náš doporučený způsob určení propustnosti pro vaše nasazení je následující:
- K odhadu velikosti použijte kalkulačku kapacity. Kalkulačku kapacity najdete v nástroji Azure OpenAI Studio na stránce kvót a na kartě Zřízeno.
- Proveďte srovnávací testy zatížení pomocí úlohy skutečného provozu. Další informace o srovnávacích testech najdete v části o srovnávacích testech .
Měření využití nasazení
Když nasadíte zadaný počet zřízených jednotek propustnosti (PTU), zpřístupní se pro tento koncový bod nastavené množství propustnosti odvozování. Využití této propustnosti je složitý vzorec založený na modelu, rychlosti volání verze modelu, velikosti výzvy, velikosti generování. Pro zjednodušení tohoto výpočtu poskytujeme metriku využití ve službě Azure Monitor. Vaše nasazení vrátí 429 pro všechna nová volání po zvýšení využití nad 100 %. Zřízené využití je definováno takto:
Využití nasazení PTU = (spotřebované v časovém období) / (PTU nasazené v časovém období)
Míru využití najdete v části Azure-Monitor pro váš prostředek. Pokud chcete získat přístup k přihlášení k https://portal.azure.comřídicím panelům monitorování, přejděte k prostředku Azure OpenAI a v levém navigačním panelu vyberte stránku Metriky. Na stránce metrik vyberte metriku Zřízené využití spravované pomocí V2. Pokud máte v prostředku více než jedno nasazení, měli byste hodnoty rozdělit podle každého nasazení kliknutím na tlačítko Použít rozdělení.
Další informace o monitorování nasazení najdete na stránce Monitorování služby Azure OpenAI.
Zpracování vysokého využití
Zřízená nasazení poskytují přidělenou výpočetní kapacitu ke spuštění daného modelu. Metrika Zřízené využití spravovaného prostředí ve službě Azure Monitor měří využití nasazení za jednu minutu. Zřízená spravovaná nasazení jsou také optimalizovaná tak, aby se akceptovaná volání zpracovávala s konzistentní maximální latencí pro jednotlivá volání. Když úloha překročí přidělenou kapacitu, vrátí služba stavový kód HTTP 429, dokud využití klesne pod 100 %. Doba před opakováním je k dispozici v retry-after
hlavičce a retry-after-ms
v hlavičce odpovědi, které poskytují čas v sekundách a milisekundách. Tento přístup udržuje cíle latence volání a současně poskytuje vývojáři kontrolu nad tím, jak zpracovávat situace s vysokým zatížením – například opakování nebo přesměrování na jiné prostředí nebo koncový bod.
Co mám dělat, když obdržím odpověď 429?
Odpověď 429 označuje, že přidělené PTU jsou plně spotřebovány v době volání. Odpověď obsahuje retry-after-ms
hlavičky a retry-after
hlavičky, které vám řeknou, že je čas čekat před přijetím dalšího volání. Způsob zpracování odpovědi 429 závisí na požadavcích vaší aplikace. Tady je několik aspektů:
- Pokud máte v pořádku delší latenci volání, implementujte logiku opakování na straně klienta a počkejte
retry-after-ms
čas a zkuste to znovu. Tento přístup umožňuje maximalizovat propustnost nasazení. Klientské sady SDK dodané microsoftem ji už zpracovávají s rozumnými výchozími nastaveními. Možná budete potřebovat další ladění na základě vašich případů použití. - Zvažte přesměrování provozu na jiné modely, nasazení nebo prostředí. Tento přístup je řešením s nejnižší latencí, protože tuto akci je možné provést ihned po přijetí signálu 429. Signál 429 není neočekávanou chybovou odpovědí při nasdílení změn do vysokého využití, ale místo části návrhu pro správu front a vysokého zatížení pro zřízená nasazení.
Úprava logiky opakování v klientských knihovnách
Sady SDK Azure OpenAI ve výchozím nastavení opakují odpovědi 429 a na pozadí v klientovi (až do maximálního počtu opakování). Knihovny respektují retry-after
čas. Chování opakování můžete také upravit tak, aby lépe vyhovovalo vašemu prostředí. Tady je příklad knihovny Pythonu.
Tuto možnost můžete použít max_retries
ke konfiguraci nebo zakázání nastavení opakování:
from openai import AzureOpenAI
# Configure the default for all requests:
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01",
max_retries=5,# default is 2
)
# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
model="gpt-4", # model = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
Spuštění srovnávacího testu
Přesné možnosti výkonu a propustnosti vaší instance závisí na druhu požadavků, které provedete, a na přesné úloze. Nejlepším způsobem, jak určit propustnost vaší úlohy, je spustit srovnávací test na vlastních datech.
Nástroj pro srovnávací testy, který vám pomůže s touto prací, poskytuje způsob snadného spouštění srovnávacích testů ve vašem nasazení. Tento nástroj obsahuje několik možných předkonfigurovaných obrazců úloh a výstupy klíčových metrik výkonu. Přečtěte si další informace o nástroji a nastavení konfigurace v našem úložišti GitHub: https://aka.ms/aoai/benchmarking.
Doporučujeme následující pracovní postup:
- Odhadněte ptu propustnosti pomocí kalkulačky kapacity.
- Spusťte srovnávací test s tímto obrazcem provozu po delší dobu (10 a min), abyste mohli sledovat výsledky v stabilním stavu.
- Sledujte využití, zpracovávané tokeny a hodnoty četnosti volání z nástroje srovnávacích testů a služby Azure Monitor.
- Pomocí implementace klienta spusťte srovnávací test s vlastním tvarem provozu a úlohami. Nezapomeňte implementovat logiku opakování pomocí klientské knihovny Azure OpenAI nebo vlastní logiky.
Další kroky
- Další informace o osvědčených postupech pro cloudové aplikace najdete v osvědčených postupech v cloudových aplikacích.
- Další informace o zřízených nasazeních najdete v tématu Co je zřízená propustnost?
- Další informace o logice opakování v rámci každé sady SDK najdete tady: