On-Off-skaalausmalli AI- ja videonkäsittelytyökuormille
AI-pohjainen videonkäsittelyalusta tarvitsi käsitellä erittäin vaihtelevia työkuormia — nollasta työstä hiljaisina aikoina satoihin samanaikaisiin videonkäsittely- ja AI inference -tehtäviin ruuhka-aikoina — maksamatta käyttämättömistä GPU- ja laskentaresursseista.
Keskustele Projektistasi
Haaste
AI- ja videonkäsittelytyökuormat ovat luonnostaan sykkiviä ja kalliita:
- GPU-instanssit ovat kalliita riippumatta siitä, käsittelevätkö ne töitä vai ovatko ne käyttämättöminä
- Videon koodaus, transkriptio ja AI inference vaativat erilaisia resurssiprofiileja
- Huipun ja pohjan suhde oli 50:1 — yli 200 työtä ruuhka-aikaan, lähes nolla yön yli
- Perinteinen auto-scaling oli liian hidasta (5-10 min cold start) aikaherkille käyttäjäpyynnöille
- Huippukuormitusta varten varattu kiinteä infrastruktuuri tarkoitti yli 80 %:n hukkaa hiljaisina aikoina
Meidän Ratkaisumme
Otimme käyttöön On-Off-skaalausmallin — hybridirakenteen, jossa laskentaresurssit varataan just-in-time aktiivisia työkuormia varten ja deallokoidaan kokonaan käyttämättöminä, sisältäen warm pools -ratkaisut latenssiherkille tehtäville ja cold pools -ratkaisut eräajoille.
Arkkitehtuuri
- Job Queue: Tietokantapohjainen työjono prioriteettiluokittelulla
- Orchestrator: Palvelu, joka hallitsee resurssien elinkaarta ja töiden reititystä
- GPU Workers (AI): Pilvi-GPU-podit inference-toimintoja varten (object detection, transcription, speaker detection)
- CPU Workers (Video): Pilvi-VM:t videon koodaukseen ja renderointiin
- Warm Pool: Esialustetut instanssit latenssiherkille töille (< 30s käynnistys)
- Cold Pool: On-demand-instanssit erä- ja massakäsittelyyn (2-5 min käynnistys hyväksyttävä)
On-Off-mallin toteutus
Resurssien elinkaaren tilat
Resurssit käyvät läpi määritellyn elinkaaren: täysin deallokoidusta (nollakustannus), provisionoinnin ja lämmityksen (mallien lataus, health checkit) kautta valmiisiin ja käsittelytiloihin, ja sitten cooldown-ikkunan kautta takaisin deallokoiduksi.
Warm Pool -strategia
Latenssiherkkää käsittelyä varten (käyttäjän aloittama, odottaa tuloksia minuuteissa):
- Ylläpidä vähimmäismäärää warm pool -instansseja työaikana
- Esilataa AI-mallit containerin käynnistyksen yhteydessä
- Reititä saapuvat työt ensin warm-instansseille
- Skaalaa lisää warm-instansseja, kun jonon syvyys ylittää kynnyksen
- Konfiguroitavissa oleva cooldown-ajastin pitää instanssit käynnissä satunnaisten töiden välillä
Cold Pool -strategia
Eräkäsittelyä varten (yön yli ajettavat massatyöt, ei-kiireelliset uudelleenkoodaukset):
- Nolla instanssia käynnissä oletuksena
- Työjono laukaisee provisionoinnin, kun eräajoja lähetetään
- Massalle optimoidut instanssit läpimeno edellä latenssia
- Päätä välittömästi eräajon valmistuttua
- Käytä spot/preemptible-instansseja merkittävien kustannussäästöjen saavuttamiseksi
Työtehtävien luokittelu ja reititys
Työt luokitellaan automaattisesti prioriteetin ja tyypin mukaan, ja reititetään sitten sopivaan pooleen:
- Korkean prioriteetin käyttäjän aloittamat AI-tehtävät reititetään warm GPU -pooleihin
- Kriittiset reaaliaikaiset tehtävät reititetään aina päällä oleviin dedikoituihin instansseihin
- Keskiprioriteetin koodaustehtävät reititetään warm- tai cold CPU -pooleihin
- Matalan prioriteetin erätyöt reititetään cold spot/preemptible -instansseihin
Orchestratorin logiikka
Skaalaus ylös -laukaisijat
- Jonon syvyys ylittää konfiguroitavissa olevan kynnyksen
- Keskimääräinen odotusaika ylittää SLA:n prioriteettitasolle
- Ajastettu ylösajo ennen tunnettuja ruuhka-aikoja
- Manuaalinen laukaisija admin API:n kautta ennakoituihin liikennepiikkeihin
Skaalaus alas -laukaisijat
- Ei töitä käsitelty cooldown-ikkunan aikana
- Ajastettu alasajo ruuhka-aikojen jälkeen
- Kaikki jonossa olevat työt valmiina ilman uusia lähetyksiä
- Kustannuskynnys saavutettu laskutuskaudella
Terveys ja palautuminen
- Säännölliset health-tarkistukset kaikille aktiivisille instansseille
- Epäterveet instanssit korvataan automaattisesti
- Epäonnistuneet työt palautetaan jonoon uudelleenyrityslaskurin kanssa ja reititetään toiseen instanssiin
- Dead letter queue töille, jotka ylittävät maksimi uudelleenyritysmäärän
Kustannusvaikutus
On-Off-malli tuotti noin 70 %:n kustannussäästöt verrattuna aina päällä olevaan kiinteään infrastruktuuriin poistamalla käyttämättömät laskentaresurssit hiljaisina aikoina, mitoittamalla resurssit oikein työtyypin mukaan ja hyödyntämällä spot-instansseja erätyökuormissa.
Tärkeimmät ominaisuudet
- Nolla käyttämättömän ajan kustannus — Resurssit deallokoidaan kokonaan, kun ne eivät käsittele töitä
- Warm Pools — Esialustetut instanssit latenssiherkille työkuormille
- Cold Pools — On-demand-provisionointi eräajoille alhaisimmin kustannuksin
- Työtehtävien luokittelu — Automaattinen reititys prioriteetin, tyypin ja latenssivaatimusten perusteella
- Cooldown Windows — Konfiguroitavissa oleva tyhjäkäyntiaika estää ennenaikaisen skaalauksen alas sykkivien kuormien välillä
- Spot/Preemptible Support — Erätyöt reititetään alennettuihin instansseihin merkittäviä säästöjä varten
- Health & Recovery — Epäterveiden instanssien automaattinen korvaaminen töiden uudelleenjonoutuksen kanssa
- Ajastettu skaalaus — Ennakoi tunnetut liikennemallit aikaperusteisilla provisionointisäännöillä
Tulokset
Teknologiapino
caseStudyDetail.more Tapaustutkimukset
Tutustu lisää teknisiin toteutuksiimme
RunPodin hyödyntäminen skaalautuvaan, kustannustehokkaaseen AI-päätelmään
Tekoälyyn perustuva videoanalytiikka-alusta tarvitsi tehokasta GPU-laskentaa reaaliaikaiseen objektintunnistukseen ja päätelmään useiden samanaikaisten videovirtojen yli – ilman 24/7 käyvien dedikoitujen GPU-palvelimien kiellettyjä kustannuksia.
AI-pohjainen laskujen käsittely OCR:n ja QuickBooks-integraation avulla
Keskisuuri yritys, joka käsitteli satoja toimittajalaskuja kuukausittain, halusi poistaa manuaalisen tiedonsyötön poimimalla laskutiedot automaattisesti AI/OCR:n avulla ja synkronoimalla ne suoraan QuickBooks-järjestelmään kirjanpitoa ja maksujen seurantaa varten.
Valmis Muuttamaan Liiketoimintaasi?
Keskustellaan siitä, miten voimme soveltaa vastaavia ratkaisuja haasteisiisi.