Predicting total time to compress a video corpus using online inference systems
Dit artikel stelt een nieuw online machine learning-framework voor en evalueert dit, dat de totale transcoderingstijd voor een volledige videocorpus voorspelt met minder dan 5% fout, waarbij het een aanzienlijk hogere nauwkeurigheid demonstreert dan eerdere methoden voor per-clip voorspelling.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een enorme digitale bibliotheek beheert waar mensen voortdurend duizenden videobestanden achterlaten om te worden verkleind voor streaming. Dit proces, genaamd "compressie", is als het inpakken van een koffer: je moet de videodata vouwen en samendrukken zodat het minder ruimte inneemt, maar hoe moeilijker de video te vouwen is (veel snelle beweging of complexe texturen), hoe langer het duurt. In de wereld van cloud computing is weten hoe lang zo'n inpakklus precies zal duren een enorme zaak. Het helpt bedrijven te bepalen hoeveel energie ze moeten verbruiken en, belangrijker nog, hoeveel ze hun klanten moeten rekenen. Op dit moment werken de meeste systemen als een blinde chef: ze vertellen je pas de prijs van de maaltijd nadat je deze al hebt gegeten. Dit maakt budgetteren een nachtmerrie. Wetenschappers hebben geprobeerd de tijd voor elk individueel videoclipje te voorspellen, maar dat is alsof je probeert het totale gewicht van een hele vrachtwagen vol bakstenen te raden door slechts één baksteen per keer te wegen. Dat is traag, en de fouten stapelen zich op. De grote vraag is: kunnen we de totale tijd voor de hele stapel video's voorspellen voordat we zelfs maar klaar zijn met de klus, en kunnen we hier slimmer mee omgaan naarmate we verder komen?
Dit artikel, geschreven door een team van Trinity College Dublin, pakt precies dat probleem aan. In plaats van de tijd voor elk videoclipje één voor één te raden, hebben ze een nieuw soort "slimme rekenmachine" gebouwd die de totale tijd voorspelt die nodig is om een hele collectie (of "corpus") video's te comprimeren. Ze ontdekten dat kijken naar het grote plaatje veel beter is dan kijken naar de kleine stukjes. Sterker nog, hun methode om de totale tijd voor de hele groep te voorspellen was meer dan twee keer zo nauwkeurig als de oude methode van het raden per clip.
Hier werkt hun systeem, gebruikmakend van een leuke analogie. Stel je voor dat je een voorman bent op een bouwplaats met 600 verschillende kamers die geschilderd moeten worden. Sommige kamers zijn klein en eenvoudig; andere zijn groot en bedekt met ingewikkelde muurschilderingen.
- De Oude Manier (Per-Clip Voorspelling): Je probeert te raden hoe lang het duurt om elke afzonderlijke kamer te schilderen voordat je begint. Je raadt misschien dat de kamer met de muurschildering 10 uur duurt en de inbouwkast 1 minuut. Maar als je zelfs maar één gok verkeerd maakt, is je totale schatting voor de hele klus onjuist.
- De Nieuwe Manier (Corpus Voorspelling): Je begint met schilderen. Na het voltooien van slechts een paar kamers (zeg, 2% van de klus), stop je even en kijk je naar wat je tot nu toe hebt gedaan. Je realiseert je: "Hé, de kamers die ik tot nu toe heb geschilderd, duurden gemiddeld 15 minuten per stuk." Je gebruikt vervolgens deze gegevens uit de echte wereld om te raden hoe lang de rest van de 588 kamers zal duren.
De auteurs testten dit idee met twee verschillende "schilderinstrumenten" (videocodecs genaamd x264 en x265) en een enorme dataset van 600 hoogwaardige 4K-videoclips. Ze gokten niet alleen maar; ze bouwden een systeem dat leert terwijl het werkt. Ze noemen dit "online inferentie". Het is als een GPS die je route en aankomsttijd bijwerkt elke keer dat je een nieuw herkenningspunt passeert, in plaats van alleen een statische kaart aan het begin te geven.
Ze testten verschillende strategieën:
- De "Voortgangsbalk" Gok: Dit is de eenvoudigste methode. Het gaat er simpelweg van uit dat de rest van de video's even lang zullen duren als het gemiddelde van de video's die je al hebt voltooid. Het is oké, maar niet geweldig.
- De "Groeperings" Gok: Deze methode sorteert de video's in groepen (clusters) op basis van hoe complex ze eruitzien (zoals kamers sorteren op basis van of ze muurschilderingen hebben of eenvoudige muren). Het voorspelt de tijd voor de resterende kamers in elke groep afzonderlijk. Dit is beter.
- De "Superbrein" Gok (Machine Learning): Dit gebruikt een slim algoritme genaamd XGBoost. Het kijkt naar de details van de video's die je al hebt verwerkt en leert een complex patroon om de rest te voorspellen.
De resultaten waren verrassend en indrukwekkend. De auteurs ontdekten dat je niet het "Superbrein" voor de hele klus nodig hebt. Sterker nog, de beste strategie is een mix-en-match aanpak:
- Voordat je begint: Gebruik een algemeen "Superbrein"-model om een ruwe schatting te krijgen. Voor de x264-tool zat deze gok er ongeveer 13,5% naast wat betreft de totale tijd.
- Nadat 2% is voltooid: Schakel over naar het "Superbrein" dat on the fly leert (online). Dit verlaagt de fout naar ongeveer 8,75%.
- Nadat 6% is voltooid: Schakel over naar de eenvoudigere "Groeperings"-methode. Verrassend genoeg werd deze eenvoudige methode zelfs nauwkeuriger, waarbij de fout daalde tot net onder de 5% (4,89% voor x264 en 5,11% voor x265).
Het artikel voert expliciet argumenten aan tegen het idee dat je één enkel, complex model nodig hebt dat op alles getraind is om goede resultaten te behalen. Ze toonden aan dat algemene modellen (getraind op gegevens uit andere bronnen) eigenlijk slechter presteerden zodra de werkelijke klus begon. En ze bewezen dat je niet hoeft te wachten tot de klus voor 50% of 90% voltooid is om een goede schatting te krijgen; je kunt zeer nauwkeurige voorspellingen doen (minder dan 5% fout) na het verwerken van slechts een fractie van de video's.
Het team heeft dit gemeten op een krachtige computer met 64 cores, die 600 clips verwerkte die ofwel 2 of 4 seconden lang waren. Ze ontdekten dat de "hersencapaciteit" die nodig is om deze voorspellingen uit te voeren minuscuul is — het voegt minder dan 0,2% extra tijd toe aan het hele proces. Dit betekent dat het systeem snel genoeg is om in realtime te worden gebruikt zonder de eigenlijke videocompressie te vertragen.
Kortom, het artikel suggereert dat voor het voorspellen van hoe lang een enorme video-klus zal duren, het beter is om een "lerende voorman" te zijn dan een "glazen bol". Door naar een kleine steekproef van het werk te kijken en je gok gaandeweg aan te passen, kun je de totale kosten en tijd met veel hogere nauwkeurigheid voorspellen dan wanneer je probeert elke afzonderlijke stap vooraf te raden. Dit helpt cloudbedrijven geld te besparen en laat klanten precies weten waarvoor ze betalen voordat het werk zelfs maar begint.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.