Zero-shot машинное обучение: звучит как сказка?
Вы когда-нибудь мечтали загрузить сырую таблицу или временной ряд и получить предсказание, ни разу не тренировав модель? Я — да. Особенно когда дедлайн завтра, GPU занят под финтюном какой-то LLM, а клиенту нужен хотя бы прототип прогноза продаж на следующую неделю.
Звучит как научная фантастика, но Google уже два года как выкатила foundation-модели для структурированных данных: TabFM (для таблиц) и TimesFM (для временных рядов). Проблема была только в том, что запускать их локально — тот ещё квест. На помощь пришёл Zer0Fit — открытая обёртка, которая поднимает MCP-сервер и даёт вам прямой доступ к этим моделям через простой JSON-RPC из любимого языка.
Подход называется zero-shot supervised learning. Вы не дообучаете модель — вы просто подаёте признаки и получаете ответ. И это работает (спойлер: не идеально, но чертовски удобно).
Осторожно: Zer0Fit не заменяет полноценный AutoML на кастомных данных. Если вам нужно побить SOTA на узкой нише — придётся финтюнить. Но для 80% задач «быстрого прототипа» точность уже шокирует.
Как это работает? Никаких «вы можете» — просто код
Zer0Fit использует Model Context Protocol (MCP) — тот же протокол, который стоит за LM Studio MCP для автоматизации новостей. Только вместо языковой модели — TabFM или TimesFM.
Вы запускаете MCP-сервер на своей машине (CPU или GPU), он загружает веса моделей Google (они встроены прямо в пакет). Дальше — любой клиент (Python, C++, Rust) шлёт запросы через JSON-RPC. Сервер возвращает предсказания.
# Установка (актуально на июль 2026)
pip install zer0fit==0.7.2
# Установка моделей (скачивает веса ~600 МБ)
zer0fit download-models
После запуска:
zer0fit serve --port 8080 --model tabfm
И уже можно отправлять данные на классификацию или регрессию.
Таблицы: TabFM — классификация за три строки
Допустим, у вас есть датасет с характеристиками клиентов (возраст, доход, количество покупок) и нужно предсказать, уйдёт клиент или нет (churn). В классическом ML вы бы потратили день на EDA, очистку, выбор модели, валидацию. Zer0Fit делает это zero-shot.
import requests
import json
# Подготовка данных (пример)
data = {
"features": [
{"age": 32, "income": 65000, "purchases": 12},
{"age": 45, "income": 82000, "purchases": 5},
],
"task": "binary_classification",
"target_column": "churn" # необязательно для zero-shot
}
resp = requests.post("http://localhost:8080/predict", json=data)
print(resp.json())
# {"predictions": [0.87, 0.12], "model": "tabfm"}
Модель возвращает вероятности. Вы даже не указываете целевую переменную — TabFM понимает семантику колонок. Как? Foundation-модель обучалась на миллионах таблиц, и она «узнаёт» типичные паттерны. Это похоже на то, как GPT понимает тему текста без дообучения.
Для регрессии — меняете "task": "regression". Для мультиклассовой классификации — "task": "multiclass" и передаёте список классов.
Временные ряды: TimesFM — прогноз без инжиниринга
TimesFM — специализированная модель Google для временных рядов. Она обучена на терабайтах исторических данных (от биржевых котировок до погодных наблюдений) и умеет экстраполировать в будущее, не зная контекста задачи.
series_data = {
"series": [100, 105, 103, 110, 115, 112, 118, 125, 122, 130],
"horizon": 3, # сколько шагов вперёд предсказываем
"frequency": "D", # ежедневно
"seasonal": "auto" # автоопределение сезонности
}
resp = requests.post("http://localhost:8080/forecast", json=series_data)
print(resp.json())
# {"forecast": [133.2, 137.8, 140.5], "confidence_interval": [125.0, 145.0]}
Модель сама определяет тренд и сезонность. Интервал достоверности — приятный бонус (появился в версии 0.7). Для сравнения: Prophet от Facebook требует настройки сезонности, а N-BEATS — обучения на конкретной задаче. TimesFM просто работает.
Сравнение с альтернативами: кто кого?
| Критерий | Zer0Fit (TabFM/TimesFM) | AutoML (AutoGluon, H2O) | Классический ML (XGBoost, Prophet) |
|---|---|---|---|
| Время до первого прогноза | 5 минут | 30 минут - несколько часов | 1 час - 1 день |
| Требуется GPU | Нет (CPU подходит) | Опционально | Не требуется |
| Zero-shot | Да | Нет (требует обучения) | Нет |
| Точность на специфических данных | Средняя | Высокая | Высокая |
| Интеграция с MCP | Нативная | Нет | Нет |
Если вы уже используете AutoML для кросс-валидации, Zer0Fit не заменит его. Но для быстрых прототипов или пайплайнов initial guess — он король.
Когда Zer0Fit реально спасает?
Ситуация: вы разрабатываете сервис мониторинга, куда приходит новый датчик каждую минуту. Нужно предсказать отказ через 3 шага. Учебные данные — всего 50 точек. Prophet на таком количестве даст мусор, а TimesFM экстраполирует паттерн, подсмотренный в миллионах других рядов.
Или другой кейс: вы проверяете гипотезу — «есть ли закономерность в этих табличных данных?» Вместо того чтобы строить CatBoost и тратить день на фичи, закинули в TabFM — получили baseline за 2 минуты.
Кстати, недавно вышла статья про TinyML от Яндекса — там рекомендательная нейросеть весит 100 КБ. Zer0Fit в этом плане другой: модель весит 600 МБ, зато zero-shot без сжатия.
Недостатки, которые бесят
- TabFM не умеет работать с текстовыми признаками (их нужно эмбеддить отдельно).
- Временные ряды длиннее 5000 точек не принимаются — придётся ресемплировать.
- MCP-сервер при старте дёргает файлы с весами — если нет интернета, придётся кэшировать заранее.
- Иногда модель «галлюцинирует» — даёт высокую уверенность на случайных данных. Доверяй, но проверяй.
Кому это реально нужно?
Разработчикам AI-агентов, которые хотят добавить в пайплайн прогнозирование без тяжёлого кода. Взгляните на AgentCPM-Explore — 4B параметров на ноутбуке, и если совместить с Zer0Fit, получится полноценный агент, который и планирует, и предсказывает.
Также — CTO стартапов, у которых нет дата-сайентиста в штате. С Zer0Fit любой бэкендер может за час накидать прогнозный эндпоинт.
Тренд: локальный ML как новый SaaS
Мы видим взрыв open-source инструментов для запуска моделей локально: Meera — локальный ассистент для Linux, Podcast Indexer, нейросети для шумоподавления. Zer0Fit идеально вписывается в этот тренд: больше не надо платить за облачный эндпоинт и передавать данные третьим лицам.
Мой прогноз: к концу 2026 года foundation-модели для таблиц станут стандартом в MLOps-пайплайнах, а Zer0Fit (или аналоги) — обязательным звеном в каждом локальном стеке. Google уже работает над TabFM-2 с мультимодальным входом, но текущая версия — отличный entry point.
Совет на прощание: Не пытайтесь использовать Zer0Fit для медицинских диагнозов или финансовых сценариев с критической ошибкой. Модель zero-shot — это отличный scout, но плохой снайпер. Зато для прогноза погоды, загрузки серверов или классификации отзывов — самое то.