Delen via


Toepassingsplatform voor AI-workloads in Azure

U moet zorgvuldig rekening houden met het platform voor het hosten van toepassingen waarop uw AI-workload is geïmplementeerd om ervoor te zorgen dat u de efficiëntie, de beveiliging van bewerkingen en betrouwbaarheid kunt maximaliseren.

In dit ontwerpgebied worden verschillende typen toepassingen behandeld die mogelijk relevant zijn voor uw AI-workload:

  • Verkennende gegevensanalyse (EDA)
  • Modeltraining en afstemming
  • Deductie

Dit artikel bevat richtlijnen voor het selecteren van het beste platform voor elk van deze functies om te voldoen aan uw bedrijfsbehoeften. Er zijn ook algemene aanbevelingen die u op al deze functies kunt toepassen.

Aanbevelingen

Hier volgt een samenvatting van de aanbevelingen in dit artikel.

Aanbeveling Beschrijving
Hulpprogramma's opnieuw gebruiken. Begin met het evalueren van de hulpprogramma's die u al gebruikt om te begrijpen of ze opnieuw kunnen worden gebruikt voor uw AI-workload. Als ze de vereiste functionaliteit ondersteunen en aan uw vereisten voor betrouwbaarheid, beveiliging, kosten en prestaties kunnen voldoen, is het binnenbrengen van een nieuw hulpprogramma mogelijk niet de moeite waard.
Overweeg nalevingsvereisten voor uw gegevens en de regio's waarin u wilt implementeren. Mogelijk moet u de regio's beperken die u implementeert in of delen van uw workload van elkaar isoleren om te voldoen aan de nalevingsvereisten. Als u met deze informatie in de ontwerpfase gaat, kunt u beter voorkomen dat u later opnieuw moet ontwerpen.
Minimaliseer het gebouw. Overweeg PaaS-oplossingen (Platform as a Service) of SaaS-oplossingen (Software as a Service) om de operationele last die het bouwen van uw eigen oplossing introduceert, zoals patching en ander onderhoud, te minimaliseren. Het minimaliseren van de dag-2-belasting die nodig is voor de nieuwe technologie vereenvoudigt uw acceptatie. Veel AI-functies zijn complex, dus we raden u niet aan om uw eigen platform te bouwen.
Inzicht in uw quota en limieten. Wanneer u ontwerpt voor het gebruik van PaaS- of SaaS-oplossingen, begrijpt u welke quota of limieten van toepassing zijn. Uw mogelijkheid om uit te schalen om te voldoen aan hoge verkeersvereisten kan worden beïnvloed door quota of limieten, dus mogelijk moet u uw ontwerp aanpassen om dat risico te minimaliseren.
Implementeren in dezelfde regio. Probeer alle gerelateerde resources in dezelfde regio te implementeren om de latentie te verminderen en het ontwerp te vereenvoudigen.
Oefen een veilige implementatie. Over het algemeen moet u de API's voor uw AI-workload op dezelfde manier behandelen als elke andere API in uw omgeving. Alle API's moeten achter een gateway worden geplaatst en alle code moet worden verwerkt met dezelfde veilige implementatieprocedures als elke andere codeasset.
Prestatiebenchmarks tot stand brengen via experimenten. Elke AI-workload is verschillend en de hoeveelheid rekenkracht die u nodig hebt, is afhankelijk van uw use-case. Bepaal de hoeveelheid en typen berekeningen die optimaal zijn voor uw workload door grondige benchmarktests uit te voeren. Deze handleiding helpt u bij het kiezen van een platform, maar u weet alleen welke SKU's geschikt zijn voor uw workload na het testen van de benchmark.

Overwegingen voor het EDA-platform

EDA is een algemene voorlopige functie die gegevenswetenschappers uitvoeren voordat ze modelleren of statistische analyses uitvoeren. Het kan daarom worden beschouwd als een ontwikkelingsfase, wat betekent dat doelen voor betrouwbaarheid en prestaties aanzienlijk lager kunnen zijn dan die voor productieresources en het onderhouden van de productiviteit des te belangrijker is.

