Что такое NVIDIA Structured Data Models
Компания NVIDIA выпустила библиотеку Structured Data Models (SDM), которая объединяет несколько предварительно обученных фундаментальных моделей для работы с табличными данными под единым интерфейсом PyTorch. Ключевая особенность — возможность делать прогнозы без этапа обучения (zero-training). Модель работает по принципу in-context learning: вы подаете ей набор размеченных строк (контекст) и строки для предсказания, а она возвращает вероятности или распределение за один прямой проход (forward pass).
Библиотека включает три основные модели:
- TabICLv2 — для одиночных таблиц, основана на архитектуре, представленной в ICML '26.
- KumoTabular — поддерживает размеры small, medium и large для одиночных таблиц.
- KumoRelational — для работы с целыми реляционными базами данных (модель KumoRFM-2).
Сравнение моделей и лицензий
В отличие от крупных моделей от Google (TabFM, TimesFM), которые требуют 6.5 ГБ и 1.3 ГБ памяти соответственно и имеют некоммерческие лицензии, решения NVIDIA значительно легче и доступны для коммерческого использования. Ниже приведено сравнение доступных в SDM моделей:
| Модель | Назначение | Размер весов | Лицензия |
|---|---|---|---|
| TabICLv2 | Одиночные таблицы (ICML '26) | ~110 MB | BSD-3 |
| KumoTabular | Одиночные таблицы (S/M/L) | Small ~110 MB, Large ~855 MB | OpenMDW |
| KumoRelational | Мульти-таблицы (KumoRFM-2) | ~120 MB | OpenMDW |
Технические детали и подводные камни
Работа с библиотекой требует внимания к деталям. Данные передаются через TableTensor — подкласс PyTorch, который хранит данные в типизированных блоках (числовые, категориальные, даты, текст, ID). При использовании функции infer_stypes по умолчанию библиотека может неверно определить типы данных: например, текстовые комментарии могут быть интерпретированы как категориальные, а ID — как числовые признаки, что снижает качество.
Также выявлены технические нюансы:
- Зависимости: Для реляционного сэмплера требуется
pyg-lib. Библиотека ошибочно формирует URL для загрузки колеса (wheel) на основе точной версии патча PyTorch (например, 2.14.1), тогда как репозиторий публикует их по мажорной и минорной версии (2.14.0). Требуется ручная корректировка URL. - Даты: SDM хранит даты как int64 микросекунды. Если в данных есть значения с наносекундной точностью, конвертация упадет с ошибкой — необходимо предварительно обрезать точность до микросекунд.
Практическое применение
Тьюториал демонстрирует использование библиотеки на задачах классификации (breast_cancer) и регрессии (diabetes) из scikit-learn. Показано, что предсказания можно кэшировать для разных запросов, используя один и тот же закодированный контекст. Для реляционных данных модель способна предсказывать активность клиентов, анализируя связи между несколькими таблицами, при условии корректной настройки, исключающей утечку данных (data leakage).
Источник: MarkTechPost ↗
