SageMaker AI streamer benchmarkresultater til MLflow – hvad betyder det for dine inference-beslutninger
AWS kobler nu SageMaker AI direkte på MLflow, så metrics, parametre og grafer fra benchmark- og optimeringsjobs lander i en SageMaker MLflow App i realtid. Det kan forkorte beslutningssløjfer fra uger til dage, skære i regneark og give reproducerbare sammenligninger på tværs af GPU-instanser og optimeringer.
7. juli 2026Peter Munkholm
AWS har rullet en MLflow-integration ud i Amazon SageMaker AI, der samler benchmark- og optimeringssporet for generativ AI ét sted. Når et benchmark- eller et optimeret inference recommendation-job startes, kan resultaterne nu strømme direkte ind i en SageMaker MLflow App i realtid. Ikke som et bagefter-resumé. Live. Det kan være det, der tipper valget mellem p4d og g5 i morgen, eller får et team til at afbryde et job før spildtimerne løber.
For teams, der i dag holder styr på forsøg i regneark og i tilfældige JSON-logs, er pointen konkret: Få reproducerbare resultater ind i en fælles grænseflade uden manuel fletning. Og sammenlign jobs side om side på den samme skærm. Mindre friktion, færre tabte noter, mere sporbarhed.
Hvorfor det betyder noget nu
Generativ AI-inference har mange drejeknapper: instans-typer, containere, batch-størrelser, parallelisering og teknikker som speculative decoding. Ifølge AWS’ egen gennemgang ender teams ofte med at evaluere dusinvis af kombinationer, og det tager tid. Mange syr det sammen i hånden til sidst for at kunne forklare, hvad der virkede, og hvorfor. Den nye integration skærer i det arbejde ved at lade SageMaker AI sende både metrics, parametre og grafer direkte til MLflow, mens jobbet kører.
Tempoet ændrer sig også. Når latency og throughput tikker ind løbende, kan man prioritere tidligere eller afbryde det, der ikke peger den rigtige vej. Det er lavpraktisk — og sådan beslutninger ofte træffes i drift.
Hvad integrationen helt konkret gør
Opsætningen er ligetil: Opret en MLflow App i SageMaker Studio. Giv job-rollen rettigheden sagemaker-mlflow:* på app’ens ARN. Og send en MlflowConfig med, når benchmark- eller recommendation-jobbet oprettes. Så streamer metrics, parametre og charts automatisk ind i MLflow-appen i realtid — uden ekstra limkode.
Flere jobs kan målrettes det samme MLflow-experiment. Konsekvensen er, at data lander under samme eksperimentnavn og kan vælges side om side i MLflow. Ingen manuel fletning for at få en ærlig sammenligning.
Sådan bliver eksperimenter til beslutninger
Når flere benchmark- eller recommendation-jobs sendes til det samme eksperiment, bliver sammenligningerne konsistente: samme navngivning, metadata og artefakter — og færre sene aftener med CSV-eksporter. Det er især vigtigt, når man skal forklare, hvorfor en g5.12xlarge med kernel-tuning blev valgt over en p4d.24xlarge med aggressiv speculative decoding. Man kan folde run’et ud, se parametrene, klikke sig gennem graferne og spore, hvilke ændringer der faktisk flyttede noget.
Mange har forsøgt at bygge tilsvarende i notebooks og interne dashboards. Forskellen her er, at det er integreret og mindre skrøbeligt. Man kan vende tilbage måneder senere og finde konteksten intakt.
Hvad inference recommendations faktisk måler
SageMaker AI’s optimerede inference recommendation-jobs analyserer modellens arkitektur og workload-krav. De afprøver flere GPU-instans-typer, anvender målrettede optimeringer og returnerer konfigurationer, der kan rulles ud — med validerede performance-målinger. Ifølge dokumentationen testes der på rigtig GPU-infrastruktur, så tallene kan bruges direkte i arkitekturvalg.
Optimeringerne er målstyrede: Ønskes throughput, kan teknikker som speculative decoding bringes i spil; er lavere latency målet, justeres kernels og planlæggere derefter. Det giver et mere nuanceret billede af pris kontra ydelse på tværs af instanser. Det afskaffer ikke alt manuelt arbejde, men det afgrænser feltet og gør de næste tests mere målrettede.
Fra uger til dage i praksis
Tre konsekvenser går igen. For det første bliver beslutningssløjfen kortere, fordi live-metrics gør det muligt at stoppe og prioritere tidligere. For det andet reduceres manuel datasamling, fordi hvert run bærer sine egne parametre, artefakter og grafer med sig. For det tredje kan pipelines operationaliseres: Benchmark og recommendation kan indgå i release-cyklussen, ikke som ad hoc-øvelser ved modelskifte.
På skala tæller selv små forbedringer i p95 eller udnyttelse ofte mere end endnu en lang tråd om modelvalg i Slack.
Udfordringer og de mindre pæne kanter
Rettighederne er brede: job execution-rollen skal have sagemaker-mlflow:* på MLflow-appens ARN. Det gør opsætning nem, men rejser spørgsmål om mindst mulige privilegier og governance. Kilderne beskriver ikke en indbygget, smallere politik. Praktisk næste skridt: involver platform-teamet, brug resource-level conditions hvor muligt, og skitser en scoped policy med de nødvendige MLflow-handlinger på den konkrete App-ARN — før produktion.
Der er også en mulig lock-in-smag. AWS dokumenterer streaming til en SageMaker MLflow App. Kilderne omtaler ikke streaming til eksterne eller on-prem MLflow-servere, så multi-cloud-opsætninger er et åbent spørgsmål. Dertil kommer omkostningerne: benchmarking på rigtig GPU-hardware koster og kræver kvoter, som kan ramme loftet på ubelejlige tidspunkter.
Kom i gang uden at brænde weekenden
En kort rute: Opret MLflow App i SageMaker Studio. Tilføj sagemaker-mlflow:* på app-ARN’en til job-rollen. Start med et lille benchmark-job, hvor MlflowConfig sættes eksplicit, og eksperimentnavn og run-navne får en bevidst struktur. Gentag med et recommendation-job, der tester to-tre instans-typer og én optimeringsdimension ad gangen.
Minimal MlflowConfig-eksempel (tilpas værdierne til jeres MLflow App):
Send samme ExperimentName på alle relevante jobs. Skift RunName pr. konfiguration, så side-om-side-sammenligning i MLflow giver mening.
Struktur i kaosset
Giv eksperimenter faste navne, der spejler formålet, eksempelvis “qwen2-05b-latency-vs-throughput-q3”. Brug run-navne, der indkoder instans-type, container og nøgleoptimering — “p4d-sd-hightemp-bsz16” er kedeligt, men effektivt. Versionér artefakter, og læg korte noter i run’et, mens I stadig kan huske, hvorfor batch 32 var valgt. Det føles som overkill første dag og som ilt tredje uge.
Vær også eksplicit med mål: “optimer for pris”, “minimer p95”, “maksimer tokens pr. sekund”. Recommendation-jobbene arbejder efter et enkelt mål ad gangen. Det tvinger en prioritering, som gør valget nemmere, når tallene peger i forskellige retninger.
Drift mens det kører
Lange jobs kan overvåges direkte i MLflow UI, hvor metrics opdaterer løbende. Det flytter support-arbejdet: Alarmer kan sættes på afvigelser i throughput under et benchmark, dokumentér hvornår en konfiguration flader ud, og eskalér før GPU-timer løber. Det erstatter ikke cost-værktøjer, men skærer ventetid væk.
Quota-håndtering kommer i spil. Planlæg vinduer for store jobs, og hold øje med, om parallelle benchmarks konkurrerer om de samme instanser. Real-time indblik gør det lettere at vælge, hvad der får køpladsen, når kapaciteten er knap.
Kroner, øre og tre fornuftige scenarier
Benchmarking på rigtige GPU’er koster. Men det flytter beslutninger fra gæt til tal. Tre scenarier giver særligt mening: proof-of-concept for at finde tidlige smertepunkter; pre-prod sizing mellem dyr P4-klasse og billigere G4-linje; og løbende opskalering, hvor samme model genmåles mod nye containere og drivere. I alle tre tilfælde hjælper live-streaming, fordi man kan afbryde og omdirigere, før kostkurven løber.
Kort tjekliste før I trykker start: bekræft Service Quotas for valgte instanser, sæt budget-alarmer, tag alle runs med projekt- og miljø-tags, begræns parallelle jobs i første runde, og aftal en cut-off-regel i MLflow (fx stop, hvis p95 overstiger baseline efter N konfigurationer). Dokumentationen opgiver ikke TCO-tal for kombinationen af recommendations og MLflow-streaming, så regn på jeres egne workloads.
Sikkerhed og governance uden drama
MLflow-experiments giver et pænt audit-spor: run-parametre, tidsstempler, checkpoints og artefakter lever videre og kan genfindes. Det er praktisk i revisioner og når en ændring skal spores tilbage til et specifikt run. Overvej adgang: Hvem må oprette eksperimenter, hvem må slette, og hvor længe bevares run-data? Kilderne beskriver ikke en skarp mindst-privilegier-politik for sagemaker-mlflow:*, så det bør strammes i hvert miljø, før produktionsbrug.
Logbevaring og tagging er lavthængende frugter. Faste tags per projekt, per model og per version gør senere oprydning markant nemmere. Det er sjældent sjovt at gøre bagudrettet.
Alternativerne i dag
Mange teams bruger i dag regneark og særskilte logging-løsninger. Nogle har MLflow i egen drift eller kombinerer Prometheus og interne dashboards. Det kan virke, men kræver lim og vedligehold. Fordelen ved SageMaker-integrationen er, at benchmark- og recommendation-data fødes direkte ind i samme eksperiment uden scripts. Ulempen er potentielt lock-in — og at streaming til eksterne MLflow-servere ikke er dokumenteret i kilderne.
Standard MLflow uden streaming kan selvfølgelig stadig noget. Men så samler man data ved jobslut — og beslutningerne kommer typisk senere, end de behøver.
Kilder, bekræftet og åbne spørgsmål
Følgende er eksplicit bekræftet i AWS’ egen gennemgang: at SageMaker AI kan streame metrics, parametre og grafer fra benchmark- og recommendation-jobs direkte til en SageMaker MLflow App i realtid; at man skal oprette en MLflow App i Studio, give job-rollen sagemaker-mlflow:* på app-ARN og sende en MlflowConfig ved joboprettelse; samt at flere jobs kan målrettes samme MLflow-eksperiment for side-om-side-sammenligning uden manuel data-wrangling. Det fremgår også, at målet er at reducere datasiloer, accelerere iterationer og styrke reproducerbarhed.
Hvad bør ske den næste måned
Lav en lille pilot: Vælg én model, ét formål og to-tre instans-kandidater. Sæt MLflow App op, giv rollen de krævede rettigheder, og kør først et benchmark-job, derefter et recommendation-job — begge med bevidst navngivning og stramme mål. Evaluer gevinster i sparet tid, klarere beslutninger og mindre manuel fletning — ikke kun i millisekunder.
Spørg samtidig platform- og sikkerhedsteams om to ting: hvordan IAM-politikkerne kan snævres ind med conditions og scope, og om der er en plan for streaming-krav, hvis I på sigt vil køre MLflow uden for SageMaker. Læg en arkiveringspolitik for run-data, så miljøet ikke mudrer til efter to kvartaler.
En note om hvad der kommer
Modelstørrelser stiger, og Mixture-of-Experts-modeller fylder mere i materialet fra feltet. Det gør hardware- og optimeringsvalg mere komplekse, ikke mindre. Derfor ligner bevægelsen mod reproducerbare, strømmende benchmarks et varigt skift. Hold øje med AWS’ release-noter for afklaringer om eksterne MLflow-servere, mere granular streaming og omkostningsstyring.
Man opdager først forskellen, når man sidder med det — og stopper det første fejlslagne run før frokost, ikke efter fyraften.
Gør brugeroplevelsen bedre. Hvilket firma arbejder du for?
Brugsvilkår
Brugsvilkår for Snilld
Opdateret: 19. marts 2026
1. Om disse vilkår
Disse brugsvilkår gælder for din brug af Snillds website, chatfunktioner, digitale assistenter, applikationer og øvrige online tjenester, der stilles til rådighed af Snilld ApS.
Ved at bruge vores tjenester accepterer du disse vilkår.
2. Leverandør
Tjenesterne leveres af:
Snilld ApS CVR 44856085 Cortex Park 4 Vest DK-5230 Odense M E-mail: [email protected] Telefon: +45 26 71 48 92
3. Tjenesternes karakter
Snilld tilbyder digitale løsninger, herunder funktioner med kunstig intelligens, til blandt andet information, support, indholdsbehandling, automatisering og produktivitetsformål.
Nogle funktioner kan være eksperimentelle, under udvikling eller afhængige af tredjepartsinfrastruktur.
4. AI-assisterede funktioner
Når du bruger en funktion, hvor du interagerer direkte med en AI-assistent, bliver du oplyst om dette, medmindre det er åbenbart i den konkrete situation.
AI-genererede svar, forslag og analyser kan være unøjagtige, ufuldstændige eller irrelevante. Output fra vores AI-funktioner er vejledende og må ikke stå alene ved beslutninger med væsentlige juridiske, økonomiske, sundhedsmæssige eller andre væsentlige konsekvenser.
Hvor det tilbydes, kan du anmode om menneskelig overtagelse eller manuel opfølgning.
5. Ingen professionel rådgivning
Indhold, svar, forslag og anbefalinger fra Snillds website og AI-funktioner udgør ikke juridisk, økonomisk, regnskabsmæssig, medicinsk eller anden professionel rådgivning.
Du er selv ansvarlig for at vurdere, om du skal søge professionel rådgivning, før du handler på baggrund af information fra vores tjenester.
6. Korrekt brug
Du må ikke bruge Snillds tjenester:
i strid med gældende lovgivning
til krænkelse af andres rettigheder
til at uploade eller dele skadeligt, ulovligt, krænkende eller vildledende indhold
til at forsøge at omgå sikkerhedsforanstaltninger
til at misbruge, overbelaste eller forstyrre tjenesterne
til at indsende følsomme personoplysninger, CPR-numre eller andre fortrolige oplysninger, medmindre Snilld udtrykkeligt har anvist en egnet og sikker kanal til dette
Du er ansvarlig for, at oplysninger og materialer, du indsender, må bruges af dig, og at de ikke krænker tredjemands rettigheder.
7. Brugerinput og ansvar
Når du indsender tekst, filer eller andet materiale til vores tjenester, er du ansvarlig for indholdet og for, at det er lovligt at behandle det i den sammenhæng, du bruger tjenesten til.
Du bør ikke indsende oplysninger, som ikke er nødvendige for formålet.
8. Tredjepartsleverandører
Snilld kan anvende tredjepartsleverandører, herunder hosting-, infrastruktur- og AI-leverandører, som led i leveringen af tjenesterne.
Nogle funktioner kan derfor helt eller delvist være afhængige af tredjepartsydelser. Snilld er ikke ansvarlig for driftsforstyrrelser, ændringer eller ophør hos tredjepartsleverandører, som ligger uden for vores rimelige kontrol.
9. Tilgængelighed og ændringer
Vi bestræber os på, at vores tjenester er tilgængelige og fungerer stabilt, men vi garanterer ikke uafbrudt adgang, fejlfri drift eller, at alt indhold altid er fuldstændigt opdateret.
Vi kan løbende ændre, opdatere, begrænse eller fjerne funktioner, når det er sagligt begrundet, herunder af hensyn til drift, sikkerhed, lovgivning eller produktudvikling.
10. Immaterielle rettigheder
Alt indhold på Snillds website og i vores tjenester, herunder tekst, grafik, design, logoer, software, struktur og materiale, tilhører Snilld ApS eller vores licensgivere, medmindre andet er angivet.
Du får alene en begrænset, ikke-eksklusiv og ikke-overdragelig ret til at bruge tjenesterne til lovlige formål i overensstemmelse med disse vilkår.
Du må ikke kopiere, videredistribuere, offentliggøre, dekompilere, reverse engineere eller på anden måde udnytte materialet kommercielt, medmindre det er udtrykkeligt tilladt efter ufravigelig lov eller skriftlig aftale med Snilld.
11. Ansvarsfraskrivelse
Tjenesterne stilles til rådighed som de er og forefindes.
Snilld afgiver ingen garanti for, at output fra AI-funktioner er korrekt, fuldstændigt, egnet til et bestemt formål eller fri for fejl. Du bærer selv ansvaret for at kontrollere og validere output, før det anvendes i praksis.
12. Ansvarsbegrænsning
I det omfang loven tillader det, er Snilld ikke ansvarlig for indirekte tab, følgeskader, driftstab, avancetab, datatab, tab af goodwill eller lignende tab, der opstår som følge af brug eller manglende mulighed for brug af tjenesterne.
Snillds samlede ansvar kan ikke overstige det beløb, du eventuelt har betalt til Snilld for den relevante tjeneste i de seneste 12 måneder forud for det forhold, der gav anledning til kravet.
Intet i disse vilkår begrænser ansvar, som efter ufravigelig lov ikke lovligt kan begrænses eller fraskrives.
13. Personoplysninger og cookies
Snillds behandling af personoplysninger er beskrevet i vores privatlivspolitik. Brug af cookies og lignende teknologier er beskrevet i vores cookiepolitik.
Hvis du bruger en chat- eller AI-funktion, vil du desuden blive informeret særskilt om den relevante behandling af oplysninger i den konkrete løsning.
Vi kan opdatere disse vilkår, når det er nødvendigt, for eksempel ved ændringer i lovgivning, sikkerhed, leverandørforhold eller tjenesternes funktioner.
Den til enhver tid gældende version vil være offentliggjort på denne side med opdateringsdato. Ved væsentlige ændringer kan vi også informere via website, konto, e-mail eller anden relevant kanal.
15. Lovvalg og værneting
Disse vilkår er underlagt dansk ret.
Enhver tvist skal behandles ved de danske domstole, medmindre ufravigelige forbrugerbeskyttelsesregler giver dig yderligere rettigheder.
16. Kontakt
Hvis du har spørgsmål til disse vilkår, kan du kontakte: