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

Недавно я начал новый информационный бюллетень, посвященный образованию в области искусственного интеллекта. TheSequence - это информационный бюллетень, ориентированный на искусственный интеллект (то есть без рекламы, без новостей и т. Д.), На чтение которого уходит 5 минут. Цель состоит в том, чтобы держать вас в курсе проектов, исследовательских работ и концепций машинного обучения. Пожалуйста, попробуйте, подписавшись ниже:



Когда дело доходит до машинного обучения, данные - это определенно новая нефть. Процессы управления жизненным циклом наборов данных - одни из самых сложных элементов крупномасштабных решений машинного обучения. Прием данных, индексирование, поиск, аннотации, обнаружение - вот некоторые из аспектов, необходимых для поддержания высококачественных наборов данных. Сложность этих задач линейно возрастает с увеличением размера и количества целевых наборов данных. Хотя управлять наборами обучающих данных для одной модели машинного обучения относительно легко, масштабирование этого процесса на тысячи наборов данных и сотни моделей может стать не чем иным, как кошмаром. Некоторые компании, находящиеся на переднем крае инноваций в области машинного обучения, такие как LinkedIn, Uber, Netflix, Airbnb или Lyft, безусловно, испытали на себе масштабы этой проблемы и создали специальные решения для ее решения. Сегодня я хотел бы познакомить вас с некоторыми из тех решений, которые могут послужить источником вдохновения в вашем путешествии по машинному обучению.

Для качественного машинного обучения требуются высококачественные наборы данных, а их не так-то просто создать. По мере развития машинного обучения потребность в инструментах и ​​платформах, автоматизирующих управление жизненным циклом наборов данных для обучения и тестирования, становится все более важной. Как это ни парадоксально, но фреймворки машинного обучения развивались на несколько порядков быстрее, чем соответствующий набор инструментов для управления данными. Хотя сегодня у нас есть десятки высококачественных фреймворков разработки, которые включают в себя последние исследования в дисциплинах глубокого обучения, платформы для управления жизненным циклом наборов данных, поддерживающих модели машинного обучения, все еще находятся в зачаточном состоянии. Чтобы решить эту проблему, быстрорастущие технологические компании, такие как Uber или LinkedIn, были вынуждены создавать собственные внутренние решения по управлению жизненным циклом данных для поддержки различных групп моделей машинного обучения. Давайте посмотрим, как они это сделали.

Центр данных LinkedIn

Data Hub - недавнее дополнение к стеку аналитики данных LinkedIn. Основное внимание в Data Hub в LinkedIn уделяется автоматизации сбора, поиска и обнаружения метаданных, связанных с наборами данных, а также с другими объектами, такими как модели машинного обучения, микросервисы, люди, группы и т. Д. В частности, Data Hub был разработан для достижения четырех конкретных целей. :

  1. Моделирование. Смоделируйте все типы метаданных и отношений в удобной для разработчиков манере.
  2. Прием. Принятие большого количества изменений метаданных в любом масштабе как через API, так и через потоки.
  3. Обслуживание: обслуживайте собранные необработанные и производные метаданные, а также различные сложные запросы к метаданным в любом масштабе.
  4. Индексирование: индексируйте метаданные в масштабе, а также автоматически обновляйте индексы при изменении метаданных.

Чтобы реализовать вышеупомянутые возможности, Data Hub представляет собой стек новейших технологий, который включает несколько фреймворков, разработанных внутри LinkedIn. Например, все конструкции метаданных, хранящиеся в Data Hub, моделируются с использованием языка схем данных Pegasus, который был инкубирован LinkedIn много лет назад. Точно так же API-интерфейсы Data Hub основаны на архитектуре LinkedIn Rest.li для высокомасштабируемых RESTful-сервисов. Технологии хранения данных LinkedIn, такие как Expresso или Galene, также используются для хранения представлений метаданных способами, которые могут обеспечить различные варианты использования, такие как поиск или сложная навигация по взаимосвязям. Чтобы абстрагироваться от этих различных типов хранилищ, Data Hub использует набор общих Объектов доступа к данным (DAO), таких как DAO типа "ключ-значение", запрос DAO и поиск DAO. Это позволяет использовать Data Hub с различными базовыми технологиями хранения.

