Hoe kun je de kosten van cloudgebaseerde machine learning-workloads verlagen?

U kunt de kosten van cloudgebaseerde machine learning-workloads verlagen door rekenkracht op de juiste schaal in te zetten, trainings- en inferentieomgevingen van elkaar te scheiden, inactieve infrastructuur te elimineren en FinOps-governance toe te passen om verantwoordelijkheid te creëren binnen zowel de technische als de financiële teams. De grootste voordelen worden behaald door de uitgaven voor ML-rekenkracht te behandelen als een beheerd onderdeel in plaats van als een ongecontroleerd bijproduct van experimenten. In de onderstaande paragrafen worden al deze hefbomen in detail toegelicht.

Waarom zijn cloudgebaseerde machine learning-workloads zo duur?

Cloudgebaseerde machine learning-workloads zijn duur omdat ze grote hoeveelheden GPU- en CPU-rekenkracht verbruiken, vaak in onvoorspelbare pieken, en tegelijkertijd aanzienlijke kosten voor opslag en gegevensoverdracht met zich meebrengen. In tegenstelling tot standaard applicatieworkloads combineren ML-pijplijnen rekenintensieve trainingsopdrachten, continu actieve inferentie-eindpunten en bewerkingen op grote datasets, die elk hun eigen kostenprofiel hebben.

Er zijn verschillende factoren die ervoor zorgen dat de kosten van machine learning in de cloud hoger uitvallen dan teams verwachten:

  • Kosten van GPU-instanties: Krachtige GPU-instances kunnen per uur vele malen duurder zijn dan standaard rekenkracht, en trainingsruns kunnen uren of dagen duren.
  • Ongebruikte middelen: Laptops, ontwikkelomgevingen en inferentie-endpoints staan vaak aan terwijl niemand ze actief gebruikt, waardoor er kosten worden gemaakt zonder dat dit iets oplevert.
  • Gegevensoverdracht en -opslag: Grote trainingsdatasets die zijn opgeslagen in cloud-objectopslag, in combinatie met herhaalde gegevensoverdrachten tussen diensten, zorgen al snel voor een aanzienlijke toename.
  • Overhead bij experimenten: Datawetenschapsteams voeren veel experimenten uit, waarvan de meeste mislukken of worden afgebroken, maar de rekenkosten van elke uitvoering zijn wel degelijk reëel.
  • Gebrek aan tagging en toewijzing: Zonder een goede toewijzing van de kosten kunnen teams niet zien welke modellen, projecten of experimenten de uitgaven opdrijven, waardoor het onmogelijk is om prioriteiten te stellen bij het optimaliseren.

Het gevolg is dat de uitgaven voor machine learning in de cloud vaak sneller stijgen dan de bedrijfswaarde die hiermee wordt gegenereerd, met name wanneer er geen bestuursstructuur is die technische beslissingen koppelt aan financiële resultaten.

Hoe zorgt rightsizing ervoor dat de rekenkosten voor machine learning dalen?

Door middel van ‘rightsizing’ worden de rekenkosten voor machine learning verlaagd door het type en de grootte van de instance af te stemmen op de daadwerkelijke resourcebehoeften van elke workload, waardoor verspilling als gevolg van overgedimensioneerde machines wordt voorkomen. Veel teams kiezen uit gewoonte of uit voorzichtigheid standaard voor grote GPU-instances, zelfs wanneer kleinere instances of CPU-gebaseerde rekenkracht de taak prima zouden kunnen uitvoeren.

In de praktijk omvat het optimaliseren van de schaalgrootte voor ML-workloads een aantal concrete maatregelen:

  • Het in kaart brengen van trainingsopdrachten om het daadwerkelijke GPU-geheugen- en CPU-gebruik te meten alvorens instancetypes te selecteren
  • Het gebruik van kleinere instance-families voor gegevensvoorbewerking en feature engineering, waarvoor zelden GPU-versnelling nodig is
  • Overstappen op spot- of preemptible-instances voor fouttolerante trainingsopdrachten, waardoor de rekenkosten met 60 tot 80 procent kunnen worden verlaagd in vergelijking met on-demand-tarieven
  • Ontwikkelingslaptops en staging-inferentie-endpoints automatisch uitschakelen wanneer ze niet in gebruik zijn
  • De capaciteit van de inferentie-eindpunten dynamisch aanpassen op basis van het verkeer, in plaats van te allen tijde te voorzien in capaciteit voor piekbelasting

