Введение
Современные исследования в области науки о данных всё чаще рассматриваются не только как технические проекты по построению моделей, но и как сложные организационные системы, в которых задействованы многопрофильные команды, сложные вычислительные пайплайны и разнообразная инфраструктура. В таких проектах затрагивается широкий круг участников, зачастую из разных подразделений: менеджеры, владельцы продуктов, бизнес-аналитики, IT-архитекторы, специалисты по инфраструктуре, эксперты в доменной области и другие заинтересованные лица. Многообразие ролей и интересов предъявляет высокие требования к координации, прозрачности и контролю работ на всех этапах исследования. Одним из ключевых факторов успеха таких междисциплинарных проектов является воспроизводимость применяемых методов и полученных результатов [1-3].
Фрагментация инструментов, несогласованность этапов обработки данных, отсутствие стандартов в организации работы, а также неоптимальные коммуникации между управленческими и исполнительными ролями затрудняют управление исследовательской деятельностью [4]. Данные проблемы создают значительные барьеры для управляемости процессов, усложняют принятие решений и затрудняют внедрение результатов исследований в практическое использование, а также сервисную поддержку разработанных решений [5]. Современные проекты в области науки о данных требуют не только высокой точности моделирования, но и прозрачности, воспроизводимости и управляемости процессов проведения исследований в составе команды [6; 7].
Рассмотрение исследовательского проекта как организационно-технической системы, подлежащей управлению с использованием инструментов автоматизации, позволяет повысить надежность, воспроизводимость и устойчивость всего процесса получения знаний из данных [8; 9].
В условиях высокой динамики и сложности проектов с применением машинного обучения необходимость в формализации и стандартизации организационных процессов становится особенно актуальной. В таком случае воспроизводимость выступает не только инженерной, но и управленческой задачей, т.к. обеспечивает:
● прозрачность и возможность многосторонней верификации результатов – любые участники, от команды разработки до руководства организацией, могут проследить ход исследований и подтвердить достоверность выводов;
● управляемость проекта – при наличии четко описанных процедур и регламентов снижаются риски, связанные с нехваткой документированных знаний, что особенно важно при ротациях персонала и изменениях в приоритетах бизнеса;
● эффективное распределение ресурсов – формальные инструменты контроля и отчетности позволяют менеджерам отслеживать динамику исследований и вовремя принимать управленческие решения, например о перераспределении бюджета, назначении новых исполнителей и выделении вычислительных ресурсов.
Целью настоящего исследования является проведение обзора современных практик и инструментов, применяемых для обеспечения воспроизводимости в проектах науки о данных, и их анализ с точки зрения управления жизненным циклом исследовательского проекта в организационных системах.
Материалы и методы исследования
В рамках исследования был проведен систематический обзор более чем 50 публикаций за 2015-2025 годы, направленный на выявление современных организационных практик и инструментов, применяемых для обеспечения воспроизводимости в проектах науки о данных из научных и прикладных публикаций (Scopus, Web of Science, IEEE Xplore, ACM Digital Library, arXiv, PubMed), документации инструментов в науке о данных (DVC, ClearML, Airflow и др.) и открытых репозиториев (GitHub, GitLab). Из них 30 работ легли в основу данного обзора, в рамках которого воспроизводимость трактуется как управляемая характеристика исследовательской деятельности, обеспечиваемая взаимодействием организационных ролей, процессов и программных инструментов. Каждое из решений было сгруппировано по категориям обеспечения воспроизводимости и анализировалось с точки зрения влияния на эффективность организационного управления, включая старт выполнения новых задач, разделение ролей, поддержание стандартов и минимизацию рисков, связанных с человеческим фактором.
Результаты исследования и их обсуждение
В рамках анализа были выделены ключевые управленческие эффекты, отражающие зрелость и полноту поддержки воспроизводимости на уровне организационных решений:
● сокращение затрат ресурсов на типовые операции;
● сокращение затрат ресурсов на коммуникации между сотрудниками и согласование действий команды проекта;
● сокращение рисков из-за человеческого фактора при реализации задач (конфликтов версий, утрат критически важной информации, ручных ошибок).
Также были систематизированы основные категории технических решений, обеспечивающие воспроизводимость методов и результатов, применение которых влияет на перечисленные выше управленческие параметры.
1. Контроль версий и управление изменениями
Контроль версий и управление изменениями в проектах науки о данных выполняют функцию фиксирования состояния системы на каждом этапе жизненного цикла исследования, а также обеспечения возможности отката, сравнения, воспроизведения и анализа истории изменений. В условиях разработки решения несколькими командами и высокой динамики процессов контроль версий может быть рассмотрен как метод управления изменениями в проекте – позволяет сохранять историю развития проекта, обеспечивать прозрачность решений и обоснованность результатов, дает возможность проводить аудит и верификацию исследовательских действий, сокращает издержки на повторную настройку и поиск ошибок, обеспечивает передачу проекта между участниками без потери знаний.
Можно выделить 3 категории решений контроля версий и управления изменениями.
1.1. Контроль версий кода
Контроль версий кода традиционно осуществляется с использованием Git. Git является стандартом в разработке программного обеспечения и обеспечивает отслеживаемость изменений, совместную работу, откат к предыдущим версиям, проведение код-ревью и автоматизацию процессов [10]. На практике применяются различные модели работы с Git – Trunk-Based Development, Git Flow, GitHub Flow и т.д. Существуют также альтернативные инструменты – mercurial, fossil и прочие, которые менее распространены и могут потребовать больше ресурсов на обучение новых сотрудников. Для автоматизации проверки кода перед коммитами существуют инструменты pre-commit, lefthook, позволяющие запускать тесты, линтеры и другие проверки до фиксации изменений в репозитории. Для стандартизации сообщений коммитов и поддержания единого стиля истории изменений, а также упрощения анализа истории проекта могут применяться инструменты Conventional Changelog, такие как commitizen, commitlint.
1.2. Контроль версий данных
Для обеспечения воспроизводимости исследований необходимо в точности фиксировать версию данных, на которых исследование было проведено [11; 12]. Выделяют три уровня версионирования данных.
1. Версионирование файлов – отслеживание изменений файловых представлений наборов данных. Работать с уровнем версионирования данных позволяет, например, DVC (Data Version Control), где метаданные версий хранятся с помощью Git, а сами данные располагаются в объектных хранилищах.
2. Версионирование на уровне хранилищ – систематизированный контроль версий объектов в системах хранения, включая управление состоянием. Широко распространённым инструментом здесь является LakeFS, который представляет собой систему контроля версий, располагающуюся поверх S3-совместимых хранилищ, и использует Git-терминологию для управления данными: ветки, коммиты, слияния.
3. Версионирование на уровне таблиц и транзакций – версионирование на уровне логических представлений, включая поддержку ACID-транзакций и временных запросов. Одним из наиболее используемых инструментов для поддержки такого версионирования является инструмент Delta Lake, который оптимизирован под эффективное хранение и управление табличными данными [13].
Выбор решения напрямую зависит от специфики данных, используемых в проекте, наличия внешних интеграций с инструментами обработки и требований к транзакционности. Данные решения позволяют обеспечить воспроизводимость исследований, исходя из конкретных версий входных наборов данных [14].
1.3. Контроль версий отчетов об исследованиях
Исследовательские документы, как правило, содержат не только текст, но и исполняемый код, визуализации экспериментов, результаты работы моделей и метаинформацию. Для создания и распространения отчетов применяются различные инструменты: генераторы отчётов (Jupyter Notebooks, Quarto и Marimo) и системы управления отчетами для структурирования и хранения результатов (ClearML Reports, MLflow Tracking, Weights & Biases Reports). Данные инструменты отличаются степенью интеграции с вычислительной средой, поддержкой воспроизводимости и масштабируемости [15].
Применение инструментов версионирования кода, данных и отчетов позволяет сократить трудозатраты на коммуникации между сотрудниками при постановке новых исследовательских задач на выбранных данных, воспроизведении результатов выполненных работ, а также минимизировать риски утраты артефактов.
2. Управление зависимостями и средами исполнения
Внешними зависимостями являются библиотеки и пакеты, используемые в проекте, а также вся сопутствующая инфраструктура, включая системные библиотеки, драйверы, компиляторы и аппаратно зависимые компоненты. Ниже рассмотрены основные подходы, направленные на решение задачи управления зависимостями и средами исполнения.
2.1. Управление Python-зависимостями
Для управления зависимостями в Python-проектах используются менеджеры пакетов:
● Pip + requirements.txt – инструмент, в котором указываются фиксированные версии Python-зависимостей. Однако Pip выполняет функции только установки пакетов без менеджмента зависимостей, что не дает отслеживать вложенные зависимости и не может гарантировать однозначного восстановления окружения.
● Poetry, PDM – современные менеджеры пакетов, которые добавляют зависимости в pyproject-файл и однозначно фиксируют версии всех пакетов в lock-файле, что позволяет прозрачно и безопасно управлять изменениями.
● Conda, Mamba – менеджеры пакетов и окружений, которые позволяют управлять не только Python-зависимостями, но и научными и системными пакетами.
● Pixi – современный инструмент управления зависимостями, который обладает функциональностью управления виртуальными окружениями, управления Python-пакетами и научными пакетами, воспроизведения зависимостей при помощи lock файла, сборки и публикации Python и научных пакетов, использования единого файла метаданных pyproject, автоматизации выполнения команд.
2.2. Управление системными зависимостями
При реализации проектов в области науки о данных часто возникает необходимость обеспечения совместимости версий системных компонентов, таких как драйверы, компиляторы и различные библиотеки, которые находятся вне управления менеджерами Python. Особенно это актуально для фреймворков глубокого обучения (например, TensorFlow и PyTorch), где критически важно строго зафиксировать версии компонентов CUDA и cuDNN для обеспечения корректного функционирования приложений. В таких случаях применение системных менеджеров пакетов (например, apt для систем на базе Debian/Ubuntu) является необходимым для корректного управления внешними зависимостями.
2.3. Управление средой исполнения
Использование технологий контейнеризации (Docker, Podman, Dev Containers в VS Code) позволяет создавать изолированные и воспроизводимые окружения, в которых могут фиксироваться как версии Python-пакетов, так и системных компонентов. Такой комплексный подход способствует снижению вероятности конфликтов версий и обеспечивает стабильность работы программного обеспечения [16; 17].
Для хранения моделей, данных и других артефактов используются как специализированные хранилища (GitLab Registry, Nexus), так и объектные хранилища (S3). Такие системы обеспечивают доступ к артефактам и их интеграцию с CI/CD пайплайнами.
Важной практикой является использование Feature Store – централизованных систем хранения признаков, которые используются повторно в различных моделях, что обеспечивает согласованность признаков на всех этапах жизненного цикла модели [18].
Стандартизация файловой структуры хранения данных и артефактов может достигаться через шаблонные репозитории (Cookiecutter, Copier). Данные инструменты задают общую структуру проекта, включая папки для сырого и обработанного набора данных, моделей, конфигураций и логов экспериментов. Единообразие рабочих окружений обеспечивает согласованность операций чтения и записи в различных средах.
Применение инструментов управления зависимостями и средами исполнения в процессе разработки и эксплуатации решений позволяет уменьшить затраты на коммуникации между сотрудниками при постановке задач и воспроизведении результатов выполненных работ (ревью результатов). Таким образом можно обеспечить стабильность и воспроизводимость вычислительных окружений, снизить риски несовместимости при передаче проекта между участниками. Внедрение таких инструментов позволяет централизованно управлять ресурсами и средами, поддерживая согласованность результатов на протяжении всего жизненного цикла проекта.
3. Оркестрация и автоматизация исследовательских процессов
Автоматизация процессов в исследовательских проектах позволяет стандартизировать и формализовать этапы обработки данных, гарантируя повторяемость результатов при повторном запуске [19; 20]. Основной механизм – построение детерминированных пайплайнов обработки данных с использованием workflow-менеджеров [21].
Среди общих принципов автоматизации можно выделить:
● явное описание зависимостей между этапами обработки и анализа – каждый шаг представляется как независимая единица работы с чётко определёнными входами, выходами и средой;
● поддержку повторного использования и кеширования, если входные данные и конфигурации не изменились;
● отделение логики обработки от окружения исполнения – пайплайн должен быть независим от локальной конфигурации машины;
● интеграцию с системами логирования и мониторинга для отслеживания состояния выполнения шагов и фиксации ошибок.
Для реализации автоматизации существует широкий спектр инструментов:
● пайплайны обработки данных могут быть описаны с помощью DSL-языков или YAML/JSON-конфигураций, что упрощает их чтение и поддержку. Примеры: Snakemake, CWL, Nextflow;
● оркестраторы задач и DAG-системы, такие как Apache Airflow или Luigi, предоставляют расширенные возможности для построения сложных графов зависимостей с возможностью планирования задач, мониторинга и масштабирования;
● системы автоматизации общего назначения (например, GNU Make, CMake, Just) позволяют автоматизировать не только компиляцию программного обеспечения, но и шаги предобработки данных или запуска экспериментов.
Современные системы централизованного управления конфигурациями, такие как Hydra, OmegaConf и Pydantic, позволяют динамически компонировать и валидировать настройки экспериментов. Они дают возможность объединять настройки из различных источников, валидировать и типизировать параметры, а также переопределять параметры без изменения базовых конфигурационных файлов.
Для организации тестирования в изолированных окружениях может использоваться инструмент Tox, который помогает обеспечить стабильность и воспроизводимость экспериментов за счет тестирования в разных виртуальных окружениях.
Применение данных решений позволяет выстраивать четкую ролевую систему с разграничением зон ответственности между исполнителями (исследовательские пайплайны, продукционные пайплайны для промышленной эксплуатации), строить воспроизводимые и масштабируемые конвейеры обработки данных, снимая нагрузку с исполнителей и снижая вероятность ошибок, связанных с ручными действиями [22; 23].
4. Стандартизация хранения данных
Одним из ключевых аспектов обеспечения воспроизводимости исследований является стандартизация хранения данных. В условиях многоэтапных вычислительных пайплайнов и командной разработки становится критически важным единообразие в обращении с промежуточными и итоговыми наборами данных.
Установление основного формата хранения данных позволяет упорядочить пайплайны и упростить обмен результатами исследований (например, Parquet, Arrow, CSV). В случае работы со структурированными данными оптимально использование реляционных СУБД для обеспечения единого формата хранения и доступа к данным. При работе с неструктурированными данными возможно использование объектных хранилищ.
Ключевым элементом воспроизводимости является обеспечение возможности установить связь между данными и порождающим их этапом вычислений [24]. Для этого применяются подходы по описанию и версионированию артефактов, включая хранение всех промежуточных результатов и их привязку к этапам исследований; в частности, используются системы каталогизации, такие как DataHub, Amundsen и др., обеспечивающие формирование единой карты зависимости между данными и пайплайнами, которые их порождают [25].
Применение инструментов стандартизации хранения данных позволяет сократить коммуникации, т.к. исследователи работают с данными в одном формате и знают, где и как искать нужные данные, как осуществлять их преобразование, где искать существующие наработки для их переиспользования, а также минимизировать риски, связанные с утерей промежуточных артефактов для получения итоговых моделей и аналитических выводов.
5. Документирование и прозрачность
Документирование процесса и результатов исследований – необходимое условие для обеспечения внутренней прозрачности в команде и внешней воспроизводимости результатов [26; 27]. Современные инструменты позволяют формализовать отчёты, связывая текст с исполняемым кодом и визуализациями. Существуют два распространенных подхода – использование статических отчетных систем (например, Quarto, Sphinx, MkDocs) и динамических платформ (например, ClearML, MLflow). Первый подход ориентирован на генерацию научных отчетов и статической документации с воспроизводимыми блоками кода. Второй обеспечивает онлайн-отслеживание экспериментов, автоматическую фиксацию метрик, артефактов и визуализаций.
Обеспечение прозрачности требует доступности результатов для заинтересованных лиц и достигается путем интеграции отчетов, артефактов и данных в корпоративную инфраструктуру: Confluence, wiki-системы, BI-системы и серверы с отчетами. Наличие централизованного ресурса позволяет отслеживать ход исследований и проводить аудит.
Высокое качество кода критично для интерпретируемости и надёжности. Инструменты проверки качества: статическая проверка типов (mypy, pyright), линтеры (Flake8, pylint, ruff), форматтеры (black, isort, ruff) и системы централизованных конфигураций (nitpick), обеспечивают соответствие стилевым и техническим стандартам в проекте.
Унификация проектной структуры через шаблонные репозитории обеспечивает единый подход к ведению документации, кодовому стилю, структуре отчетности и организации вычислений. Это снижает когнитивную нагрузку при переходе между проектами и способствует формированию устойчивой инженерной культуры в командах.
Решения для документирования повышают прозрачность процессов и упрощают аудит как внутри команды, так и для внешних заинтересованных сторон (например, руководства или контролирующих органов), что уменьшает длительность взаимодействия между сотрудниками, например при рецензировании и воспроизведении результатов.
Перечисленные категории инструментов автоматизации обеспечивают реализацию основных управленческих функций: планирования, контроля, документирования и коммуникации. При этом управление инструментами автоматизации становится частью системы управления исследовательской инфраструктурой, поэтому важно рассматривать их не как отдельные изолированные решения, а как компоненты единой организационной системы управления проектами, что обусловливает необходимость их интеграции на организационном уровне. Формализация процессов посредством использования пайплайнов, конфигурационных файлов и шаблонных репозиториев обеспечивает возможность совместной и параллельной работы сотрудников с различными компетенциями, предоставляя доступ к общим стандартам и унифицированным методикам проверки результатов. Это также позволяет на организационном уровне формально определить роли и зоны ответственности между специалистами, такими как инженеры данных, исследователи данных, ML-инженеры и аналитики данных.
Формальная фиксация результатов исследований предоставляет руководству объективную информацию о прогрессе и качестве выполняемых задач. Такие данные являются основой для принятия решений по приоритизации проектов, перераспределению ресурсов и дополнительному финансированию перспективных направлений. Кроме того, ретроспективные отчёты, фиксирующие всю историю исследований, упрощают стратегическое планирование, позволяя менеджменту анализировать динамику развития и точнее прогнозировать сроки достижения целевых показателей. В результате повышается обоснованность управленческих решений и доверие к итоговым результатам проектов.
Интеграция инструментов контроля версий и оркестрации в корпоративные информационные системы обеспечивает прослеживаемость (traceability) ключевых артефактов исследований, что приносит следующие преимущества [28]:
● возможность демонстрации аудиторским органам или партнёрам исходных данных и параметров, использованных для получения итоговых метрик;
● снижение рисков, связанных с концентрацией критически важной информации у отдельных сотрудников, благодаря формализации и документированию процессов, что позволяет воспроизводить исследования любому члену команды или внешнему подрядчику;
● уменьшение влияния человеческого фактора и вероятности ошибок, связанных с ручными операциями, благодаря автоматизации пайплайнов, использованию CI/CD-практик для ML, автоматическим тестированиям и валидациям;
● повышение прозрачности процессов, способствующее взвешенному управлению рисками и сроками реализации проектов, а также оперативному вмешательству при задержках выполнения отдельных этапов.
Однако ключевым ограничением внедрения инструментов воспроизводимости является необходимость организационных изменений и поддержания новой культуры прозрачности [29; 30]. Внедрение дополнительных процедур документирования и контроля качества может восприниматься сотрудниками как усложнение рабочих процессов. Эффективность автоматизации зависит от уровня зрелости инфраструктуры и компетенций команды, и при недостаточной поддержке руководства даже современные технические решения могут оказаться неэффективными. Дополнительным барьером является необходимость обучения сотрудников работе с новыми инструментами. При большом количестве сотрудников или частых ротациях персонала передача знаний осложняется, что может приводить к временному снижению производительности до тех пор, пока культура воспроизводимости не станет стандартной практикой.
Перспективным направлением развития организационных практик является интеграция показателей воспроизводимости в систему ключевых показателей эффективности (KPI) исследовательских коллективов и организаций. Например, целесообразно учитывать время развертывания окружения для новых сотрудников, долю полноценно документированных исследований и частоту успешного воспроизведения пайплайнов. Разработка формальных стандартов по аналогии с ISO/IEC для проектов в области анализа данных способствовала бы упрощению процедур аудита и сертификации решений, а также повышению доверия к результатам со стороны заказчиков. Такие стандарты должны включать требования к хранению метаданных, процедурам валидации и документирования, методикам управления качеством данных, а также определению организационных ролей.
Заключение
Проведенный анализ современных практик и инструментов, применяемых для обеспечения воспроизводимости в проектах, связанных с наукой о данных, демонстрирует, что достижение прозрачности, управляемости и эффективности исследовательской деятельности требует интеграции широкого спектра специализированных решений. В связи с этим критически важно не только знание актуальных технологий, но и способность к их обоснованному выбору и координированному применению в рамках единой исследовательской инфраструктуры.
Современные организационно-технические решения позволяют стандартизировать и автоматизировать ключевые аспекты исследовательской работы: обработку данных, управление зависимостями и версиями артефактов, оркестрацию вычислений и документирование процессов. Их применение снижает влияние человеческого фактора, усиливает командную координацию и повышает устойчивость проектов к изменениям в составе участников и конфигурации инфраструктуры и позволяет снизить трудозатраты на выполнение типовых работ и коммуникации.
Эффективность внедрения таких решений во многом определяется готовностью организаций к институциональным изменениям. Необходимы формализация процессов, развитие культуры прозрачности и повышение зрелости инфраструктуры. Основные барьеры носят организационный характер: нехватка компетенций, сопротивление изменениям и отсутствие системной поддержки со стороны управленческих структур.
Возможными направлениями развития являются интеграция существующих инструментов воспроизводимости в единую систему, включающую ключевые показатели эффективности исследовательских коллективов, разработка формальных отраслевых стандартов и методик сертификации проектов науки о данных, а также новых информационных технологий для решения задач управления.
Библиографическая ссылка
Горбунов В.И., Салимов Т.А., Горбань Е.В. ИНСТРУМЕНТЫ АВТОМАТИЗАЦИИ ДЛЯ ОБЕСПЕЧЕНИЯ ВОСПРОИЗВОДИМОСТИ ИССЛЕДОВАНИЙ В НАУКЕ О ДАННЫХ // Современные наукоемкие технологии. 2025. № 5. С. 119-126;URL: https://top-technologies.ru/ru/article/view?id=40399 (дата обращения: 12.06.2025).
DOI: https://doi.org/10.17513/snt.40399