Deze sectie bevat richtlijnen voor de mogelijkheden die u kunt overwegen wanneer u een EDA-platformoplossing selecteert.

Functionele vereisten

Houd rekening met de volgende vragen wanneer u een EDA-platform evalueert:

  • Biedt het platform ondersteuning voor tijdelijk gebruik?

    Het platform moet tijdelijke werkruimten en berekeningen ondersteunen, wat betekent dat u de benodigde resources moet kunnen stoppen wanneer ze niet worden gebruikt. Deze mogelijkheid helpt bij het beheren van kosten. EDA-taken zijn doorgaans interactief, dus gebruikers moeten vm's kunnen starten en stoppen terwijl ze taken uitvoeren.

  • Biedt het platform ondersteuning voor optionele rekenkracht?

    Het platform moet indien nodig toegang op aanvraag tot GPU's inschakelen en verschillende rekenopties bieden om de juiste grootte van het platform te bieden.

  • Ondersteunt het platform MLflow?

    Uw EDA-platform moet het mogelijk maken om een technologie te kiezen die integratie met MLflow mogelijk maakt voor het bijhouden van uw experimenten. We raden MLflow aan als een modelontwikkelings-, implementatie- en beheerprotocol omdat dit de volgende voordelen biedt:

    • Experimenten bijhouden. Met MLflow kunt u experimenten bijhouden door parameters, metrische gegevens en artefacten vast te leggen. Deze mogelijkheid is essentieel tijdens EDA, zodat u verschillende stappen voor het verwerken van gegevens en functie-engineeringtechnieken en hun invloed op de modelprestaties kunt bijhouden.
    • Reproduceerbaarheid. Omdat deze alle details van uw experimenten registreert, zorgt MLflow ervoor dat u uw resultaten kunt reproduceren, wat essentieel is voor het valideren van bevindingen.
    • Versiebeheer van gegevens en modellen. MLflow helpt bij het versiebeheer van gegevenssets en -modellen, waardoor het eenvoudiger is om verschillende versies van gegevenstransformaties en geteste modellen te beheren.
    • Samenwerkend werk. MLflow biedt een gecentraliseerd platform waar gegevenswetenschappers hun experimenten en resultaten kunnen delen, wat samenwerking en kennisdeling vergemakkelijkt.

Niet-functionele vereisten

Houd ook rekening met deze vragen:

  • Hoe kan het platform helpen bij het beheren van kosten?

    Het platform moet gegevenswetenschappers in staat stellen om hun werk volgens hun planningsvereisten uit te voeren, maar het moet de juiste grootte hebben om ervoor te zorgen dat aan de kostenverwachtingen wordt voldaan.

  • Welke beveiligingsvereisten moeten worden gevolgd voor het platform?

    De gegevens die tijdens uw EDA-fase worden gebruikt, zijn waarschijnlijk productiegegevens. Hiervoor moet u productieprocedures volgen om die gegevens te beveiligen en het platform te bewaken. Daarom moet uw platform alle benodigde beveiligingscontroles ondersteunen, waaronder:

    • Toegang en autorisatie.
    • Versleuteling 'at rest' en 'in transit'.
    • Vereisten voor regionale gegevensbescherming.
    • Robuuste bewakings- en waarschuwingsfunctionaliteit, waaronder logboekregistratie en controlebaarheid.
    • Privénetwerktoegang tot gecentraliseerde opslagplaatsen voor containerinstallatiekopieën, gegevens en codeassets.

Hulpprogramma's

Gebruik een Azure Machine Learning-rekenproces met bestandsshares op teamniveau als uw EDA-platform. Een uitzondering hierop is als uw team of organisatie al een geschikt hostingplatform gebruikt, zoals rekenclusters met GPU in Databricks, bijvoorbeeld. In dat geval is het mogelijk beter om op dat platform te blijven.

