Az Nvidia nyílt forráskódú könyvtárat adott ki, amellyel előtanított modellek tanítás nélkül tudnak jósolni táblázatos adatokból. A Structured Data Models (SDM) első kiadásai október 14-én jelentek meg a GitHubon, az Nvidia saját kódja Apache 2.0 licencet kapott. A könyvtár több, úgynevezett alapmodellt (foundation model) fog össze egyetlen PyTorch-felület alatt. Ezek táblázatokra, összekapcsolt adatbázis-táblákra és idősorokra készültek.
Mit jelent a „tanítás nélküli” jóslás?
A táblázatos adatok (ügyféllisták, tranzakciók, mérési eredmények) elemzésében ma is a klasszikus gépi tanulás az úr: egy XGBoost-hoz vagy logisztikus regresszióhoz hasonló modellt minden feladatra külön be kell tanítani. A táblázatos alapmodellek másképp működnek. Az úgynevezett in-context learning során a modell kap néhány száz felcímkézett sort „példaként”, mellé a megjósolandó sorokat, és egyetlen futtatással visszaadja az eredményt. Nincs tanítási lépés és nincs hiperparaméter-hangolás. A működése olyan, mint amikor egy nyelvi modellnek a promptban mutatunk néhány példát. Osztályozásnál osztályonkénti valószínűségeket ad, regressziónál pedig egy teljes eloszlást, 999 kvantilissel.
Milyen modellek vannak benne?
- Táblázatos modellek: TabICLv2 (az ICML 2026 konferencián bemutatott nyílt modell), a Google TabFM-je és az Nvidia KumoTabular modellje.
- Relációs modell: a KumoRelational (KumoRFM-2), amely egész, több táblából álló adatbázisokból jósol.
- Idősor-modellek: a KumoForecast és a Google TimesFM-3 modellje.
A könyvtár saját, PyTorch-kompatibilis tenzortípusokat is ad a számszerű, kategorikus, dátum, szöveges és azonosító oszlopokhoz, valamint GPU-n futó elő- és utófeldolgozást. Python 3.11-től és PyTorch 2.7-től használható. Az Nvidia CUDA-s használathoz a cuDF telepítését is javasolja, hogy az adatkezelés ne kerüljön vissza a CPU-ra.
Mennyire pontos?
A MarkTechPost részletes oktatóanyagban próbálta ki a könyvtárat a scikit-learn mellrákos adatkészletén: 300 felcímkézett sorból kellett 269 újat besorolni. A tanítás nélkül futó modellek ugyanott végeztek, mint a betanított klasszikus módszerek:
| Modell | Tanítás | Pontosság | AUC |
|---|---|---|---|
| TabICLv2 | nincs | 0,970 | 0,996 |
| KumoTabular (small) | nincs | 0,970 | 0,995 |
| Logisztikus regresszió | 300 soron | 0,970 | 0,993 |
| HistGradientBoosting | 300 soron | 0,967 | 0,992 |
Az AUC azt méri, mennyire jól választja szét a modell a két osztályt (1,0 a tökéletes). A tesztből az is kiderült, hogy a felcímkézett példákat egyszer be lehet tölteni egy gyorsítótárba (fit), és utána sok lekérdezés gyorsabban fut (predict). Ezzel a modell nem tanul semmit, csak „megjegyzi” a példákat. A regressziós tesztben a 80 és 90 százalékos előrejelzési sávok nagyjából a sorok 80, illetve 90 százalékát fedték le, vagyis a modell bizonytalansági becslése is használható.
Buktatók
A MarkTechPost néhány csapdát is talált. Az oszloptípusokat felismerő funkció alapbeállításban a szabad szöveges mezőt kategóriaként, az azonosítót pedig számként kezeli, így mindkettő hamis jellemzőként kerülhet a modellbe. Ezt külön be kell állítani. A dátumoszlop egyetlen nanoszekundumos értéke is hibát okozhat az egész oszlopban, és a relációs részhez szükséges pyg-lib csomag telepítési hibaüzenete rossz címre mutat. Az oktatóanyag idején a PyPI-n lévő csomag még csak helyfoglaló volt, ezért a GitHubról telepítettek. Licencre is figyelni kell: a Google TabFM és TimesFM 3 súlyai a MarkTechPost szerint csak nem kereskedelmi célra használhatók, a TabICLv2 BSD-3, a Kumo-modellek OpenMDW licencet kaptak.
Az SDM elsősorban adatelemzőknek és fejlesztőknek szól, akik gyorsan akarnak jó alapértéket kapni egy táblázatos feladatra, modellépítés nélkül. A könyvtár GPU-ra optimalizált, de a MarkTechPost tesztje szerint CPU-n is végigfut.