Alla tjänster {opacity:0}@media%20(prefers-reduced-motion:no-preference){.iso-flow%3e*{opacity:0;animation:iso-flow%201.2s%20steps(1)%20infinite}.iso-flow%3e:nth-child(2){animation-delay:.4s}.iso-flow%3e:nth-child(3){animation-delay:.8s}}@keyframes%20iso-flow{0%25{opacity:1}33.333%25{opacity:0}}.iso-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}%3c/style%3e%3cg%20transform='scale(.5)'%3e%3cg%20class='iso-box'%3e%3cpath%20d='M-236%20120l319%20184%200%2016%20-319%20-184z'%20fill='%23f2eddf'/%3e%3cpath%20d='M319%20168l-236%20136%200%2016%20236%20-136z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M0%20-16l319%20184%20-236%20136%20-319%20-184z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cg%20class='iso-flow'%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='0'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-5'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-10'/%3e%3c/g%3e%3cg%20class='iso-flow'%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='0'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-5'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-10'/%3e%3c/g%3e%3cpath%20class='iso-line%20iso-dashed'%20d='M-55%2080l52%2030%20-77%2044%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M-132%2028l42%2024%200%2056%20-42%20-24z'%20fill='%233a1d2a'/%3e%3cpath%20d='M-21%2012l-69%2040%200%2056%2069%20-40z'%20fill='%2319000b'/%3e%3cpath%20d='M-62%20-12l41%2024%20-69%2040%20-42%20-24z'%20fill='%235d4350'/%3e%3c/g%3e%3cpath%20class='iso-floor'%20d='M-121%2078l21%2012%200%20-18%20-21%20-12z'%20fill='%23f2eddf'/%3e%3cpath%20class='iso-line'%20d='M-116%2063l0%20-8%203%20-2%204%202%203%206%200%208'%20stroke='%23f2eddf'%20stroke-width='1.8'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M180%20136l7%204%200%2080%20-7%20-4z'%20fill='%23f2eddf'/%3e%3cpath%20d='M288%2082l-101%2058%200%2080%20101%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M281%2078l7%204%20-101%2058%20-7%20-4z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cpath%20class='iso-line'%20d='M277%20148l-17%20-10%20-18%2022%20-17%20-18%20-17%2022%20-11%20-14'%20stroke='%23f0c552'%20stroke-width='2.5'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M94%2098l100%2058%200%2024%20-100%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M256%20120l-62%2036%200%2024%2062%20-36z'%20fill='%23cfc3a6'/%3e%3cpath%20d='M156%2062l100%2058%20-62%2036%20-100%20-58z'%20fill='%23fffcf5'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M118%2060l73%2042%200%2040%20-73%20-42z'%20fill='%23ffdf80'/%3e%3cpath%20d='M232%2078l-41%2024%200%2040%2041%20-24z'%20fill='%23f0c552'/%3e%3cpath%20d='M159%2036l73%2042%20-41%2024%20-73%20-42z'%20fill='%23fff3c4'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M17%20142l101%2058%200%2024%20-101%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M180%20164l-62%2036%200%2024%2062%20-36z'%20fill='%23cfc3a6'/%3e%3cpath%20d='M80%20106l100%2058%20-62%2036%20-101%20-58z'%20fill='%23fffcf5'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M42%20104l72%2042%200%2040%20-72%20-42z'%20fill='%23ffdf80'/%3e%3cpath%20d='M156%20122l-42%2024%200%2040%2042%20-24z'%20fill='%23f0c552'/%3e%3cpath%20d='M83%2080l73%2042%20-42%2024%20-72%20-42z'%20fill='%23fff3c4'/%3e%3c/g%3e%3cg%20class='iso-box%20iso-dashed'%3e%3cpath%20d='M-59%20186l101%2058%200%2024%20-101%20-58z'%20fill='%23f2eddf'/%3e%3cpath%20d='M104%20208l-62%2036%200%2024%2062%20-36z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M3%20150l101%2058%20-62%2036%20-101%20-58z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cg%20class='iso-box%20iso-dashed'%3e%3cpath%20d='M-35%20148l73%2042%200%2040%20-73%20-42z'%20fill='%23f2eddf'/%3e%3cpath%20d='M80%20166l-42%2024%200%2040%2042%20-24z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M7%20124l73%2042%20-42%2024%20-73%20-42z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cpath%20class='iso-line%20iso-dashed'%20d='M184%20186l-94%2050%20-17%20-10'%20stroke='%236b4a55'%20stroke-width='1.5'/%3e%3c/g%3e%3c/svg%3e)
{opacity:0}@media%20(prefers-reduced-motion:no-preference){.iso-flow%3e*{opacity:0;animation:iso-flow%201.2s%20steps(1)%20infinite}.iso-flow%3e:nth-child(2){animation-delay:.4s}.iso-flow%3e:nth-child(3){animation-delay:.8s}}@keyframes%20iso-flow{0%25{opacity:1}33.333%25{opacity:0}}.iso-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}%3c/style%3e%3cg%20transform='scale(.5)'%3e%3cg%20class='iso-box'%3e%3cpath%20d='M-236%20120l319%20184%200%2016%20-319%20-184z'%20fill='%23f2eddf'/%3e%3cpath%20d='M319%20168l-236%20136%200%2016%20236%20-136z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M0%20-16l319%20184%20-236%20136%20-319%20-184z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cg%20class='iso-flow'%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='0'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-5'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%2076%20-44%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-10'/%3e%3c/g%3e%3cg%20class='iso-flow'%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='0'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-5'/%3e%3cpath%20class='iso-line'%20d='M-55%2080l52%2030%200%200%2051%2030'%20stroke='%23f0c552'%20stroke-width='2.5'%20stroke-dashoffset='-10'/%3e%3c/g%3e%3cpath%20class='iso-line%20iso-dashed'%20d='M-55%2080l52%2030%20-77%2044%2052%2030'%20stroke='%23f0c552'%20stroke-width='2.5'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M-132%2028l42%2024%200%2056%20-42%20-24z'%20fill='%233a1d2a'/%3e%3cpath%20d='M-21%2012l-69%2040%200%2056%2069%20-40z'%20fill='%2319000b'/%3e%3cpath%20d='M-62%20-12l41%2024%20-69%2040%20-42%20-24z'%20fill='%235d4350'/%3e%3c/g%3e%3cpath%20class='iso-floor'%20d='M-121%2078l21%2012%200%20-18%20-21%20-12z'%20fill='%23f2eddf'/%3e%3cpath%20class='iso-line'%20d='M-116%2063l0%20-8%203%20-2%204%202%203%206%200%208'%20stroke='%23f2eddf'%20stroke-width='1.8'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M180%20136l7%204%200%2080%20-7%20-4z'%20fill='%23f2eddf'/%3e%3cpath%20d='M288%2082l-101%2058%200%2080%20101%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M281%2078l7%204%20-101%2058%20-7%20-4z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cpath%20class='iso-line'%20d='M277%20148l-17%20-10%20-18%2022%20-17%20-18%20-17%2022%20-11%20-14'%20stroke='%23f0c552'%20stroke-width='2.5'/%3e%3cg%20class='iso-box'%3e%3cpath%20d='M94%2098l100%2058%200%2024%20-100%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M256%20120l-62%2036%200%2024%2062%20-36z'%20fill='%23cfc3a6'/%3e%3cpath%20d='M156%2062l100%2058%20-62%2036%20-100%20-58z'%20fill='%23fffcf5'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M118%2060l73%2042%200%2040%20-73%20-42z'%20fill='%23ffdf80'/%3e%3cpath%20d='M232%2078l-41%2024%200%2040%2041%20-24z'%20fill='%23f0c552'/%3e%3cpath%20d='M159%2036l73%2042%20-41%2024%20-73%20-42z'%20fill='%23fff3c4'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M17%20142l101%2058%200%2024%20-101%20-58z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M180%20164l-62%2036%200%2024%2062%20-36z'%20fill='%23cfc3a6'/%3e%3cpath%20d='M80%20106l100%2058%20-62%2036%20-101%20-58z'%20fill='%23fffcf5'/%3e%3c/g%3e%3cg%20class='iso-box'%3e%3cpath%20d='M42%20104l72%2042%200%2040%20-72%20-42z'%20fill='%23ffdf80'/%3e%3cpath%20d='M156%20122l-42%2024%200%2040%2042%20-24z'%20fill='%23f0c552'/%3e%3cpath%20d='M83%2080l73%2042%20-42%2024%20-72%20-42z'%20fill='%23fff3c4'/%3e%3c/g%3e%3cg%20class='iso-box%20iso-dashed'%3e%3cpath%20d='M-59%20186l101%2058%200%2024%20-101%20-58z'%20fill='%23f2eddf'/%3e%3cpath%20d='M104%20208l-62%2036%200%2024%2062%20-36z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M3%20150l101%2058%20-62%2036%20-101%20-58z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cg%20class='iso-box%20iso-dashed'%3e%3cpath%20d='M-35%20148l73%2042%200%2040%20-73%20-42z'%20fill='%23f2eddf'/%3e%3cpath%20d='M80%20166l-42%2024%200%2040%2042%20-24z'%20fill='%23e2d9c2'/%3e%3cpath%20d='M7%20124l73%2042%20-42%2024%20-73%20-42z'%20fill='%23fffcf7'/%3e%3c/g%3e%3cpath%20class='iso-line%20iso-dashed'%20d='M184%20186l-94%2050%20-17%20-10'%20stroke='%236b4a55'%20stroke-width='1.5'/%3e%3c/g%3e%3c/svg%3e)

