Hirdetés
. Hirdetés

Az OpenAI új AI programozási nyelvet mutatott be a neurális hálózatok létrehozásához

|

A CUDA keretrendszer használata meglehetősen nagy kihívásnak számít, a Triton ezt a problémát kezeli.

Hirdetés

Az OpenAI neves mesterségesintelligencia-kutató laboratórium Triton néven bemutatta azt a speciális programozási nyelvet, amely állítása szerint lehetővé teszi a fejlesztőknek, hogy könnyebben hozzanak létre nagy sebességű gépi tanulási algoritmusokat.

A Triton első változatát két évvel ezelőtt mutatta be Philippe Tillet, az OpenAI kutatója egy tudományos dolgozatban. A mostani bejelentés részeként az OpenAI kiadta a Triton 1.0-nak nevezett, jelentősen továbbfejlesztett változatot, amely olyan optimalizációkat tartalmaz, amelyek a vállalati gépi tanulási projektekhez is alkalmasak.

A vállalati AI-modellek túlnyomó többsége az Nvidia grafikus feldolgozó egységein fut. A fejlesztők az Nvidia által szállított szoftvert használják e modellek létrehozásához. Az Nvidia egyik legfontosabbja a CUDA keretrendszer, amely azokat az alapvető szoftver-építőelemeket tartalmazza, amelyeket az AI-alkalmazások a GPU-kkal végzett számítások elvégzéséhez használnak.

Az OpenAI a Tritonnal azt a problémát kezeli, hogy a CUDA keretrendszer használata meglehetősen nagy kihívásnak számít. A fő probléma az AI-modell teljesítményének maximalizálása, hogy a lehető leggyorsabban dolgozza fel az adatokat. A CUDA-t használó fejlesztőcsapatok számára az AI-teljesítmény maximalizálása bonyolult és finomra szabott optimalizálásokat kíván a kódjuktól, amit még többéves tapasztalattal is nehéz megvalósítani.

Hirdetés

Az OpenAI Triton programozási nyelv a laboratórium szerint számos AI-kód optimalizálást automatikusan elvégez, hogy időt takarítson meg a fejlesztőknek - számolt be a SiliconAngle.

Az OpenAI két fő előnyt ígér a szoftvercsapatok számára. Az első, hogy a Triton felgyorsíthatja az AI-projekteket, mivel a fejlesztőknek kevesebb időt kell a kód optimalizálására fordítaniuk. A másik, hogy a Triton viszonylagos egyszerűsége lehetővé teheti a kiterjedt CUDA programozási tapasztalat nélkül dolgozó szoftvercsapatok számára, hogy hatékonyabb algoritmusokat hozzanak létre, mint amire egyébként képesek lennének. "A Triton lehetővé teszi, hogy viszonylag kis erőfeszítéssel elérjük a hardveres csúcsteljesítményt" - magyarázta Philippe Tillet egy blogbejegyzésben.

A Triton azáltal javítja a mesterséges intelligencia teljesítményét, hogy optimalizálja annak a munkafolyamatnak három alapvető lépését, amellyel egy Nvidia lapkán futó gépi tanulási algoritmus feldolgozza az adatokat.

Az első lépés az adatoknak a GPU DRAM és SRAM memóriaáramkörök közötti mozgatása. A GPU-k akkor tárolják az információkat a DRAM-ban, amikor azokat nem használják aktívan, és a számítások elvégzéséhez átviszik azokat az SRAM memóriába. Minél gyorsabban lehet az adatokat a két komponens között átvinni, annál gyorsabban futnak a gépi tanulási algoritmusok. Az AI-projektek fejlesztői számára ezért a számítási munkafolyamat ezen aspektusának optimalizálása kiemelten fontos.

Az optimalizálási folyamat a DRAM-ból az SRAM-ba kerülő adatblokkok nagy információs egységekbe történő összevonásából áll. Az OpenAI szerint a Triton automatikusan elvégzi ezt a feladatot, ezzel időt takarítva meg a fejlesztők számára.

A második számítási lépés, amelyet a Triton optimalizál, az a beérkező adatblokkok elosztása a GPU SRAM áramköreiben oly módon, hogy azok minél gyorsabban elemezhetőek legyenek.

Az egyik fő kihívás, amely ezzel a lépéssel jár, az úgynevezett memóriabank-konfliktusok elkerülése. Így nevezik azt a helyzetet, amikor két szoftver véletlenül megpróbál adatokat írni ugyanabba a memóriaszegmensbe. A memóriabank-konfliktusok feloldásukig hátráltatják a számításokat, ami azt jelenti, hogy az ilyen hibák előfordulási gyakoriságának csökkentésével a fejlesztők felgyorsíthatják a mesterséges intelligencia algoritmusaik teljesítményét.

"Az adatokat az újrafelhasználás előtt manuálisan az SRAM-ba kell elrejteni, és úgy kell kezelni, hogy a visszakereséskor minimalizálják a megosztott memóriabank-konfliktusokat" - magyarázta Tillet.

A harmadik és egyben utolsó feladat, amelynek automatizálásában a Triton segít, nem a GPU-k memóriacelláit, hanem a CUDA-magokat, vagyis a memóriában tárolt adatokon végzett számításokért felelős számítási áramköröket érinti. Egyetlen Nvidia adatközponti GPU-jában több ezer ilyen áramkör van. Ezek teszik lehetővé, hogy a chip egyszerre nagyszámú számítást hajtson végre.

Egy mesterséges intelligencia modell teljesítményének maximalizálásához a fejlesztőknek úgy kell konfigurálniuk, hogy a számításokat több CUDA-magra osszák szét, így azok egyszerre, és nem egymás után végezhetők el. A Triton ezt a feladatot is automatizálja, bár csak részben. Azért nem automatizálja a teljes munkafolyamatot, mert az OpenAI arra törekedett, hogy a fejlesztők számára rugalmasságot hagyjon, hogy a folyamatot szükség szerint manuálisan testre szabhassák a projektjeikhez.

A Triton elérhető a GitHubon.

Hirdetés
0 mp. múlva automatikusan bezár Tovább az oldalra »

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.computertrends.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.