A Netflix automatikusan kiszűri a hibás GPU-kat a gépi tanulási munkákból
A Netflix olyan többrétegű rendszert mutatott be, amely a GPU-k, hálózati adapterek és gépek hibáit már a feladatok közben is keresi. A cél, hogy a több száz GPU-n futó, akár hetekig tartó tanítási munkák és az éles következtetés kevésbé legyenek érzékenyek a hardverhibákra.
- A Netflix GPU-kon futtatja gépi tanulási modelljeinek tanítását és kiszolgálását.
- A vállalat 30 másodpercenként ellenőrzi a GPU-s gépek állapotát.
- A rendszer a GPU-k, hálózati adapterek és összeköttetések hibáit is keresi.
- A hibás gépeket automatikusan kivonják a munkából vagy lecserélik.
- Az ellenőrzőpontok és a rugalmas munkavégzők segítik a feladatok túlélését gépkiesés esetén.
A Netflix gépi tanulási rendszerei GPU-kra támaszkodnak
A Netflix kezdőképernyőjén megjelenő sorokat, azok sorrendjét, a címeket és a borítóképeket is gépi tanulási modellek választják ki. A vállalat szerint ez a személyre szabás egyik leggyakrabban használt területe, amelyet több száz millió felhasználó nézési szokásain tanított modellek támogatnak.
A gépi tanulás egyre nagyobb része GPU-kon fut, a modellek tanításakor és kiszolgálásakor is. A Netflix a generatív mesterséges intelligenciát a felhasználóknak szánt jobb ajánlásokhoz és promóciós anyagokhoz, valamint a produkciós partnerek kreatív eszközeihez is használja. A cég szerint a GPU-kapacitás az infrastruktúra egyik leggyorsabban növekvő és legdrágább része.
Az alapvető ellenőrzések nem látják minden hibát
Egy nagy tanítási feladat több száz GPU-n, több gépen futhat hetekig. A résztvevők minden lépésben összehangoltan dolgoznak, ezért a feladatot a leglassabb résztvevő tempója határozza meg, és egyetlen kieső résztvevő is leállíthatja az egészet.
A felhőszolgáltatók gépszintű ellenőrzései megmutatják, hogy a virtuális gép és az operációs rendszer elérhető e, illetve terveznek e karbantartást. Egy GPU szintű vizsgálat azt is ellenőrizheti, hogy az illesztőprogram válaszol e, és az eszköz látható e. Ezek azonban nem feltétlenül érzékelik a memória, a firmware, az összeköttetések vagy a nagy sebességű hálózati adapterek hibáit.
A Netflix példája szerint egy adapter kevesebb kapcsolatot is mutathat a vártnál, miközben a közös műveletek tovább futnak, csak sokkal lassabban. Az ellenőrző eszköz maga is lefagyhat, vagy egy frissítés után hiányozhat valamelyik szükséges program. Ezért a vállalat olyan vizsgálatokat használ, amelyek időtúllépés után hibásnak jelölik a gépet, hiányzó függőség esetén pedig szintén hibát jeleznek.
Négy réteg védi a tanítási és következtetési feladatokat
A Netflix Kubernetesre épülő Compute platformján négy réteg dolgozik együtt. Az első a csomópont és a hardver állapotát figyeli, többek között a GPU-kat, a hálózati adaptereket, az összeköttetéseket, a memóriahibákat és a hőmérsékletet. Probléma esetén a gépet kizárják az új feladatokból vagy újrahasznosítják.
A második réteg az ütemező és a platform működését kezeli. A rendszer feladat- és munkaszinten újrapróbálkozik, ellenőrzi a gépet, mielőtt munkát adna neki, majd szükség esetén biztonságosan leüríti és lecseréli.
A harmadik réteg a tanítási folyamatban kezeli az elkerülhetetlen kieséseket. A Netflix ellenőrzőpontokat és rugalmas munkavégzőket használ, hogy egy feladat túlélhesse egy gép elvesztését. A negyedik réteg a megfigyelhetőség, amely mérőszámokkal, szolgáltatási célokkal és a hibák eredetének azonosításával követi, hogy a többi réteg megfelelően működik e.
A GPU-ellenőrzések 30 másodpercenként futnak minden GPU-s gépen. A rendszer az NVIDIA DCGM-et használja többek között a hibakódok, a nem javítható memóriahibák, az összeköttetések és a hőmérséklet vizsgálatára. A hálózati ellenőrzések az Elastic Fabric Adapter interfészek számát és kapcsolatállapotát figyelik. Ha az elsődleges eszköz meghibásodik, a Netflix közvetlenül a kernel naplójából is kiolvassa a hibakódokat.
Netflix Technology Blog: Reliable GPU compute for large training & inference jobs