Rightsizing is geen eenmalige aangelegenheid. Naarmate modellen zich verder ontwikkelen en werkbelastingpatronen veranderen, verandert ook de optimale configuratie van de middelen. Door een regelmatig evaluatieritme in uw ML-operatieproces in te bouwen, zorgt u ervoor dat beslissingen over rightsizing actueel blijven en dat de kostenbesparingen in de loop van de tijd toenemen.

Wat is het verschil tussen trainingskosten en inferentiekosten in de cloud?

De trainingskosten zijn de rekenkosten voor het bouwen van een model, doorgaans een grote, tijdgebonden piek in het GPU-gebruik. De inferentiekosten zijn de doorlopende kosten voor het aanbieden van dat model aan gebruikers of systemen; deze kunnen continu zijn en schalen mee met het aantal verzoeken. Beide hebben fundamenteel verschillende kostenstructuren en vereisen verschillende optimalisatiestrategieën.

Trainingskosten optimaliseren

Trainingsruns zijn afzonderlijke gebeurtenissen die je kunt inplannen, onderbreken en opnieuw uitvoeren. Hierdoor zijn ze zeer geschikt voor spot- of preemptible-instances, die aanzienlijke kortingen bieden in ruil voor de mogelijkheid tot onderbreking. Je kunt de trainingskosten ook verlagen door gebruik te maken van training met gemengde precisie, waarbij gegevens in formaten met lagere precisie worden verwerkt om de berekeningen te versnellen en de geheugenvereisten te verminderen. Het kiezen van de juiste combinatie van framework en hardware, zoals het afstemmen van TensorFlow- of PyTorch-workloads op de GPU-architectuur waarop ze het beste presteren, heeft ook een meetbare invloed op de kosten per trainingsrun.

Optimalisatie van de inferentiekosten

Inferentie is moeilijker te optimaliseren omdat het responsief moet blijven. De meest effectieve middelen zijn modelcompressietechnieken zoals kwantisering en pruning, die de benodigde rekenkracht per voorspelling verminderen zonder de nauwkeurigheid aanzienlijk aan te tasten. Door inferentieverzoeken te bundelen in plaats van ze één voor één te verwerken, wordt de doorvoer verbeterd en dalen de kosten per voorspelling. Voor workloads met variabel verkeer kan het automatisch schalen van inferentie-eindpunten naar nul tijdens rustige periodes en het opschalen op aanvraag een groot deel van de kosten tijdens inactieve periodes elimineren.

Inzicht in welke van de twee categorieën de grootste uitdaging vormt voor het beheer van uw cloud-AI-kosten, is het uitgangspunt voor elke zinvolle poging tot kostenbesparing. Veel organisaties richten zich op training omdat dit zichtbaar is en een groot effect heeft, maar de kosten voor inferentie maken vaak het grootste deel uit van de totale ML-uitgaven in productieomgevingen.

Hoe kunnen FinOps-werkwijzen worden toegepast op machine learning-workloads?

FinOps-werkwijzen zijn van toepassing op machine learning-workloads door gezamenlijke verantwoordelijkheid voor clouduitgaven te creëren tussen data science-, engineering- en financiële teams, en door een terugkerend besluitvormingsritme op te zetten rond afwegingen tussen kosten, prestaties en waarde. Zonder dit beheer lopen de ML-clouduitgaven ongecontroleerd op, omdat de teams die de kosten maken niet dezelfde zijn als de teams die verantwoordelijk zijn voor het beheer van de budgetten.