Notitie

Bouw geen volledig EDA-platform, tenzij u dat nodig hebt. Voor GPU geoptimaliseerde rekenkracht is duur en is niet geschikt als uw use-case dit niet vereist.

Overwegingen voor het modeltrainings- en afstemmingsplatform

Wanneer u overstapt op modeltraining en fine-tuning, hebt u waarschijnlijk geavanceerde GPU-geoptimaliseerde rekenkracht nodig voor het rekenintensieve werk dat voor deze activiteiten vereist is. Betrouwbaarheid is doorgaans niet zo belangrijk als prestaties, omdat het grootste deel van dit werk achter de schermen plaatsvindt. Als hoge betrouwbaarheid een vereiste is, moet u evalueren of het spreiden van de workload tussen beschikbaarheidszones of regio's noodzakelijk is. Hoge betrouwbaarheid wordt belangrijker wanneer modelversheid regelmatig wordt bijgewerkt, wat vereist dat training volgens een strakkere planning wordt voltooid. Uw RTO moet het betrouwbaarheidsontwerp bepalen dat u kiest.

De richtlijnen in deze sectie zijn van toepassing op zowel modeltraining als afstemming. Tenzij u gedwongen bent afzonderlijke platforms voor deze functies te gebruiken, moet u één platform gebruiken.

Functionele vereisten

Houd rekening met de volgende vragen wanneer u platforms evalueert voor modeltraining en afstemming:

  • Biedt het platform ondersteuning voor tijdelijk gebruik?

    Net als bij EDA-activiteiten worden modeltraining en fine-tuning doorgaans niet fulltime uitgevoerd, dus u moet een platform gebruiken dat kan worden gestopt wanneer het niet in gebruik is om de kosten te beheren. In tegenstelling tot EDA is modeltraining echter doorgaans een batchproces, dus de berekening is alleen nodig wanneer de batch wordt uitgevoerd en kan worden afgesloten tot de volgende uitvoering.

  • Biedt het platform indeling?

    Vanwege de complexiteit die vereist is voor het beheren van de rekenkracht voor modeltraining en het verfijnen van modellen, raden we een orchestrator aan.

  • Kunnen bestaande technologieën in uw omgeving deel uitmaken van de oplossing?

    Als uw bestaande gegevensplatform machine learning-mogelijkheden heeft, zoals Azure Databricks , kunt u dit gebruiken voor bepaalde stappen, zoals gegevenstransformatie en functie-engineering, training, fine-tuning en andere stappen in Machine Learning. Door technologieën te combineren, kunt u de kosten en complexiteit voor het gebruik van een gegevensplatform voor functies minimaliseren.

Niet-functionele vereisten

Houd ook rekening met deze vraag:

  • Wat is het acceptabele compromis tussen kosten en prestaties?

    Gezien de krachtige, door GPU geoptimaliseerde rekenvereisten, zorgt u ervoor dat u uw training test en benchmarkt en uitgebreid afstemt om de ideale SKU te bepalen die de prestaties afstemt op kosten.

Hulpprogramma's

We raden Azure Machine Learning aan voor het modeltrainings- en verfijningsplatform, omdat het indelingsfunctionaliteit biedt met ondersteuning voor batch-computing. Er zijn twee rekenopties om te evalueren:

  • Serverloze rekenkracht is ideaal voor korte, onregelmatige uitvoeringen die ruiseffecten kunnen verdragen. U kunt standaardprijzen of spotprijzen kiezen. Spotprijzen worden alleen aanbevolen voor zeer onderbreekbare training. Gebruik geen serverloze berekeningen voor fulltime-bewerkingen. De kosten kunnen snel escaleren.
  • Rekenclusters bieden u aanzienlijke controle over beschikbare hardware en zijn afgestemd op parallelle of gedistribueerde training.

Notitie

