Оркестрирование эксперимента с нуля

Шедевральное оркестрирование эксперимента с нуля

Разработка настраиваемого оркестратора экспериментов для решения сложных проблем моделирования.

Оркестрация Даниэлом Уорфилдом с использованием p5.js. Все изображения созданы автором, если не указано иное.

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

Кому это будет полезно? Всем, кто пытается подгонять модели к данным и, следовательно, нуждается в способе организации этих экспериментов.

На сколько сложная эта статья? Идея оркестрации довольно проста и доступна практически на любом уровне навыка. Пример должен быть понятен разработчикам бэкенда или ученым-исследователям, желающим расширить свои навыки.

Предварительные требования: Существующее понимание основных принципов сетевых структур, таких как базы данных и серверы, а также основных концепций науки о данных, таких как гиперпараметры.

Код: Полный код можно найтиздесь. Примечание: этот репозиторий является проектом в разработке на момент написания статьи.

Что такое оркестрация экспериментов?

Под “оркестрацией экспериментов” я подразумеваю широкий набор задач, основанных на одной и той же общей концепции. Самая распространенная форма оркестрации экспериментов – это сканирование гиперпараметров: при заданном наборе значений гиперпараметров вы хотите просканировать этот диапазон и найти лучший набор гиперпараметров для данной модельной задачи. Организация подобных планируемых экспериментов обычно называется оркестрацией.

Пример сканирования гиперпараметров. Определен диапазон гиперпараметров. Затем, из данного диапазона, извлекаются конкретные гиперпараметры и проверяются некоторым образом. Затем можно определить лучшую комбинацию гиперпараметров.

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

Например, в настоящее время я провожу исследования по производительности различных стратегий моделирования в неоднородных приложениях моделирования. Меня не интересует “какой набор гиперпараметров является лучшим для решения конкретной проблемы”, а скорее “как различные типы моделей, каждая со своим набором гиперпараметров…