Solliciteren FinOps voor ML-workloads omvat doorgaans de volgende stappen:

  1. Voorzie elke bron van een tag: Wijs aan elke ML-taak, elk notebook, elke dataset en elk eindpunt kostenverdelingslabels toe op basis van team, project en model. Zonder dit kun je de uitgaven niet toewijzen aan het werk dat ze heeft gegenereerd.
  2. Stel een frequentie voor kostenbeoordelingen vast: Organiseer regelmatig evaluaties waarbij de technische en financiële teams gezamenlijk de uitgaven voor machine learning onder de loep nemen, afwijkingen opsporen en prioriteiten stellen op basis van kosten-batenverhoudingen.
  3. Stel uitgavendrempels en waarschuwingen in: Stel budgetwaarschuwingen in op project- of teamniveau, zodat uit de hand gelopen opleidingsopdrachten of vergeten eindpunten snel worden opgemerkt en niet pas aan het einde van de maand aan het licht komen.
  4. Koppel kosten aan resultaten: Houd de kosten van elk model in ontwikkeling bij in verhouding tot de bedrijfswaarde die het naar verwachting zal opleveren, zodat het gemakkelijker wordt om experimenten met een lage waarde lager op de prioriteitenlijst te plaatsen voordat ze een aanzienlijk deel van het budget opslokken.

Bij FinOps voor machine learning gaat het niet alleen om het verlagen van de kosten. Het gaat erom ervoor te zorgen dat elke dollar die aan ML-clouddiensten wordt uitgegeven, een weloverwogen investering is in plaats van een ondoordachte uitgave.

Welke technieken voor kostenoptimalisatie in de cloud werken het beste voor ML-pijplijnen?

De technieken voor kostenoptimalisatie in de cloud die het beste werken voor ML-pijplijnen zijn het gebruik van spot-instances voor training, pijplijncoördinatie om inactieve rekencapaciteit te elimineren, beleidsregels voor de levenscyclus van opslag voor datasets en op verbintenissen gebaseerde prijsstelling voor voorspelbare inferentieworkloads. De juiste combinatie hangt af van de structuur van uw pijplijn en van de mate waarin uw workloadpatronen voorspelbaar zijn.

Dit zijn de technieken die steevast de beste resultaten opleveren bij het verlagen van de kosten van ML-workloads:

  • Spot- en preemptible-instances: Gebruik deze voor trainingsopdrachten waarbij je tussentijdse opslagpunten kunt instellen en de taak later kunt hervatten. De korting is aanzienlijk en het betrouwbaarheidsrisico is beheersbaar mits je de juiste logica voor tussentijdse opslagpunten hanteert.
  • Pijplijncoördinatie: Tools die rekenkracht alleen activeren wanneer een stap in de pijplijn dat vereist en deze direct daarna weer uitschakelen, maken een einde aan de stilstandtijd die ontstaat wanneer teams de rekenkracht handmatig beheren.
  • Opslaglaagindeling: Verplaats trainingsdatasets die niet actief worden gebruikt naar goedkopere opslagniveaus. Grote datasets die na afloop van een project nog maandenlang op premium-opslagniveaus worden bewaard, zijn pure verspilling.
  • Kortingen voor gereserveerd of vastgelegd gebruik: Voor inferentie-eindpunten die continu draaien, leidt een verbintenis tot één of drie jaar gebruik tot een aanzienlijke verlaging van de kosten per uur in vergelijking met de tarieven voor gebruik op aanvraag.
  • Modeloptimalisatie vóór implementatie: Door modellen te kwantificeren en te distilleren voordat ze in productie worden genomen, wordt de benodigde rekenkracht per inferentieverzoek verminderd, waardoor de lopende kosten voor het aanbieden van de dienst dalen zonder dat er wijzigingen in de infrastructuur nodig zijn.
  • Het bijhouden en opschonen van experimenten: Gebruik tools voor het bijhouden van experimenten om slecht presterende testruns vroegtijdig te identificeren en te beëindigen, zodat u de kosten vermijdt die gepaard gaan met het volledig uitvoeren van experimenten wanneer vroege statistieken op een mislukking wijzen.

Hoe creëer je een kostenbewuste cultuur binnen ML- en data science-teams?

