Интерпретация разработчиков: почему муравьи используют новую вычислительную модель Fusion Computing?

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

За последние два года отечественные ведущие интернет-производители запустили собственные системы технологий онлайн-обучения и связанные с ними структуры. С июля 2018 года Ant Financial разработала систему онлайн-обучения финансового уровня на основе новейшего распределенного движка Ray, которая отличается от традиционной системы онлайн-обучения сквозной задержкой, стабильностью и эффективностью НИОКР. степень улучшения.


Ray — это высокопроизводительный движок распределенных вычислений, открытый исходным кодом AMPLab в Университете Беркли в декабре 2017 г. Он был запущен менее двух лет назад и до сих пор является полным «новорожденным» в области вычислительных фреймворков. с различными приложениями, и Ant Financial может стать первой компанией в Китае, которая «ест крабов». Почему Ant Financial отдает предпочтение Рэю? Какие уникальные преимущества он имеет по сравнению со Spark и Flink, популярными вычислительными системами с открытым исходным кодом? С какими проблемами вы можете столкнуться при использовании Ray? Чему мы можем научиться из опыта Ant Financial по преодолению ям? Имея в виду эти вопросы, InfoQ взяла интервью у Чжоу Цзяина (Ту Ли), старшего технического эксперта Ant Financial, на недавно прошедшей конференции QCon Shanghai 2019. Ниже приводится стенограмма интервью.


InfoQ: Не могли бы вы дать обзор эволюции архитектуры технологии больших данных Ant Financial, включая этапы, через которые она прошла, и ключевую работу, которую вы проделали на каждом этапе.

Чжоу Цзяин:Архитектура технологии больших данных Ant Financial также развивалась на ранней стадии офлайн-вычислений, вероятно, с 2011 по 2013 год, когда в ней все еще доминировали традиционные отраслевые офлайн-вычисления, то есть Hadoop. После 2013 года, с запуском распределенной вычислительной системы реального времени Storm, мы начали постепенно переводить наш бизнес на вычисления в реальном времени. С 2016 года команда претерпела относительно большие преобразования, надеясь создать техническую систему для следующего поколения вычислений больших данных. Вначале мы пытались отделить вычислительный движок, чтобы бизнес можно было напрямую связать с вычислительной платформой или системой среднего уровня, а не с конкретным движком. На этом этапе мы столкнулись с такими понятиями, как промежуточный этап функции, промежуточный этап события или промежуточный этап принятия решения.

С тех пор механизм больших данных и вся система больших данных развивались очень быстро. Мы не хотим продолжать следовать тренду и строить экосистему вокруг одного-двух движков или одной-двух более популярных вычислительных моделей.Мы считаем, что должен существовать набор стабильных идей проектирования архитектуры вычислений для больших данных, которые могут охватывать все данные. проблемы уровня. Мы надеемся постепенно разработать собственную техническую систему, которая сможет быть совместима со всеми активными вычислительными машинами в отрасли и поддерживать их одновременно, поэтому с 2017 года мы предложили концепцию «открытой архитектуры». вычислительная архитектура.

Прежде всего, это общая архитектура, предназначенная для решения задач обработки больших данных.Эта архитектура будет включать в себя различные вычислительные механизмы, но эти механизмы существуют в виде подключаемых модулей, что означает, что при изменении механизма бизнес верхнего уровня незаметный. Основываясь на этой архитектуре, мы провели большую самостоятельную исследовательскую работу по некоторым ключевым возможностям, таким как вычислительный движок слияния, над которым мы сейчас работаем. Традиционный режим вычислений и вычислительный движок связаны.От Flink до Spark один является потоком, а другой - пакетом.Хотя они могут быть преобразованы друг в друга, многие функции не так гладки во время преобразования.Когда некоторые преимущества исчезают потерял. Кроме того, графоподобный режим вычислений фактически не может быть включен в какой-либо вычислительный механизм, потому что эти вычислительные механизмы уже разработаны с привязкой к шаблону. Мы выдвинули концепцию смешанных вычислений, надеясь использовать Ray, распределенную вычислительную среду, для одновременной поддержки нескольких режимов вычислений и целостной интеграции каждого режима вычислений. Это относится к объединению различных режимов вычислений в замкнутом цикле на этапах исследований и разработок, аварийного восстановления и эксплуатации с помощью различных методов интеграции для достижения оптимальной производительности и эффективности. Кроме того, у нас также есть много инвестиций в графические вычисления, искусственный интеллект и сочетание программного и аппаратного обеспечения. Это процесс разработки всех вычислений больших данных Ant Financial.