Надежная внутренняя архитектура центра данных LinkedIn дополняется простым пользовательским интерфейсом, который позволяет выполнять поиск и обнаружение элементов метаданных.

Датабук Uber

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

  • Расширяемость: легко добавлять новые метаданные, хранилище и объекты.
  • Специальные возможности. Службы могут получить программный доступ ко всем метаданным.
  • Масштабируемость: поддержка высокопроизводительного чтения.
  • Мощность: чтение и запись между центрами обработки данных.

Текущая архитектура Databook может обрабатывать метаданные из разнообразной группы систем хранения данных, включая Vertica, PostgreSQL, MySQL и другие. В конечном итоге метаданные индексируются в репозитории на основе ElasticSearch и отображаются с помощью API-интерфейсов RESTful на базе Dropwizard, платформы Java для высокопроизводительных веб-сервисов RESTful.

Databook позволяет пользователям искать и просматривать метаданные, связанные с конкретным активом, используя простой веб-интерфейс на основе React, Redux и D3.js.

Портал данных Airbnb

Как и многие другие быстрорастущие технологические компании, Airbnb также столкнулась с проблемами включения уровня управления жизненным циклом и обнаружения для этих активов данных. Dataportal был решением этих требований. Dataportal собирает информацию метаданных о различных активах данных в виде связного графа. Узлы на графике - это различные ресурсы: таблицы данных, информационные панели, отчеты, пользователи, команды, бизнес-результаты и т. Д. Их взаимосвязь отражает их отношения: потребление, производство, ассоциация и т. Д.

Стек технологий Dataportal основан на Neo4J и ElasticSearch в качестве основных компонентов хранения данных. API на платформе работают на фреймворке Flask, а пользовательский интерфейс основан на React и Redux.

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

Амундсен из Lyft

Amundsen - это платформа Lyft для приема, поиска и обнаружения метаданных. Платформа, названная в честь норвежского исследователя Рональда Амундсена, изначально была задумана для повышения продуктивности работы аналитиков данных, специалистов по обработке данных и инженеров при взаимодействии с данными. С точки зрения архитектуры Амундсен обеспечивает уровень сбора данных, который интегрируется с рядом баз данных, а также с микросервисами для управления метаданными и поиска.

Микросервисы Амундсена абстрагируют основные функции платформы. Текущая версия Амундсена включает следующие микросервисы:

  • Amundsenfrontendlibrary: служба внешнего интерфейса, представляющая собой приложение Flask с интерфейсом React.
  • Amundsensearchlibrary: служба поиска, которая использует Elasticsearch для поиска, используется для поиска метаданных во внешнем интерфейсе.
  • Amundsenmetadatalibrary: служба метаданных, которая использует Neo4j или Apache Atlas в качестве постоянного уровня для предоставления различных метаданных.
  • Amundsendatabuilder: библиотека приема данных для построения графа метаданных и поискового индекса. Пользователи могли загружать данные с помощью скрипта Python с библиотекой или с помощью Airflow DAG, импортирующего библиотеку.

Амундсен сочетает свою внутреннюю архитектуру с простым пользовательским интерфейсом, который позволяет искать и исследовать наборы данных.

Netflix Metacat

Netflix вносит активный вклад в развитие технологий с открытым исходным кодом в области больших данных, и обнаружение данных и управление ими не исключение. Metacat - это решение Netflix для автоматизации жизненного цикла активов метаданных. Функционально Metacat - это федеративная служба, предоставляющая единый интерфейс REST / Thrift для доступа к метаданным различных хранилищ данных. На высоком уровне Metacat предоставляет следующие возможности:

  • Абстракция данных и взаимодействие
  • Хранилище бизнес-метаданных и пользовательских метаданных
  • Обнаружение данных
  • Аудит изменения данных и уведомления
  • Оптимизация хранилища метаданных Hive

Архитектура Metacat сочетает в себе уровень связи, который интегрируется с различными хранилищами данных, уровень хранения, который захватывает метаданные, относящиеся к активам данных, и уровень API, который позволяет выполнять поиск и запросы элементов метаданных.

В отличие от других решений в этой области, Metacat в основном фокусируется на внутренней инфраструктуре, необходимой для поиска и обнаружения метаданных. Простота API облегчает реализацию различных внешних интерфейсов каталога данных в зависимости от конкретных требований.

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