Salesforce: открытие Эйнштейна

В последнем выступлении Salesforce Einstein Analytics Keynote компания Salesforce продемонстрировала новый поиск очень интересных новых функций, не связанных с искусственным интеллектом. Большинство из этих функций связано с их предложениями Advanced Analytics, такими как Data Manager, Analytics Studio и Einstein Discovery. Самым интересным является обновленный рабочий процесс Открытие Эйнштейна. Вот краткое описание того, как работает этот рабочий процесс: (подробное видео здесь: https://www.youtube.com/watch?v=vE5RLPzbihU

  1. Любыми данными, внутренними или внешними по отношению к Salesforce, можно управлять / планировать / отслеживать / преобразовывать с помощью рабочего процесса «Потоки данных» + «Рецепты данных» в Диспетчере данных в Salesforce. Рецепты данных обрабатывают проверку качества отдельного набора данных, заполняя отсутствующие данные или создавая новые поля, в то время как поток данных обрабатывает несколько различных источников данных и масштабирует преобразования данных.
  2. Обработанные выходные данные из потоков данных и рецептов данных можно использовать для создания визуализаций данных (или линз), информационных панелей (состоящих из линз) и приложений (состоящих из данных, линз, информационных панелей).
  3. В качестве альтернативы, выходные данные из потоков данных и рецептов можно передать через рабочие процессы обнаружения Эйнштейна, где для данных создаются истории. Истории в основном отвечают на следующие вопросы о данных:
  4. Что произошло в данных (описательный анализ)
  5. Что произошло с течением времени (описательный анализ)
  6. Почему это произошло (некоторое моделирование для объяснения взаимосвязи между целевыми переменными и входными переменными)
  7. Что может случиться (некоторые прогнозы на основе предполагаемой модели)
  8. Как улучшить (на основе понимания того, почему, некоторые рекомендации / предложения по оптимизации целевых переменных)

Это очень важно, чтобы все эти анализы были автоматически сгенерированы без какого-либо кода. Это вызвало у меня интерес. Что может происходить на сервере? Оказывается, одна из основных составляющих этого автоматического анализа - это AutoML-библиотека Salesforce с открытым исходным кодом, которая называется «Transmorgrfai».

Зачем нужен Трансморгрифай?

Шубха Набар, старший директор Salesforce Einstein, упомянул следующие проблемы, связанные с существующими рабочими процессами машинного обучения, в обоснование необходимости Transmorgrifai.

  1. Специалисты по обработке данных сосредотачиваются на нескольких хорошо изученных сценариях использования и наборах данных в потребительских приложениях.
  2. Корпоративным приложениям требуются более разнообразные данные и варианты использования, например: отток, прогнозы продаж, беседы с потенциальными клиентами, переходы по ссылкам, покупки в Интернете.
  3. Глобальные модели, применимые в разных сценариях использования / отраслях / наборах данных, не имеют смысла. Требуются модели машинного обучения для конкретных клиентов. Этого можно добиться только с помощью растворов auto ml.
  4. Большинство современных решений auto ml сосредоточены на небольшой части рабочего процесса машинного обучения или применимы только к неструктурированным, однородным данным для изображений, голоса и языка.
  5. Сегодняшнее автоматическое решение не удовлетворяет этому требованию, поскольку сегодняшнее решение не может создавать эффективные модели для разнородных структурированных данных в массовом масштабе.

Рабочие процессы Transmorgrifai

Основные факты о трансморгрифай:

  1. Построен на Scala и SparkML
  2. Он может автоматизировать очистку данных, разработку функций и выбор модели с помощью пяти основных компонентов:
  3. Вывод функции: релевантные данные, а также сглаживание, объединение и агрегирование различных источников данных. Проблемы здесь, в рабочем процессе машинного обучения, заключаются в том, что специалисты по данным могут иметь неверные предположения о типах данных и значениях NULL в данных. Эта библиотека может обслуживать более тонкие типы данных, такие как географическое положение, почтовые индексы и т. Д., И автоматически извлекать необработанные предикторы и ответные сигналы.
  4. Автоматизированная разработка функций (трансморгрификация). Разработка функций определяется как преобразование функций в числовое представление, которое раскрывает закономерности / шаблоны данных, которые упрощают использование алогами машинного обучения. Transmorgrifai преобразует эти функции и оптимизирует преобразования, чтобы облегчить обучение машинному обучению на основе данных.
  5. Автоматическая проверка функций. При разработке функций может появиться большое количество функций, что может привести к утечке данных. (эта утечка данных отличается от общепринятой номенклатуры. Это конкретно относится к эффекту, который ошибочно рассматривается как причина. Подробности здесь: https://machinelearningmaster.com/data-leakage-machine-learning/) Эта библиотека автоматически удаляет функции с практически отсутствует предсказательная сила (функции, использование которых менялось со временем, функции с нулевой дисперсией, функции, распределение которых при обучении значительно отличается от распределения во время прогнозирования.
  6. Автоматический выбор модели. Поиск подходящего алгоритма и настроек параметров требует времени и усилий. Селектор модели transmorgrifai запускает соревнование нескольких алгоритмов машинного обучения на данных и использует среднюю ошибку проверки для автоматического выбора лучшего из них.
  7. Оптимизация гиперпараметров: в основе всех этапов рабочего процесса машинного обучения лежит слой оптимизации гиперпараметров. Например, при проектировании, настройка размера выборки, частоты дискретизации для несбалансированных данных - все это требует настройки.

Варианты дизайна Transmorgrifai:

Apache Spark: этот вариант выбирается для учета больших различий в размере данных. Во-вторых, модели машинного обучения должны обслуживаться как в пакетном, так и в потоковом режиме. Наконец, библиотека с открытым исходным кодом поддерживает постоянное улучшение со стороны сообщества.

Абстракция для функций. В дополнение к преобразователям и оценкам SparkML для преобразования фреймов данных Transmorgrifai вводит такие абстракции, как трансморгрификация, проверка функций, выбор модели и абстракция функций. В Transmorgrifai функция представляет собой типобезопасный указатель на столбец во фрейме данных и содержит всю информацию о столбце (имя, тип, информацию о происхождении о том, как он был получен).

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

Настраиваемость и расширяемость. Все стандартные средства оценки параметризованы и могут быть установлены и настроены непосредственно специалистом по анализу данных.

Масштаб и производительность: рабочие процессы Transmorgrifai решают эту проблему, выводя весь DAG преобразований, необходимых для материализации функций, и оптимизируя выполнение этого тега, свертывая все преобразования.

Другие библиотеки AutoML с открытым исходным кодом

Transmorgrifai - не единственная библиотека AutoML с открытым исходным кодом. Вот список:

  1. Auto-sklearn (python): байесовская оптимизация над фиксированным 3-х шаговым конвейером ml
  2. Auto-Weka (Java): аналогично автосклеарну, но построено на основе Weka.
  3. Tpot (python): генетическое программирование через настраиваемый конвейер машинного обучения.
  4. H2o.ai AutoML (базовая подготовка данных с сочетанием сеточного / случайного поиска)
  5. Devol (python): поиск архитектуры глубокого обучения с помощью генетического программирования
  6. Авто-Керас

Коммерческие инструменты AutoML:

  1. Робот данных: исправлен поиск по конвейерам 1000 ML
  2. H2O.ai ИИ без водителя
  3. Google AutoML
  4. SAS Facotry Miner
  5. IBM SPSS Modeler

Будущее AutoML:

  1. AutoML также будет обрабатывать большую часть процесса очистки данных (неразрезанные данные будут легко преобразованы в табличные данные, готовые для анализа. Записывайте человеческие подходы к очистке данных)
  2. AutoML значительно улучшит глубокое обучение, при котором сетевая структура DNN будет генерироваться автоматически.
  3. AutoML будет масштабироваться до больших наборов данных (сейчас это очень медленно для больших данных)
  4. AutoML станет конкурентоспособным для человека.

Вот оригинальный доклад с конференции Scipy о перспективах автоматического машинного обучения: https://www.youtube.com/watch?v=QrJlj0VCHys