Voor basismodellen kan uw keuze voor modelhostingplatform uw opties voor afstemming beperken. Als u bijvoorbeeld Azure OpenAI Service gebruikt voor modelhosting, worden uw opties voor het afstemmen van modellen beperkt tot de ingebouwde functionaliteit van Azure OpenAI voor het afstemmen van de functionaliteit.

Overwegingen voor het hosten en deductieplatform van het model

Modelhosting- en deductiefuncties vormen de serverlaag van de AI-workload. Deze functies worden uitgevoerd met eindpunten die specifiek zijn voor de software die u gebruikt. Model-serversoftwareoplossingen, zoals NVIDIA Triton, TorchServe en TensorFlow Serving, zijn in wezen Python SDK's die een model met een API vormen en functionaliteit toevoegen die specifiek is voor de oplossing. U kunt uw hostingplatform kiezen op basis van uw keuze van software of uw software kiezen op basis van uw keuze voor het hostingplatform.

Wanneer u SaaS- of PaaS-oplossingen gebruikt met vooraf verpakte modellen, zoals de grote taalmodellen die beschikbaar zijn in Azure OpenAI, hebt u weinig of geen mogelijkheden om een ondersteunende software te selecteren. In plaats daarvan biedt de service die u gebruikt een API. Dit vermindert de flexibiliteit in het proces voor het maken van een modelimplementatie, wat voordelen en nadelen kan bieden. Het kan bijvoorbeeld het ontwikkelingsproces van uw workload stroomlijnen. Aan de andere kant vermindert het de flexibiliteit in de manier waarop uw toepassing het model kan aanroepen en gebruiken.

In wezen zijn de API's voor de servicelaag microservices. Daarom moet u dezelfde procedures volgen voor deze API's die u voor andere microservices in uw omgeving volgt. Ze moeten in containers worden geplaatst, worden overgeslagen van andere services en hun eigen levenscyclus hebben die onafhankelijk zijn van andere services en API's. Houd er echter rekening mee dat voor laag-API's over het algemeen aanzienlijk meer rekenkracht op basis van GPU en grotere containerinstallatiekopieën nodig zijn dan traditionele API's.

In deze sectie vindt u richtlijnen over de mogelijkheden die u kunt overwegen wanneer u een modelhosting- en deductieplatform selecteert.

Functionele vereisten

Houd rekening met de volgende vragen wanneer u platformen evalueert voor modelhosting en deductie:

  • Vereist uw workload batch- of onlinedeductie?

    De deductie-eindpunten worden gebruikt voor batch- of onlinedeductieprocessen en de deductiemethode helpt bij het bepalen van het juiste hostingplatform. Batchdeductie wordt het beste gehost op een platform dat tijdelijk gebruik ondersteunt en de berekening kan worden afgesloten wanneer deze niet wordt gebruikt. Online deductie wordt het beste gehost op een platform dat ondersteuning biedt voor elastisch rekengebruik, dat automatisch wordt geschaald op basis van de belasting op een bepaald moment.

  • Biedt het platform ondersteuning voor traceerbaarheid?

    Traceerbaarheid is essentieel voor het behoud van de integriteit van de modellen die in uw workload worden gebruikt. Het is belangrijk om informatie te weten over het model, zoals de huidige versie, die het heeft geïmplementeerd, wanneer het werd geïmplementeerd en de gegevensherkomst van het model.

    Pas zinvolle tags toe op installatiekopieën in uw containerregister om ervoor te zorgen dat uw modelhostingservice een specifieke versie ophaalt die het team gemakkelijk kan identificeren. Deze aanpak helpt bij gegevensbeheer door het risico te verminderen dat verouderde of onjuiste modellen in productie worden gebruikt.

  • Is uw hostingplatform een gecentraliseerde resource?

    Veel organisaties gebruiken een gecentraliseerd modelhostingplatform dat door verschillende teams wordt gebruikt voor hun eigen workloads. Als uw hostingplatform is gecentraliseerd, moet u overwegen of u ondersteuning nodig hebt voor terugstorting. Met deze functionaliteit kunt u platformgebruik bijhouden per team en workload.

