Сложность обучения языковых моделей сейчас не столько в новых архитектурах, сколько в качестве данных. Их не всегда можно просто собрать, почистить и обучить неСложность обучения языковых моделей сейчас не столько в новых архитектурах, сколько в качестве данных. Их не всегда можно просто собрать, почистить и обучить не

DataFlow: PyTorch для дата инженеров в эпоху LLM

Сложность обучения языковых моделей сейчас не столько в новых архитектурах, сколько в качестве данных. Их не всегда можно просто собрать, почистить и обучить нейросеть — нужно придумывать процессы, где данные можно синтезировать, валидировать, улучшать, выбрасывать плохие и возвращаться назад на шаг, чтобы всё пересобрать всё ещё раз. Только вот на практике многие команды работают с пайплайном, состоящим из случайно найденных скриптов, которые вообще никак невозможно переиспользовать. Сегодня вы чуть подкрутили фильтр, через неделю поменяли модель — и на этом всё. Воспроизводимость закончилась.

Авторы работы про DataFlow предлагают взглянуть на подготовку данных для обучения нейросетей как на инженерную задачу— примерно так, как PyTorch когда-то превратил обучение нейросетей в удобный программируемый процесс.

Высокоуровневая архитектура DataFlow. Система включает ядро движка выполнения (хранилище, операторы, шаблоны и обслуживание LLM), переиспользуемые пайплайны, пользовательские слои управления (CLI и агент) и расширяемую экосистему для специализированных по доменам рабочих процессов. DataFlow создаёт высококачественные, согласованные с задачами датасеты, которые используются последующими приложениями LLM.
Высокоуровневая архитектура DataFlow. Система включает ядро движка выполнения (хранилище, операторы, шаблоны и обслуживание LLM), переиспользуемые пайплайны, пользовательские слои управления (CLI и агент) и расширяемую экосистему для специализированных по доменам рабочих процессов. DataFlow создаёт высококачественные, согласованные с задачами датасеты, которые используются последующими приложениями LLM.

Что именно ломается в обычных пайплайнах

Проблема не только в грязных данных. Важнее, что современные пайплайны стали семантически нагруженными: LLM участвует в генерации задач, переформулировках, оценке качества, поиске несоответствий, построении цепочек рассуждений, иногда — в создании целых синтетических корпусов. Это уже не классический ETL, где всё описывается правилами и агрегатами. Здесь нужна итеративность, контроль качества на каждом шаге и возможность быстро собирать новые цепочки обработки данных.

DataFlow как раз пытается закрыть этот разрыв: сделать LLM-driven обработку данных главной частью пайплайна.

Как устроен DataFlow: операторы, ключи и общее хранилище

В центре DataFlow — идея, что любой шаг подготовки данных должен быть оформлен как оператор: небольшой модуль, который читает нужные поля из общего хранилища, делает преобразование и пишет результат обратно. Хранилище при этом выступает как единый источник правды: данные становятся табличными с понятными колонками. За счёт этого шаги легко переставлять, переиспользовать и отлаживать.

Стандартный шаблон выполнения метода run() оператора в DataFlow. Внутри run() оператор взаимодействует с глобальным DataFlowStorage: получает входные данные через storage.read(), применяет логику преобразования и записывает обновлённые поля обратно через storage.write(). Эта парадигма «чтение–преобразование–запись» отражает, как данные переходят от одного оператора к следующему на протяжении всего рабочего процесса.
Стандартный шаблон выполнения метода run() оператора в DataFlow. Внутри run() оператор взаимодействует с глобальным DataFlowStorage: получает входные данные через storage.read(), применяет логику преобразования и записывает обновлённые поля обратно через storage.write(). Эта парадигма «чтение–преобразование–запись» отражает, как данные переходят от одного оператора к следующему на протяжении всего рабочего процесса.

