Google Research показала TabFM — фундаментальную модель для табличных данных, которая умеет решать задачи классификации и регрессии без отдельного обучения под каждый датасет. Предсказание формируется за один проход модели, а сам подход авторы называют аналогом TimesFM — их же zero-shot модели для временных рядов, только применённым к таблицам. Модель уже доступна на Hugging Face и GitHub.
Зачем это нужно
Таблицы — основа корпоративной аналитики: отток клиентов, выявление мошенничества, кредитный скоринг — всё это классические табличные задачи. Годами здесь доминировали древовидные алгоритмы: XGBoost, AdaBoost, случайный лес. Они надёжны, но за эту надёжность приходится платить временем: подбор гиперпараметров и инженерия признаков под конкретный датасет — рутина, которая редко укладывается в один вызов .fit().
TabFM переносит на таблицы ту же логику zero-shot, которую популяризировали большие языковые модели: обучение «в контексте» (in-context learning, ICL) без обновления весов. Модель получает весь датасет как единый промпт и выдаёт предсказания по ранее не виданным таблицам за один проход.
Как устроена модель
Таблицы — не текст: они двумерны и не имеют естественного порядка (перестановка строк или столбцов не меняет смысла данных), тогда как языковые модели обрабатывают одномерные упорядоченные последовательности. Чтобы преодолеть это несоответствие, TabFM объединяет идеи двух архитектур — TabPFN и TabICL — в гибридную схему из трёх компонентов:
- Чередующееся внимание по строкам и столбцам. Таблица проходит через многослойный модуль внимания, которое, как в TabPFN, поочерёдно применяется к столбцам (признакам) и строкам (примерам). Это позволяет модели самой улавливать взаимосвязи признаков — работу, которую иначе делали бы вручную.
- Сжатие строк. Информация, накопленная каждой строкой после перекрёстного внимания, сворачивается в единый плотный вектор.
- In-context learning. Отдельный трансформер работает уже с этими сжатыми векторами. По принципу TabICL внимание к сжатым строкам резко снижает вычислительные затраты, поэтому предсказание остаётся эффективным даже на крупных датасетах.
Обучение на синтетических данных
Фундаментальным моделям нужны огромные и разнообразные обучающие выборки, но качественных открытых табличных датасетов мало — промышленные таблицы обычно закрыты из-за собственных схем данных и конфиденциальной информации. Поэтому команда Google обучила TabFM исключительно на синтетических данных: сотнях миллионов датасетов, динамически генерируемых с помощью структурных каузальных моделей (SCM) со случайными функциями. По заявлению исследователей, такой подход воспроизводит распределения и сложные связи признаков, характерные для реальных таблиц, и модель хорошо обобщается на данные из реального мира.
Результаты на бенчмарке
TabFM тестировали на TabArena — «живом» бенчмарке, который считает рейтинг Эло по результатам прямых сравнений моделей. Оценка охватила 38 датасетов классификации и 13 датасетов регрессии с размером выборки от 700 до 150 000 строк.
Проверяли две конфигурации. Обычный TabFM работает «из коробки», без тюнинга и кросс-валидации, за один прямой проход. TabFM-Ensemble добавляет кросс-признаки и признаки на основе сингулярного разложения (SVD), вычисляет оптимальные веса для ансамбля из 32 вариантов через решатель неотрицательных наименьших квадратов (NNLS), а для классификации дополнительно применяет калибровку методом Платта. По данным исследователей, TabFM стабильно превосходит тщательно настроенные промышленные алгоритмы; подробные метрики по каждой выборке и результаты прямых сравнений опубликованы на странице проекта на GitHub.
| Параметр | Классический GBDT (XGBoost) | TabFM | TabFM-Ensemble |
|---|---|---|---|
| Обучение под датасет | Требуется | Не требуется (in-context learning) | Не требуется |
| Подбор гиперпараметров | Ручной, трудоёмкий | Не требуется | Веса ансамбля через NNLS |
| Инженерия признаков | Ручная, предметно-ориентированная | Выучивается вниманием | + кросс- и SVD-признаки |
| Предсказание | После полного обучения | Один прямой проход | Ансамбль из 32 вариантов |
| Калибровка | Вручную (опционально) | — | Калибровка Платта (классификация) |
Установка и код
Установка сводится к клонированию репозитория и локальной сборке. Базовая версия использует JAX только для CPU, а дополнительный пакет cuda подтягивает плагин CUDA 12 и нужные библиотеки NVIDIA для запуска на GPU. Требуется Python 3.11 или новее; зависимости зафиксированы на jax==0.10.1 и flax==0.12.7 с использованием современного API flax.nnx. Предобученные веса модель скачивает автоматически с Hugging Face Hub.
import numpy as np
import pandas as pd
from tabfm import tabfm_v1_0_0
from tabfm import TabFMClassifier
# Load pre-trained TabFM v1.0.0 (downloads from Hugging Face)
model = tabfm_v1_0_0.load()
# scikit-learn compatible classifier
clf = TabFMClassifier(model=model)
X_train = pd.DataFrame({
"age": [25.0, 45.0, 35.0, 50.0],
"job": ["engineer", "manager", "engineer", "manager"],
"income": [80000, 120000, 90000, 130000]
})
y_train = np.array(["low_risk", "high_risk", "low_risk", "high_risk"])
X_test = pd.DataFrame({
"age": [30.0, 48.0],
"job": ["engineer", "manager"],
"income": [85000, 125000]
})
clf.fit(X_train, y_train)
predictions = clf.predict(X_test)
probabilities = clf.predict_proba(X_test)
print("Predictions:", predictions)
print("Class Probabilities:\n", probabilities)
Важный нюанс: здесь fit() лишь готовит порядковые кодировщики и числовые нормализаторы, а не обучает веса модели на ваших данных. Регрессор TabFMRegressor с методом reg.predict() работает по тому же принципу.
Где это применимо
API TabFM закрывает типичные задачи предиктивной аналитики. Для прогноза оттока клиентов контекстом служит история клиентов с метками «ушёл»/«остался» — модель за один проход оценивает риск оттока для новых клиентов. Для кредитного скоринга строки содержат возраст, профессию и доход, а метки — уровень риска (low_risk/high_risk), как в примере кода выше: новые заявки оцениваются без цикла обучения. Для задач регрессии — например, прогноза цены недвижимости — контекст хранит площадь и район, а модель возвращает предсказанную цену для новых объявлений.
Отдельно в анонсе отмечается, что вскоре Google BigQuery получит доступ к TabFM через SQL-команду AI.PREDICT.
Источник: MarkTechPost.