Niet-functionele vereisten

Houd ook rekening met deze vragen:

  • Wat zijn de betrouwbaarheidsvereisten voor het platform?

    Servicelaag-API's zijn productieresources, dus u moet dezelfde betrouwbaarheidsvereisten toepassen op die u toepast op andere workloadstromen die overeenkomen met hun kritieke beoordeling . Als hun kritiek hoge beschikbaarheid vereist, moet uw hostingplatform beschikbaarheidszones of een ontwerp voor meerdere regio's ondersteunen.

  • Welke netwerkbesturingselementen zijn vereist voor het platform?

    Bepaal of u privénetwerken of een uitgaande firewall nodig hebt om beveiliging voor het platform te bieden.

  • Wat zijn de beveiligingsvereisten voor identiteit en toegang voor het platform?

    Bepaal de identiteits- en toegangsbeheer die vereist zijn voor uw eindpunten. Overweeg of u systeemeigen op rollen gebaseerd toegangsbeheer (RBAC) of ingebouwde ondersteuning nodig hebt voor uw identiteit en toegangsplatform, bijvoorbeeld Microsoft Entra ID.

  • Welke bewakingsmogelijkheden biedt het platform ondersteuning?

    Bepaal de vereiste bewakingsmogelijkheden voor uw eindpunten. Afhankelijk van het platform hebt u mogelijk beperkte toegang tot logboeken en metrische gegevens, waardoor u mogelijk activiteiten kunt controleren of storingen kunt detecteren.

  • Wat zijn de prestatievereisten voor het platform?

    Latentie van deductie is een veelvoorkomend probleem en verschillende platforms hebben verschillende prestatieprofielen. Serverloze en PaaS-services die gebruikmaken van een hulpprogrammamodel kunnen worden beïnvloed door het probleem met lawaaierige buren en hebben vaak geen doorvoergaranties. Aan de andere kant bieden dezelfde platforms mogelijk een zelf-hostende optie die gegarandeerde doorvoer biedt met een vooraf aankoopmodel. U kunt ook zelfhosting op Kubernetes overwegen voor meer voorspelbaar latentiegedrag.

    Houd rekening met servicelimieten en quota die van invloed kunnen zijn op uw prestaties, zoals die voor Azure OpenAI. Deze quota en limieten worden vaak agressief ingesteld om te voldoen aan de capaciteitsvereisten. Als uw keuze van het platform niet de prestaties biedt die u nodig hebt, moet u mogelijk strategieën gebruiken om de rekenvraag over instanties te verdelen.

    Geavanceerde architecturen kunnen meerdere implementaties combineren om een vaste doorvoer te bereiken voor het grootste deel van de workload en bursting-mogelijkheden voor een flexibelere berekening.

Hulpprogramma's

Batchdeductie

  • Als u deductie uitvoert op gegevens die zich in een platform bevinden dat ondersteuning biedt voor modelhosting, zoals Databricks, kunt u overwegen dat platform te gebruiken voor deductie. Zorg ervoor dat u de deductie-rekenkracht isoleren van andere functies die door het gegevensplatform worden uitgevoerd.

  • We raden Azure OpenAI Batch API aan voor basismodellen.

  • Voor niet-basismodellen kunt u de volgende aanbevelingen overwegen:

    • Overweeg het gebruik van Azure Machine Learning-batcheindpunten voor de volgende scenario's:

      • U moet deductie uitvoeren op een grote gegevensset die in meerdere bestanden wordt gedistribueerd en u geen lage latentie nodig hebt.

      • U moet langlopende batchbewerkingen uitvoeren op grote gegevenssets en profiteren van parallelle uitvoering.

      • U moet pijplijnonderdelen implementeren voor batchverwerking.

    • Als u Spark-taken wilt uitvoeren voor gedistribueerde gegevensverwerking, kunt u overwegen Om Azure Synapse Analytics, Databricks of serverloze Spark-rekenkracht van Machine Learning te gebruiken.

    • Als geen van deze scenario's van toepassing is, raden we machine learning-batcheindpunten aan.

