207 WebGPU kernelt adott ki a Hugging Face a böngészős AI gyorsítására

A Hugging Face 2026. szeptember 1-jén bemutatta a @huggingface/kernels könyvtárat és a hozzá tartozó, 207 WebGPU kernelből álló gyűjteményt. A cél a böngészőben futó AI következtetés gyorsítása és mérhetőbbé tétele.
- A Hugging Face 207 WebGPU kernelt tett közzé a webgpu-kernels szervezetben.
- A @huggingface/kernels JavaScript könyvtár a Hubról tölti be és futtatja a kerneleket.
- Minden kernelhez manifest, helyességi teszt, benchmark eset és WGSL shader sablon tartozik.
- A Fleet böngészőben méri a kerneleket valódi felhasználói hardvereken.
- A Hugging Face mérése szerint a kernelek geometriai átlagban 2,57-szer gyorsabbak voltak ORT WebGPU-nál a vizsgált esetekben.
Kernelgyűjtemény a Hugging Face Hubon
A Hugging Face WebAI csapata szerint a böngészős következtetés gyorsításához több rétegen kell dolgozni: a modelleknek böngészőbarát formátumra van szükségük, a futtatókörnyezeteknek hatékony végrehajtási terveket kell készíteniük, az alsó szinten lévő GPU műveleteknek pedig sokféle eszközön és böngészőimplementáción kell jól működniük.
Ennek az erőfeszítésnek az első rétege a most kiadott @huggingface/kernels, egy minimális JavaScript könyvtár, amely optimalizált WebGPU kernelek betöltésére és futtatására szolgál a Hugging Face Hubról. A hozzá tartozó kezdeti gyűjtemény 207 kernelt tartalmaz a huggingface.co/webgpu-kernels alatt.
A gyűjtemény olyan műveleteket fed le, amelyeket sokféle gépi tanulási architektúra és munkaterhelés használ. A Hugging Face kiemeli, hogy minden kernel teljes, verziózott csomagként jelenik meg: egy helyen található az interfész, a shader sablon, a helyességi teszt, a benchmark eset és a használati útmutató.
A kernelek Apache-2.0 licenc alatt érhetők el. A csomag előzetes változata npm-ből telepíthető a forrásban megadott paranccsal: npm install @huggingface/kernels@preview.
Miért a kernelekkel kezdi a Hugging Face?
Egy böngészőben futó modell végül GPU műveletek sorozatává alakul: mátrixszorzások, normalizálások, konvolúciók, attention primitívek, kvantálási műveletek, adat-elrendezési átalakítások és további lépések követik egymást. A WebGPU ezekhez hordozható API-t ad a modern böngészőkben, a WGSL pedig közös shadernyelvet biztosít.
A Hugging Face szerint a hordozhatóság önmagában nem jelent teljesítményt. Két shader ugyanazt a műveletet is megvalósíthatja azonos kimenettel, miközben különböző gyorsítókon teljesen másképp viselkedik. A munkacsoportméret, a memóriaelérési minta, a vektorizálás, az adattípus és a fúziós stratégia mind hatással lehet a sebességre.
A legjobb választás a bemeneti alaktól, az eszköztől, a böngészőtől és az elérhető WebGPU funkcióktól is függhet. Emiatt a Hugging Face a kerneleket a gyors böngészős következtetés alaprétegének tekinti: a magasabb szintű futtatókörnyezetek legfeljebb olyan hatékonyak lehetnek, mint azok a műveletek, amelyeket meghívnak.
Nem csak shaderfájlok, hanem verziózott csomagok
A gyűjtemény minden kernele saját repositoryt és kernelkártyát kapott. A kártya dokumentálja a művelet szemantikáját, bemeneteit, kimeneteit, attribútumait, támogatott adattípusait, forrásfájljait, valamint egy futtatható @huggingface/kernels példát.
A forrás példaként az ai.onnx.Add kernelt említi, amely elemenkénti összeadást valósít meg többirányú broadcastinggal. Ez a neurális hálózatok egyik legegyszerűbb művelete, amelyet a reziduális kapcsolatoktól az eltolás hozzáadásáig sok helyen használnak.
A repository többféle fájlt csomagol egybe. A manifest.json írja le a művelet szerződését, beleértve a bemeneteket, kimeneteket, attribútumokat, típusmegkötéseket és alaklevezetési szabályokat. A metadata.json a kernel azonosítóját, lenyomatait és eredetét rögzíti. A test.json helyességi eseteket tartalmaz, a bench.json benchmark és hangolási eseteket, a *.wgsl.jinja fájlok pedig paraméterezett WGSL implementációkat.
Ez a felépítés a Hugging Face szerint újrahasználható szoftveres artefaktummá teszi a shadert. Az interfész WGSL olvasása nélkül is ellenőrizhető, a helyességi és teljesítménytesztek együtt mozognak az implementációval, a publikált verziók pedig explicit módon betölthetők.
Fleet: böngészős tesztelés valódi hardvereken
A Hugging Face a kernelekkel együtt elindította a Fleet nevű, böngészőben futó GPU benchmarkoló és tesztelő eszközt is. A Fleet a felhasználó hardverén futtatja és pontozza a kerneleket.
A saját gépen mért eredményeken túl a Fleet közösségi adatgyűjtésre is szolgál. A Hugging Face szerint a felhasználói hozzájárulással minden futtatás privát bizonyítékot adhat a teljesítményről és a helyességről olyan eszközökről, amelyeket egy hagyományos tesztlabor nem tudna lefedni.
Az így gyűlő adatok segíthetnek hibák, például helytelen eredmények vagy kórosan lassú esetek megtalálásában, a kernelváltozatok javításában és jobb optimalizálási döntésekben a valós hardverkörnyezetek alapján.
Mért gyorsulás és felhasználói jelentőség
A Hugging Face saját méréseket is közölt. A gyűjteményt ORT WebGPU-val vetették össze Apple M4 GPU-n, ONNX Runtime Web 1.30.0-dev.20260826-b1f76d586a használatával. A kiindulás 1 756 teszteset volt a 207 műveleten, ebből 809 olyan esetet tartottak meg, ahol mindkét oldal egyező kimenetet és megbízható időmérést adott.
Ezekben az összehasonlításokban a Hugging Face szerint a saját kernelek geometriai átlag szerint 2,57-szer gyorsabbak, medián alapján 1,90-szer gyorsabbak voltak. Az eredmények 629 győzelmet, 176 vereséget és 4 döntetlent mutattak.
Négy ismert műveletnél a forrás külön adatokat is közöl. Add esetén 5 összehasonlított esetben 0,064 ms áll szemben 0,227 ms-mal, ami 3,52-szeres gyorsulás. MatMul esetén 29 esetben 0,115 ms és 0,131 ms szerepel, 1,14-szeres gyorsulással. Softmax esetén 12 esetben 0,114 ms és 0,240 ms, 2,11-szeres gyorsulás mellett. LayerNormalization esetén 6 esetben 0,061 ms és 0,135 ms szerepel, ami 2,22-szeres gyorsulás.
A forrás két kiugró példát is említ. Egy nehéz bilineáris Einsum eset, i,ij,j 4096-os mérettel, 0,136 ms alatt futott a Hugging Face kernelével, szemben az ORT WebGPU 1 396 ms-os eredményével, ami több mint 10 000-szeres különbség. Egy soronkénti CumSum [256, 4096] alakon 301-szer gyorsabb volt, 0,016 ms-mal 4,784 ms helyett. A Hugging Face jelzi, hogy ezek szokatlan esetek, nem mindenhol várható ilyen gyorsulás.
A felhasználók és fejlesztők számára a bejelentés fő jelentősége az, hogy a böngészőben futó AI modellek alatt lévő GPU műveletek külön is betölthetők, tesztelhetők, mérhetők és verziózhatók. A futtatáshoz WebGPU-t támogató böngésző szükséges, az elérhetőség pedig a böngészőtől, az operációs rendszertől, a GPU-tól és a drivertől függ.
Hugging Face: Introducing @huggingface/kernels: 200+ WebGPU Kernels for Local AI