InfoQ: В ходе всего процесса Ant Financial извлекала уроки из опыта других иностранных компаний?

Чжоу Цзяин:Конечно, мы не делаем так называемые инновации из воздуха или вслепую, а первыми увидим самые передовые технологии и опыт в отрасли. Мы будем сравнивать с некоторыми крупными интернет-компаниями в отрасли, такими как Google, Facebook, Amazon и т. д.; в то же время мы будем сравнивать продукты или концепции некоторых более ориентированных на исследования компаний, таких как Microsoft, IBM и т. д., кроме того, мы также объединим свои особенности бизнеса и ямы, на которые наступали ранее, рассматриваются комплексно. То есть сначала посмотрите на самые передовые технологии отрасли с точки зрения инженерии и исследований, а затем посмотрите на ямы, на которые вы ступали ранее, а также на проблемы, с которыми вы сталкивались, в сочетании с вашими собственными бизнес-сценариями и масштабом. , чтобы определить то, что мы только что сказали. Рабочие приоритеты и планы на будущее.


InfoQ: Фаза данных в режиме реального времени и фаза онлайн-данных упоминались ранее. Каковы основные различия между ними?

Чжоу Цзяин:Этап данных в реальном времени развивается из этапа автономных данных, и, хотя он работает быстрее, чем раньше, проблемы, с которыми он сталкивается, также интуитивно понятны. Например, расчет данных изменяется с T+1 на T+ минут или T+ секунд, то есть из автономного режима в режим реального времени, но можно переключать секунды или минуты с большим интервалом, что не влияет на онлайн-сцену. Какое большое влияние. Если это задача мониторинга или задача синхронизации, ее своевременность может свободно переключаться между уровнями реального времени и офлайн. Однако онлайн-вычисления должны соответствовать онлайн-бизнесу.Например, наш бизнес опирается на базу данных для расчетов, и только после того, как база данных вернет результат, мы можем продолжить поддержку следующего бизнеса. Мы считаем, что онлайн-обработка данных — это скорее сценарий обработки больших данных, который поддерживает онлайн-бизнес, принимающий решения, а не простой переход от автономного режима к реальному времени.


InfoQ: Итак, каковы проблемы технической архитектуры на этапе онлайн-данных?

Чжоу Цзяин:Есть много проблем. Во-первых, онлайн-вычисления означают совершенно другую модель вычислений. Например, с точки зрения подготовки вычислительных данных, это модель потоковых вычислений, но если вы хотите выяснить это и полагаться на онлайн-сервисы, на самом деле существует, например, концепция распределенных сервисов. То, как сделать данные, полученные запросом, более быстрыми и точными, также зависит от соответствия между записанными данными и результатом вычисления и окончательным результатом данных запроса. Это другая вычислительная модель, которая будет более разнообразной. В то же время есть и очень ключевой момент, то есть то, что мы привыкли называть офлайн-вычислениями или вычислениями в реальном времени, на самом деле отделено от онлайн-приложений, например, SLA онлайн-приложений и развертывание физических компьютерных залов. являются отдельным набором, в то время как большие данные Развертывание компьютерного зала - это другой набор.Две стороны относительно развязаны, поэтому мы обычно говорим, что когда возникает проблема с хранилищем данных или расчетом данных, это не повлияет на онлайн-бизнес. . Однако после появления концепции онлайн-вычислений это означает, что наши вычисления данных должны быть объединены со службами данных, поэтому вся архитектура развертывания, система аварийного восстановления и стандарты SLA должны быть полностью изменены и улучшены.


InfoQ: По сравнению с традиционной системой онлайн-обучения, в каких аспектах система онлайн-обучения Ant Financial была оптимизирована?