Online deductie

  • Evalueer paaS-platformoplossingen en serverloze oplossingen als eerste stap. Deze services zijn doorgaans het eenvoudigst te gebruiken en te beheren, omdat ze uw ontwerp vereenvoudigen en operationele lasten minimaliseren. Azure OpenAI is bijvoorbeeld een goede keuze voor basismodellen.

    • Overweeg om de serverloze API van Azure Machine Learning te gebruiken om eindpunttoegang te aggregeren, zelfs als u Azure OpenAI of een andere basismodelhostingoplossing gebruikt.
  • Overweeg Machine Learning met beheerde rekenclusters wanneer PaaS- of serverloze oplossingen niet het beste passen. Compute die wordt beheerd door Machine Learning biedt ondersteuning voor verkeer splitsen en spiegelen voor A/B-tests, foutopsporing en robuuste controle. Omdat de berekening wordt beheerd door de service, zijn dag-2-bewerkingen eenvoudiger wanneer u uw model zelf host. Beheerde rekenkracht biedt ook een breed scala aan rekenconfiguraties en schaalmogelijkheden.

  • Als u ervoor kiest om uw model zelf te hosten op een AKS-cluster (Azure Kubernetes Service) dat is gekoppeld aan Machine Learning of een ander containerplatform, moet u ervoor zorgen dat de knooppuntgroep is geïsoleerd van andere API's of andere workloads op het cluster om voorspelbare prestaties te bereiken en de beveiliging te optimaliseren. Vermijd het gebruik van op GPU of GPU geoptimaliseerde rekenkracht voor iets anders dan uw AI-workloadfuncties om de kosten te verlagen. Stel in plaats daarvan uw prestatiebasislijn vast via testen en de juiste grootte van uw rekenkracht om te voldoen aan uw prestatievereisten zonder te veel inrichting.

  • U kunt uw model ook zelf hosten met iaaS-oplossingen (Infrastructure as a Service), zoals Azure Datawetenschap Virtual Machine.

Overwegingen voor het indelingsplatform

Orchestratie verwijst in de context van AI-workloadtoepassingsplatforms naar hulpprogramma's zoals Prompt Flow in Machine Learning en Azure AI Foundry portal. Deze hulpprogramma's zijn ontworpen om de volledige ontwikkelingscyclus van AI-toepassingen te stroomlijnen door veel algemene werkstroomfuncties te automatiseren.

Niet-functionele vereisten

Net als bij alle andere productieworkloads in uw cloudomgeving moet u rekening houden met het volgende wanneer u indelingshulpprogramma's evalueert:

  • Betrouwbaarheid, beveiliging en bewaking. Indelingshulpprogramma's moeten voldoen aan de betrouwbaarheid, beveiliging en bewakingsstandaarden voor productieworkloads.

  • Prestaties. Indelingshulpprogramma's vereisen geen gpu-geoptimaliseerde of GPU-gebaseerde rekenkracht. Overweeg SKU's voor algemeen gebruik.

  • Kostenoptimalisatie. Indelingshulpprogramma's zijn altijd ingeschakeld, overweeg elastische rekenopties om de gebruikskosten te minimaliseren.

Hulpprogramma's

  • Geef de voorkeur aan een oplossing buiten de plank, zoals promptstroom. Bepaal of de mogelijkheden overeenkomen met uw indelingsbehoeften voordat u aangepaste hosting bekijkt met hulpprogramma's zoals LangChain of Semantic Kernel.

  • Hosteindpunten voor oplossingen zoals promptstroom op Machine Learning met rekeninstanties of op AKS met zelfhosting.

Volgende stappen