Важная деталь — привязка входов и выходов по ключам. Оператору не нужно «знать», как именно устроен датасет целиком: ему достаточно сказать, какие колонки читать и в какие записывать. Это делает процесс почти механическим: если один шаг записал поле, следующий может его подхватить.

Пример того, как метод run() оператора взаимодействует с данными через привязки по ключам. Этот гибкий механизм привязки по ключам адаптируется к произвольным наборам данных без предварительной обработки.
Пример того, как метод run() оператора взаимодействует с данными через привязки по ключам. Этот гибкий механизм привязки по ключам адаптируется к произвольным наборам данных без предварительной обработки.

Поверх операторов строятся пайплайны с PyTorch-стилем: вы описываете конфигурацию, объявляете шаги и запускаете forward(). Есть компиляция пайплайна — она заранее проверяет зависимости по ключам, помогает поймать ошибки связности и упрощает отладку.

Иллюстрация API пайплайна DataFlow. Пример показывает, как пайплайн объявляет свои бэкенды хранения и обслуживания, создаёт операторы с конфигурациями под конкретные задачи и выполняет их через forward() с привязкой ключей входа/выхода. Интерфейс поддерживает компиляцию и пошаговое возобновление, обеспечивая гибкое и модульное построение рабочих процессов.
Иллюстрация API пайплайна DataFlow. Пример показывает, как пайплайн объявляет свои бэкенды хранения и обслуживания, создаёт операторы с конфигурациями под конкретные задачи и выполняет их через forward() с привязкой ключей входа/выхода. Интерфейс поддерживает компиляцию и пошаговое возобновление, обеспечивая гибкое и модульное построение рабочих процессов.

Сами операторы авторы делят на четыре большие роли: генерация, оценка, фильтрация и улучшение. На практике большинство подходов укладываются в цикл generate → evaluate → filter → refine, иногда с повторениями. Для этого в DataFlow собрана большая библиотека из почти 200 операторов и набор готовых пайплайнов под текст, математику, код, Text-to-SQL, агентный RAG и извлечение знаний.

Эволюция количества примеров на разных этапах операторов в пайпланах DataFlow. Все пайплайны начинают с 1000 входных примеров. Пайплайн Text в основном выполняет фильтрацию данных для предобучения, а пайплайн Code на расширении возможностей по коду на основе имеющихся инструктивных данных; поэтому ни один из этих пайплайнов не содержит генеративных компонентов.
Эволюция количества примеров на разных этапах операторов в пайпланах DataFlow. Все пайплайны начинают с 1000 входных примеров. Пайплайн Text в основном выполняет фильтрацию данных для предобучения, а пайплайн Code на расширении возможностей по коду на основе имеющихся инструктивных данных; поэтому ни один из этих пайплайнов не содержит генеративных компонентов.

Агент, который собирает пайлпайн по описанию

Отдельная часть системы — DataFlow-Agent. Это мультиагентная система, которая принимает запрос на естественном языке и пытается превратить его в исполнимый DAG-пайплайн (Directed Acyclic Graph): подобрать подходящие операторы, проверить совместимость входов/выходов, а если нужного шага нет — сгенерировать новый оператор, протестировать и встроить его в граф.

Архитектура DataFlow-Agent: мультиагентная система на LangGraph, которая преобразует намерение, выраженное на естественном языке, в проверенный исполняемый DAG-пайплайн.
Архитектура DataFlow-Agent: мультиагентная система на LangGraph, которая преобразует намерение, выраженное на естественном языке, в проверенный исполняемый DAG-пайплайн.

Идея звучит амбициозно, но логика понятная: когда библиотека операторов становится большой, следующим узким местом становится навигация и сборка. Поэтому агент берёт на себя роль «инженера по пайплайнам».

Text-to-SQL как фабрика данных

Один из самых наглядных кейсов в статье — Text-to-SQL. Там важно не просто сгенерировать SQL, а добиться исполнимости, соответствия вопросу, разумной сложности и пригодности для обучения. DataFlow делает это цепочкой операторов: генерация SQL, проверка выполнением на базе, генерация вопроса, построение цепочки рассуждений, сборка финального промта и разметка сложности.