Чжоу Цзяин:Традиционное машинное обучение - это автономное машинное обучение, которое характеризуется очень длительным периодом итерации, а расчет данных выполняется на уровне дней или часов.Традиционное онлайн-обучение в основном относится к превращению пакетных вычислений в потоковые вычисления и преобразованию потоковых вычислений. и механизм обучения машинного обучения соединяются вместе, а затем обе стороны выполняют быстрые итерации для создания модели данных. Система онлайн-обучения Ant основана на отраслевых стандартах и ​​объединяет различные режимы вычислений из разных движков в набор интегрированной архитектуры, то есть использует один движок для поддержки разных режимов вычислений. Мы считаем, что потоковые вычисления — это режим вычислений, обучение модели — это режим, а распределенное обслуживание — это режим Мы объединили эти три режима в наборе вычислительных механизмов, и этот вычислительный механизм — Рэй. Подводя итог, мы используем один вычислительный движок для охвата всех звеньев онлайн-обучения, в то время как традиционная инфраструктура онлайн-обучения может использовать разные движки для решения разных задач соответственно и выполнять работу по сращиванию, что является самой большой разницей.


InfoQ: Почему Ant Financial решила разработать систему онлайн-обучения на основе Ray? Какие технические исследования вы проводили на ранней стадии? Каковы преимущества и недостатки Ray по сравнению с другими распределенными движками?

Чжоу Цзяин:Причина, по которой мы выбираем Ray, заключается в том, что, помимо него, большинство других вычислительных движков были привязаны к определенному режиму вычислений.Например, когда Spark был запущен, целью было заменить Hadoop для пакетных вычислений.Хотя он также может запускать потоковые вычисления, Spark Он использует пакеты для имитации потоков Flink был запущен для замены Storm для улучшения потоковых вычислений Хотя он также может выполнять пакетные вычисления, он использует потоки для имитации пакетов, и в процессе моделирования будут определенные дефекты или дефекты. недостаточность. Поскольку сами эти вычислительные механизмы предназначены для определенного режима вычислений, их, естественно, нельзя интегрировать. Таким образом, мы нашли AMPLab в Беркли около 16-17 лет.Предложенная ими концепция очень соответствовала нашим предыдущим представлениям о вычислениях, то есть на нижнем уровне есть уровень абстракции и общие возможности распределенного планирования.Различные режимы вычислений абстрагируются, а общие возможности помещаются на нижний уровень, который в конечном итоге становится двумя уровнями: первый уровень — это режим вычислений, потоковые, пакетные, графовые вычисления и машинное обучение — все это разные режимы вычислений; а нижний уровень — это распределенные сервисы, как мы думаем. это базовый уровень, он должен решать проблемы планирования, аварийного восстановления, восстановления ресурсов и т. д. Благодаря таким предварительным исследованиям и непрерывным попыткам, а также общению с Berkeley AMPLab и сообществом мы, наконец, пришли к соглашению о том, что, по нашему мнению, Ray — это передовое решение для конвергентных вычислений.

Преимущество Рэя как раз в том, что при его изначальном проектировании он не привязывался к решению для определенного сценария или режима расчета.Это настоящая нативная распределенная среда, масштабируемость очень сильна. У него нет сильных характеристик инкапсуляции, поэтому он может быть очень гибким для внесения некоторых изменений. С другой стороны, Ray сам по себе является очень новым фреймворком. Мы считаем, что вычислительный движок на самом деле находится в очень примитивном состоянии в первые три года своего запуска, и в будущем он может претерпеть серьезные изменения или изменения.

Но на самом деле достоинства и недостатки Рэя тоже можно рассматривать как две взаимодополняющие черты.Это не только продукт, который только что запущен, и многие формы еще не определены, но и нативнее, проще, легче трансформироваться, и легче добиться эффекта слияния. , вот такие взаимодополняющие отношения. В настоящее время,Мы считаем, что Ray — наиболее подходящая вычислительная архитектура для облачных вычислений.


InfoQ: Используют ли сейчас движок Ray другие компании?

Чжоу Цзяин:Судя по деятельности или партнерам официальных общественных организаций, Alibaba, Facebook, Amazon и другие крупные компании в настоящее время обращают внимание и сотрудничают, но это все еще находится на относительно ранней стадии, и их доля относительно невелика. Многие предприятия могут использовать только самый нативный API Рэя или некоторые нативные функции для решения небольшой части проблем обучения с подкреплением или для некоторых экспериментальных применений.Возможно, это единственная компания в мире, которая так активно занимается сотрудничеством и масштабным запуском, как Ant Financial.