Je creëert een kostenbewuste cultuur binnen ML- en data science-teams door de clouduitgaven op individueel en teamniveau inzichtelijk te maken, de kosten rechtstreeks te koppelen aan de waarde van het uitgevoerde werk, en de drempels weg te nemen die ervoor zorgen dat kostenbewust gedrag moeilijker is dan kostenonbewust gedrag. Cultuur volgt structuur, dus het doel is om systemen te ontwerpen waarin het standaardgedrag ook het meest kostenefficiënte gedrag is.

Concrete maatregelen die zorgen voor blijvende gedragsverandering zijn onder meer:

  • Het in realtime delen van kostendashboards met data science-teams, zodat ingenieurs direct kunnen zien wat de financiële gevolgen zijn van de keuzes die ze maken op het gebied van middelen
  • Door naast prestatiemaatstaven voor modellen ook kostenmaatstaven mee te nemen bij het bijhouden van experimenten, wordt de kosten-per-nauwkeurigheid een standaarddimensie bij de evaluatie van modellen
  • Het vaststellen van cloudbudgetten op teamniveau en teams de autonomie geven om daarbinnen zelfstandig te beheren, waardoor een gevoel van verantwoordelijkheid ontstaat zonder dat voor elke beslissing centrale goedkeuring nodig is
  • Het erkennen en vieren van successen op het gebied van kostenoptimalisatie naast verbeteringen in de modelnauwkeurigheid, waarmee wordt aangegeven dat kostenbeheersing evenveel waarde wordt toegekend
  • Datawetenschappers informeren over de financiële gevolgen van veelvoorkomende keuzes, zoals de selectie van instances, opslagniveaus en de frequentie van experimenten

De overgang van kostenonbewust naar kostenbewust verloopt niet louter via beleid. Hiervoor is het nodig dat de afdelingen Financiën, IT en Engineering een gemeenschappelijke taal en een gemeenschappelijke set van meetcriteria hanteren, en dat is precies wat een volwassen FinOps-aanpak biedt.

Hoe wij u helpen de kosten voor ML in de cloud te verlagen

Wij helpen organisaties om de overstap te maken van reactieve clouduitgaven naar actief kostenbeheer voor alle workloads, inclusief machine learning- en AI-pijplijnen. Onze FinOps-diensten bieden u de structuur, de tools en de afstemming tussen verschillende afdelingen die nodig zijn om van ML-clouduitgaven een beheerde discipline te maken in plaats van een onbeheersbare variabele.

Als je met ons samenwerkt, krijg je:

  • Volledige kostentoewijzing voor ML-workloads: We implementeren tagging- en toewijzingssystemen waarmee elke dollar aan ML-uitgaven wordt toegewezen aan het team, het project of het model dat deze uitgaven heeft gegenereerd, zowel op AWS, Azure als GCP.
  • Analyse van de optimale omvang en de mate van betrokkenheid: We brengen ML-rekenbronnen met overcapaciteit in kaart en modelleren de financiële gevolgen van het gebruik van spot-instances, gereserveerde capaciteit en wijzigingen in de instance-familie.
  • Ontwerp van FinOps-governance: Wij helpen u bij het opzetten van het bedrijfsmodel, het besluitvormingsritme en de verantwoordingsstructuren die ervoor zorgen dat de uitgaven voor machine learning op de lange termijn in lijn blijven met de zakelijke prioriteiten.
  • Beoordeling van de FinOps-rijpheid: Als u niet goed weet waar u moet beginnen, brengt onze beoordeling de huidige stand van zaken op het gebied van financieel beheer in de cloud in kaart en stelt deze een prioriteitenlijst op voor verdere verbetering.

Als u wilt weten hoe uw organisatie ervoor staat en welke volgende stappen het meeste effect zullen hebben, neem contact met ons op om uw situatie te bespreken.

De waarde
Privacyoverzicht

Deze site maakt gebruik van cookies, zodat wij je de best mogelijke gebruikerservaring kunnen bieden. Cookie-informatie wordt opgeslagen in je browser en voert functies uit zoals het herkennen wanneer je terugkeert naar onze site en helpt ons team om te begrijpen welke delen van de site je het meest interessant en nuttig vindt.