Общая схема пайплайнов Text-to-SQL в DataFlow.
Общая схема пайплайнов Text-to-SQL в DataFlow.

Ключевой момент: это не один промт. Это именно процесс с фильтрами, проверками и повторным улучшением — то, что обычно трудно поддерживать в виде разрозненных скриптов.

Меньше данных — больше пользы

Авторы прогоняют DataFlow на шести типовых сценариях и показывают стабильные выигрыши на downstream-метриках. В математических задачах прирост составляет 1–3 пункта на MATH, GSM8K и AIME относительно сильных синтетических бейзлайнов. В коде средний выигрыш превышает 7% на наборе code-бенчмарков. В Text-to-SQL они получают до +3% точности по сравнению с SynSQL, причём достигают этого на заметно меньшем объёме тренировочных примеров. Объединённый датасет DataFlow-Instruct-10K (всего 10 тысяч примеров из разных доменов) позволяет базовым моделям Qwen обгонять аналоги.

Почему это важно, даже если вы не обучаете LLM с нуля

DataFlow в этой работе выглядит как попытка стандартизировать язык, на котором команды описывают подготовку данных для LLM: чтобы пайплайны можно было переносить, сравнивать и развивать, не переписывая всё заново. И, что особенно ценно, чтобы генерация данных с помощью LLM стала управляемой процедурой, а не серией разовых экспериментов.

Конечно, такие системы живут и умирают по своему жизненному циклу: разработчикам важно удобно ли подключать свои источники, насколько прозрачно всё дебажится, сколько стоит прогон в реальных условиях и так далее. Но по заявленным результатам и по тому, как аккуратно авторы собирают абстракции (хранилище, операторы, промт-шаблоны, пайплайны, агент), DataFlow выглядит как серьёзная заявка на «PyTorch для дата инженеров» в эпоху LLM.

📜 Полная статья

💾 Код

***

Если вам интересна тема ИИ, подписывайтесь на мой Telegram-канал — там я регулярно делюсь инсайтами по внедрению ИИ в бизнес, запуску ИИ-стартапов и объясняю, как работают все эти ИИ-чудеса.

Источник

Возможности рынка
Логотип Large Language Model
Large Language Model Курс (LLM)
$0.0003248
$0.0003248$0.0003248
0.00%
USD
График цены Large Language Model (LLM) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Слияние BLIFE и Portal объединяет игровые инновации и инновации Bitcoin

Слияние BLIFE и Portal объединяет игровые инновации и инновации Bitcoin

Статья о слиянии BLIFE и Portal, объединяющем игровые и Bitcoin-инновации, появилась на BitcoinEthereumNews.com. Ключевые моменты: BLIFE объединяется с Portal под единым
Поделиться
BitcoinEthereumNews2025/12/30 05:39
Заголовки «Крупный американский банк рухнул из-за сделок с серебром» скрывают маржинальный шок на 675 $ млн, который сейчас бьёт по трейдерам

Заголовки «Крупный американский банк рухнул из-за сделок с серебром» скрывают маржинальный шок на 675 $ млн, который сейчас бьёт по трейдерам

Эта неделя началась с сенсационного скриншота, распространённого в сотнях захватывающих постов на X, и заявления, призванного задеть все финансовые нервы одновременно
Поделиться
CryptoSlate2025/12/30 05:25
Прогноз цены XRP: XRP готов к восстановлению на фоне сильной поддержки около $1,85 при недельном перепроданном RSI

Прогноз цены XRP: XRP готов к восстановлению на фоне сильной поддержки около $1,85 при недельном перепроданном RSI

XRP демонстрирует признаки стабилизации, находясь вблизи ключевой поддержки, что указывает на потенциальное краткосрочное восстановление на фоне сохраняющегося давления на криптовалютный рынок.
Поделиться
Brave Newcoin2025/12/30 05:00