InfoQ: На какие ямы наступила Ant Financial в процессе использования Ray? На что следует обратить внимание при построении системы онлайн-обучения на базе Ray? Можете ли вы поделиться своим опытом.

Чжоу Цзяин:Есть много ям. Сам по себе Ray — это очень новый движок, и существует огромный разрыв между тем, когда он только что вышел из лаборатории, и тем, чтобы начать производство в онлайн-режиме. Например, лаборатория часто может использовать относительно небольшой тестовый набор для проверки стабильности своей работы и т. д., но в производственной среде предприятия может потребоваться более крупный тестовый набор и выполнять более строгие гарантии надежности, возможно. Есть много функций, которых у него не было раньше, и которые нам нужно разрабатывать независимо и вносить свой вклад в сообщество, например, удобство использования, оптимизация производительности и поддержка экосистем, таких как настройка, инструменты DevOps, развертывание, планирование и т. д. Не отставайте. с восходящими и нисходящими комбинированными вещами.

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

Это некоторые из функций, которые мы считаем относительно большими, а также некоторые моменты, которые трудно гарантировать с помощью традиционных систем машинного обучения. Ant Financial вложила много энергии и проделала большую работу, чтобы обойти эти моменты. , у нас есть десятки людей на этом проекте. Мы также надеемся поделиться этой работой с сообществом в будущем. мыПланируется открыть исходный код фреймворка для онлайн-обучения и внесенных в Ray изменений в марте следующего года., просто не хотим, чтобы другие компании или пользователи снова наступили на ту же яму, что и мы.


InfoQ: Считаете ли вы, что движок Ray уже достаточно проработан? Какое предприятие или сценарий подходит для использования Ray? Зачем?

Чжоу Цзяин:С точки зрения официальной версии Ray с открытым исходным кодом, это все еще относительно примитивный и примитивный вычислительный движок без многих функций.С этой точки зрения, если другие компании хотят использовать Ray для обучения с подкреплением или вычислений глубокого обучения, это может быть более практический. Если он соответствует нашей текущей внутренней версии Mobius, он включает в себя общую платформу исследований и разработок для онлайн-обучения и поддерживает такие функции, как режим потоковой передачи, режим онлайн-обучения, режим машинного обучения и распределенные сервисы. Я думаю, что эта версия может использоваться всеми предприятиями, которые хотят быстро проводить исследования и разработки онлайн-обучающих заданий, потому что это уже полноценная платформа, мы лучше инкапсулировали вычислительную область бизнеса, и она больше подходит для производственных сред.


InfoQ: Когда вы начали планировать открыть исходный код внутренней версии Ray?

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

Мы надеемся создать систему онлайн-обучения с помощью Ray, чтобы еще больше улучшить возможности онлайн-обучения всей отрасли, такие как более низкая сквозная задержка, более высокая доступность или более сплоченная общая вычислительная система. технические преимущества Влияние. С точки зрения воздействия этого проекта мы также надеемся, что благодаря открытому исходному коду к нему присоединится больше участников и коммиттеров, а характеристики или возможности этого проекта будут становиться все сильнее и сильнее, и в то же время вычислительная машина Рэй можно использовать все больше и больше, чем больше людей узнают.


InfoQ: Какие технические планы у Ant Financial на будущее? На каких новых технологиях вы сосредоточитесь?

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

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


Представление гостей интервью

Чжоу Цзяин (ученик), старший технический эксперт Ant Financial, в настоящее время возглавляющий группу онлайн-вычислений в Департаменте технологий обработки данных. После прихода в Alipay в 2011 году он занимался работой, связанной с данными Alipay. Он прошел через различные этапы Ant Financial от офлайн-данных, данных в реальном времени и текущих онлайн-данных.Он участвовал в платформе данных Ant в реальном времени, бессерверной потоковой передаче, онлайн-планировании заданий, вычислении метаданных и построении новое поколение вычислительных машин. Знакомы с историей развития архитектуры технологии данных ant и имеют личный опыт сценариев онлайн-вычислений и решений высокой доступности в распределенной среде.