A hatékonyság és sebesség javítása az ML/AI fejlesztésben

Az AI/ML fejlesztés dinamikus világában kulcsfontosságú, hogy rendelkezzünk olyan infrastruktúrával, amely lépést tud tartani az ML mérnökök követelményeivel. Lassú építési idők és csomagolási, illetve végrehajtó fájlok terjesztésének hatékonysági hiányosságai akadályozhatják a produktivitást és pazarolhatnak értékes időt.

Hogy megoldást találjunk ezekre a kihívásokra, csapatunk elővigyázatos intézkedéseket tett a lassú építések és a hatékonysági hiányosságok kezelése érdekében, ami jelentős költségcsökkentéssel és javult hatékonysággal járt.

A bélyegkövetőt alkalmazó elavult revíziók helyett arra összpontosítottunk, hogy minimalizáljuk az újraépítéseket a build gráf áramvonalasításával és a függőség kiválasztás optimalizálásával. Ez az irányvonal jelentősen csökkentette az intenzív újraépítések szükségességét és javította az összesített építési sebességet.

Egy másik jelentős akadály, amivel szembenéztünk, azok az újrafelhasználható végrehajtható fájlok csomagolása és terjesztése voltak. Ezen kihívás leküzdése érdekében a Tartalomvezérelt Fájlrendszer (CAF) inkrementális megközelítést vezettünk be. A CAF okosan kihagyja azokat a felesleges feltöltéseket, amelyek már megtalálhatók a tartalomvezérelt tárolóban (CAS). Ez nemcsak csökkenti a csomagolási időt, hanem minimalizálja a beszerzési teherét is a nagy végrehajtható fájlok esetében.

A CAF rendszer hatékonyságának növelése érdekében CAS démont telepítettünk adataközpontok többségén. Ez a démon felelős a helyi gyorsítótárak fenntartásáért, egy peer-to-peer hálózat rendezéséért más CAS démon példányokkal és a tartalom beszerzés optimalizálásáért. Ezt a hálózatot kihasználva közvetlenül tartalmat tudunk lekérni más példányokból, csökkentve ezzel a válaszidőt és a tárolási sávszélességet.

A hagyományos, rétegeltes megoldásokkal, mint például a Docker OverlayFS, szembeni megközelítésünk a fájlok közvetlen hozzáférésére és az okos affinitású útválasztásra helyezi a hangsúlyt. Ez lehetővé teszi, hogy hatékonyan kezeljük a különböző függőségeket több végrehajtható fájlban, anélkül hogy a rétegszervezés bonyolultságába keverednénk. Emellett, a Btrfs fájlrendszer használatával kihasználjuk tömörítési képességeit és lehetőségét, hogy tömörített tárolási adatokat közvetlenül lemezekre írjunk.

A lassú építések és a hatékonytalan végrehajtható fájl csomagolás és terjesztési kihívásainak kezelése révén lehetővé tettük ML mérnökeink hatékonyabb munkavégzését és úttörő megoldások szállítását. Az újraépítések minimalizálására, a függőségkezelés optimalizálására és egy inkrementális csomagolási megoldás bevezetésére összpontosító munkánk jelentős időmegtakarítást és fokozott produktivitást eredményezett az AI/ML fejlesztési folyamatunkban.

Gyakran ismételt kérdések:

K: Milyen kihívásokkal szembesült a csapat az AI/ML fejlesztés során?
V: A csapat az AI/ML fejlesztés során lassú építési időkkel, hatékonysági problémákkal a végrehajtható fájlok csomagolása és terjesztése terén, valamint a különböző függőségek kezelése során megtapasztalt komplexitással szembesült.

K: Hogyan kezelte a csapat a lassú építéseket?
V: A csapat a lassú építéseket a build gráf áramvonalasításával és a függőség kiválasztás optimalizálásával kezelte, ami csökkentette az újraépítések szükségességét és javította az összesített építési sebességet.

K: Hogyan kezelte a csapat a végrehajtható fájlok csomagolását és terjesztését?
V: A csapat egy inkrementális megközelítést vezetett be a Tartalomvezérelt Fájlrendszerrel (CAF), amely okosan kihagyja azokat a felesleges feltöltéseket, amelyek már megtalálhatók a tartalomvezérelt tárolóban (CAS). Ez csökkenti a csomagolási időt és minimalizálja a beszerzési teherét.

K: Minek az a célja, hogy CAS démont telepítsünk az adatközponti hostokra?
V: A CAS démon felelős a helyi gyorsítótárak fenntartásáért, egy peer-to-peer hálózat rendezéséért más CAS démon példányokkal és a tartalom beszerzés optimalizálásáért. Ez lehetővé teszi a tartalom közvetlen lekérését más példányokból, csökkentve a válaszidőt és a tárolási sávszélességet.

K: Hogyan kezeli a csapat a függőségeket rétegszervezés bonyolultsága nélkül?
V: A hagyományos megoldásokkal ellentétben a csapat közvetlen fájlhozzáférést és okos affinitású útválasztást prioritizál a rétegelés alapú megoldások, mint például a Docker OverlayFS helyett. Ez lehetővé teszi a különböző függőségek hatékony kezelését több végrehajtható fájlban.

K: Milyen fájlrendszert használ a csapat, és milyen előnyökkel jár ez?
V: A csapat a Btrfs fájlrendszert használja, amely tömörítési képességeket és a tömörített tárolási adatok közvetlen lemezekre történő írásának képességét nyújtja. Ez javítja a hatékonyságot és a tárolási képességeket.

Definíciók:

– AI/ML: Az Artificial Intelligence/Machine Learning mozaikszója, algoritmusok és modellek fejlesztését és alkalmazását jelenti, amelyek lehetővé teszik a számítógépeknek a feladatok végrehajtását explicit utasítások nélkül.
– ML mérnökök: Az ML mérnökök olyan mérnökök, akik specializáltak a Gépi Tanulásban, és ML algoritmusokat és modelleket fejlesztenek, implementálnak és optimalizálnak.
– Újraépítések: A szoftver vagy kód újjáépítésének folyamata.
– Csomagolás: A szoftver előkészítése a terjesztéshez, úgy, hogy a szükséges fájlokat és függőségeket összecsomagolja.
– Tartalomvezérelt Fájlrendszer (CAF): Egy fájlrendszer, amely a fájlok tartalma alapján azonosítja azokat a helyük vagy nevük helyett, lehetővé téve a hatékony tárolást és adatleérést.
– Tartalomvezérelt Tárolás (CAS): Egy tárolási rendszer, amelyben a tartalom egyedi azonosítókkal van ellátva és azonosítva van, lehetővé téve az ismétlődések eltávolítását és hatékony adatleérést.
– Függőség: Egy szoftveralkotó vagy könyvtár, amire egy másik szoftver a helyes működéshez támaszkodik.
– Válaszidő: Az időbeli késedelem a kérés indítása és a válasz fogadása között.
– Sávszélesség: Az adatátviteli sebesség maximális mértéke egy adott útvonalon vagy hálózaton.
– Btrfs: Egy copy-on-write fájlrendszer Linuxhoz, amely lehetővé teszi a snapshotok, részválasztékok, tömörítés és skálázhatóság tulajdonságait.

Kapcsolódó linkek:
– Elosztott Reaktív Programozás
– Amazon Machine Learning
– Hatékony Elosztott Gépi Tanulás: Egyetlen csomópont szempontjából

The source of the article is from the blog jomfruland.net

Privacy policy
Contact