Google представила TabFM — модель для таблиц без обучения на новых данных

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.