Inferens & modellserving
Vi gör öppna modeller, egna modeller och leverantörernas API:er till en tjänst. Val och inställningar mäts med era anrop och era kvalitetskrav.
Från modell till tjänst
- Välj runtime efter modell och hårdvara. Alla modeller behöver inte GPU; jämför CPU där valet är oklart.
- Anpassa batching och köer till interaktiv användning eller stora batchjobb.
- Skala repliker efter kölängd och svarstid, både uppåt och nedåt.
- API med autentisering, modellversioner och tydliga fel.
- API
- ReplikerModellen i sin runtime på GPU-server.
- Kö och svarstidMätvärden som styr skalning.
- Ny replikStartar vid ökad last, stängs vid minskad.
Anpassa servingmotorn till modellen
- Continuous batching låter nya anrop ansluta till körande batcher.
- KV-cache växer med kontext. PagedAttention minskar fragmentering; lägre cacheprecision testas mot er kvalitet.
- Prefix caching återanvänder gemensamma promptdelar.
- Speculativ avkodning föreslår och verifierar token i grupper. Mät kvalitet och svarstid i er miljö.
- Anpassa attention- och matriskärnor, kompilering, parallellism och batchgränser i exempelvis vLLM eller SGLang.
Flera GPU:er som en tjänst
- Separata prefill- och decode-pooler dimensioneras efter beräkning respektive minnesbehov.
- Cachemedveten routing väger återanvändbart prefix mot replikernas last.
- KV-cache kan flyttas till CPU-minne eller lagring och återläsas.
- Stora modeller och mixture-of-experts kan delas över noder. Validera minne och kommunikation.
- Kubernetes och exempelvis llm-d kan samordna serving och routing.
- RouterVäljer replik med cachat prefix.
- Cachat prefix
- Prefill-poolBearbetar prompten.
- KV-cacheÖverförs till decode-replik.
- Decode-poolSkriver svaret token för token.
En ingång för flera modeller
- Gemensamt OpenAI-kompatibelt API framför egna modeller och externa leverantörer.
- Leverantörsnycklar ligger i gateway, medan appar autentiseras med egna nycklar eller befintlig identitetstjänst.
- Tokenbaserade kvoter per team, app och modell.
- Routing och fallback mellan leverantörer och egna repliker.
- Följ tokenanvändning och kostnad per team, användare och modell.
Mät på era anrop
- Median och p95 för svarstid, tid till första token och tid mellan token.
- Genomströmning per replik samt GPU-, CPU- och minnesanvändning.
- Kostnad per anrop och kvalitet på representativa testdata.
- Samma last och kvalitetskrav när modell, hårdvara eller konfiguration ändras.
Från analys till drift
- Kartlägg anrop, användare, svarstids- och tillgänglighetskrav samt hårdvara.
- Bygg runtime, batching, köer och versionshanterat API i test.
- Belastningstesta med era data och jämför med kraven.
- Inför autoskalning, larm och nya modellversioner bakom samma API.
Ni kan förvalta tjänsten
- Runtime, API och skalning som kod, mätrapport, lasttestskript och testdata stannar hos er.
- Runbooks, åtkomst och namngivna ägare för drift och felsökning.
- Teamet levererar en modellversion, kör om lasttestet och hanterar ett svarstidslarm enligt runbook.
