Компания
505,20
рейтинг
21 января 2013 в 18:27

Разработка → Яндекс и ЦЕРН: новый этап сотрудничества

Сегодня Яндекс присоединился к ЦЕРНу. Наше партнёрство с Европейским центром ядерных исследований переходит на новую стадию развития: у ученых из ЦЕРНа появится доступ к технологии машинного обучения Матрикснет от Яндекса, а также новым вычислительным мощностям. А Яндекс становится ассоциированным членом европейского Центра ядерных исследований в рамках проекта CERN openlab. Кроме него членами openlab являются Intel, HP, Oracle, Siemens и Huawei.

Сотрудничество Яндекса с Центром началось в 2011 году, когда мы впервые предоставили ЦЕРНу свои серверные мощности. А в апреле прошлого года наши разработчики создали поиск по событиям эксперимента LHCb. LHCb — один из четырёх основных экспериментов ЦЕРНа и один из примеров того, насколько важными в современной науке стали не только данные опытов, но и их обработка. В ходе опытов LHCb исследуются соударения b-кварка (b от английского beauty, по-русски его называют прелестным). Объём информации об этих событиях только за год достигает тысяч терабайт. Благодаря созданнному нами поисковому индексу у учёных ЦЕРНа появилась возможность мгновенно получать нужную информацию.

В современной фундаментальной науке важную роль стали играть не только технические ресурсы для проведения опытов, но и вычислительные возможности для обработки и понимания их результатов. В наши дни, особенно в ЦЕРНе, данных становится так много, что без применения сложных алгоритмов даже учёному будет сложно делать точные выводы о результатах опытов. Технологии, которые можно применять для таких целей, имеет совсем небольшое количество компаний.



Мы расспросили Андрея Устюжанина, руководителя проекта партнёрства с ЦЕРНом в Яндексе, о подробностях того, для чего именно ЦЕРНу нужна помощь Яндекса и как устроена работа с данными экспериментов. Смотрите видео и читайте более подробную текстовую версию после ката.

Андрей, чем ты занимаешься в Яндексе и как так сложилось, что именно ты руководишь работой компании с ЦЕРНом?

В Яндексе я работаю с данными и алгоритмами, которые занимаются машинным обучением. А так получилось, что именно алгоритмы машинного обучения являются почвой для сотрудничества Яндекса и ЦЕРНа.

Перед тем, как рассказать, как так сложилось, что у Яндекса появились совместные проекты с Центром, напомни немного о том, чем занимается ЦЕРН.

ЦЕРН — это всемирная и самая большая лаборатория по исследованию физики. И с одной стороны проведение экспериментов в ней требует очень серьёзного оборудования. А с другой — для понимания этих опытов необходимы мощные алгоритмы и много вычислительных ресурсов. И как раз это есть у нашей компании.

А почему так получилось, что их нет у ЦЕРНа?

Для Яндекса как поисковой компании, которая зарабатывает на рекламе, иметь качественный алгоритм обработки накопленных данных — вопрос жизни и смерти. Мы специализируемся на алгоритмах. А для Центра ядерных исследований эта тема пока не стала такой важной.

Тем не менее, люди которые идут в ЦЕРН, имеют научно-физический бэкграунд. Они знают, что такое стандартная модель, уравнение Шрёдингера, лагранжиан стандартной модели и так далее. Но это не значит, что они имеют хорошую подготовку в computer science.

Открытия учёных вчера и сегодня

Расскажи подробнее, почему для ЦЕРНа так важна обработка данных?

Дело в том, что накопленные, так называемые сырые, данные — ОЧЕНЬ-ОЧЕНЬ большие. Сейчас соударения, которые регистрируются лабораторией в ЦЕРНе, происходят с частотой 20 миллионов в секунду. Это очень большое количество данных, примерно объём всего интернета каждый день. Понятно, что записать это всё на какие-то дисковые массивы невозможно.

И поэтому необходимо использовать достаточно сложные алгоритмы фильтрации. С одной стороны, чтобы сохранить необходимую информацию, а с другой — чтобы точность анализа этой информации на следующем этапе была на уровне, который позволит подтвердить или опровергнуть физическую гипотезу.

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

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

И как именно здесь используется машинное обучение?

Самое тонкое из того, что я рассказал — понять, что события похожи. Каждое из них выглядит очень сложно. Когда соударяются пучки протонов, они разлетаются на тысячи разных частиц, которые регистрируются детекторами. Данные из них могут быть немного обработанными и мы уже можем знать, что какие-то частицы были. Но фишка в том, что некоторые из них не долетают до регистрационных пластин, а распадаются еще на что-то. Поэтому с учётом какой-то вероятности нужно определить, во что вообще они могли распасться. И понять, что несмотря на то, что мы наблюдаем вот это, здесь могло быть что-то похожее на искомое событие или, наоборот, не похожее. Для того чтобы подключить какой-то алгоритм машинного обучения (в частности Матрикснет), мы должны эти события каким-то образом формализировать, но вообще они занимают достаточно много места. 100 килобайт с очень подробным описанием того, что там произошло и как это выглядит, нам не нужны. Мы должны сформулировать некоторые признаки, на основании которых можем говорить, что это характеристические признаки, совокупность которых может с высокой вероятностью сказать, это было оно или не оно. Для распадов, на которых мы тестировали Матрикснет, выделяется девять признаков. Одним из них может быть, например, время жизни b-мезона. Дальше мы должны взять некоторую выборку, в которой есть эти события и не эти события, т.е. позитивные примеры и негативные примеры, и на файлах с этими факторами обучить наш классификатор (это может быть Матрикснет или другой способ машинного обучения), а потом обученную нейросеть приложить к тем данным, которые были получены вычислениями.

Мы вычисляем по данным из эмулятора?

Данные могут быть из эмулятора, а могут быть и реальными. Если мы точно знаем, что в этом событии не было того, что нам нужно, что на основании некоторых данных можно сказать. В частности, здесь были эмулятор хороших и эмулятор плохих событий. На основании этих событий вычислили признаки, по признакам обучили Матрикснет, потом по реальным событиям тоже вычислили признаки и по ним уже прогнали формулу Матрикснет, для того чтобы получить прогноз. Там Матрикснет не говорит о том, было это плохо или хорошо. Он говорит какую-то вероятность того, что это было оно.

На каких данных обучаются алгоритмы машинного обучения?

На данных, которые были целиком эмулированы, либо на совокупности симулятора и реальных данных. Но тонкость в том, что мы каким-то образом должны четко знать, что вот эти данные являются плохими. То есть то, что там не было того события, которое мы ищем. А для того чтобы это понять, мы идём на небольшую хитрость. Она заключается в том, что все события, которые нам выдает Матрикснет, отображаем на шкалу массы. Мы знаем, что энергия равняется массе, умноженной на скорость света в квадрате, поэтому если мы с определённой энергией сумели ударить две частицы, то сможем понять, какие вообще частицы были рождены в этом соударении. То есть масса рождённых частиц не может быть больше энергии соударения. И все, что мы намерили, рисуем на графике массы изнаем, что то, что нам нужно, находится в определённом диапазоне.

image

То есть разлёт вот этих двух мюонов может происходить только вокруг массы бозона, которая равна 5633 МэВ. Нас интересует опредёленная масса событий. То, что b-мезон разделился на два мюона, значит, что это должно происходить где-то плюс-минус сколько-то вокруг массы этого b-мезона. А эта масса известна. И поэтому можем сказать, что все события, которые мы находим, либо в диапазоне сигнального, либо находятся где-то сбоку и тогда это точно шум. То есть то, что мы не хотим видеть. Для того чтобы понять, что событие было плохим, достаточно померить его энергию. Если оно находится в этих боковых диапазонах, то значит, что это событие плохое и его можно использовать как негативный пример для обучения нашего алгоритма. Это те реальные события, которые мы можем добавить в обучающую выборку. Это к вопросу о том, на чем учится Матрикснет.

И в чём конкретно заключается роль Яндекса в работе ЦЕРНа?

В 2011 году, когда наше сотрудничество только начиналось, Яндекс предоставил ЦЕРНу кластер машин для моделирования физических событий. Это были несколько десятков серверов, подключённые к GRID, вычислительной сети ЦЕРНа. Эти сервера помогали физикам понять, как выглядит то или иное событие в их детекторе, какие именно «картинки» они увидят и чему эти картинки соответствуют.

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

Следующий этап, который мы планируем на 2013 год, это реализация более продвинутого способ поиска и фильтрации событий на основе технологии машинного обучения Матрикснет. В Яндексе она используется, казалось бы, для совершенно не связанных с физикой задач: поиска, фильтрации спама в почте, предсказания кликов по рекламным баннерам и так далее. С его применением в Центре наше сотрудничество идёт дальше, а Яндекс делает всё более и более качественный вклад в развитие науки в ЦЕРНе.

Яндекс для ЦЕРНа

А для чего нам самим нужно это сотрудничество? Что оно значит для Яндекса?

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

Россия ещё не является участницей ЦЕРНа, а только страной-наблюдателем. Яндекс вступает в ЦЕРН. Расскажи, чем отличается членство страны и компании?

Россия в декабре прошлого года подала заявку на вступление в качестве ассоциированного члена в ЦЕРН. Т.е. она станет им в ближайшее время. Но членство компании и членство страны — это абсолютно разные вещи.

Компания больше заинтересована в применении своих технологий на данных, которые есть у ЦЕРНа и в совершенствовании своих технологий за счёт этого сотрудничества. А государство — в получении каких-то глобальных результатов исследований, в их применении для каких-то практических технологий. Например, получения новых медицинских приборов, развития новых космических технологий или, может быть, создания нового вида топлива — who knows. И так как движение тут происходит с разной скоростью, в какой-то степени — чем больше масса, тем меньше ускорение =)

А какие ещё компании сейчас являются членами openlab ЦЕРНа?

На данный момент коммерческих компаний, которые входят в ЦЕРН, шесть. Это Intel, HP, Oracle, Siemens, Huawei и — с января 2013 года — Яндекс.

А есть уже какие-то открытия, которые были сделаны с помощью технологий Яндекса?

Мы пока только начинаем этот путь. В декабре прошлого года мы попробовали использовать Матрикснет для анализа очень редкого распада B-мезона на два мюона. И разные теории предсказывали различное количество этих распадов. Стандартная модель говорила, что их должно быть 3,5. Другие, что их должно быть на порядок или два больше. И сам процесс открытия заключался в том, что все данные, которые накопились в результате работы ЦЕРНа за последние два года, были пропущены через разные алгоритмы машинного обучения — в том числе и через Матрикснет. Нужно было оценить, какое количество событий этого распада произошло за эти два года.

Если это событие совпадало с предсказанием одной из теорий, это свидетельствовало об её справедливости. Посчитали, сравнили и получилось, что стандартная модель предсказывает лучше всего. Это немного закрыло остальные теории — суперсимметрии, которые претендуют на роль теории всего.

Мы в дальнейшем планируем сделать интерфейс к Матрикснету публичным для сотрудников ЦЕРНа, чтобы при желании они могли бы им воспользоваться. По сравнению с текущим алгоритмом, который используют в ЦЕРНе по умолчанию, разработка Яндекса даёт более точную и чёткую выборку событий. То есть более чёткий сигнал — меньше шума. И мы надеемся, что Матрикснет позволит физикам сделать ещё много интересных открытий.
Автор: @anton
Яндекс
рейтинг 505,20

Комментарии (21)

  • +20
    «То есть разлёт вот этих двух меонов». Не меонов, а мюонов. И далее в тексте еще раз эта ошибка повторяется.

    Собственно по сабжу: снимаю шляпу перед теми, кто принял решение работать с ЦЕРНом. Тем же, кто непосредственно будет принимать участие в обработке данных — успешной и плодотворной работы! Вы действительно делаете большое и важное дело.
    • +13
      Упс, спасибо. Одну из частей расшифровки (которую делали люди не вполне из физики) недовычитали. Прошу прощения.
  • +3
    Human is dead. Mismatch.
  • +35
    Яндекс — найдется даже Бозон Хиггса ;)
  • 0
    Что-то именно машинного обучения в описании и не видно, «мы пошли на хитрость» «мы сформулировали признаки» «мы ....»
    • 0
      В описании чего именно?
      company.yandex.ru/technologies/matrixnet/
      • 0
        В этой статье, то есть в описании работы яндекса над данными ЦЕРН
        • +1
          Я попросил Андрея рассказать про это чуть подробнее, чем уже сказано в тексте, вот его ответ:

          Пока мы только тестировали Матрикснет, поэтому ни на какие хитрости не отвлекались. Почти. Прошли по стандартному сценарию: взяли тот же набор данных, на которых был обучен их классификатор (http://tmva.sourceforge.net/), нашли оптимальный набор структурных параметров для обучения формулы (модели), обучили формулу по тем же полям. Убедились, что у этой формулы нет ненужных корреляций и прогнали через нее реальные данные. В этот момент потребовалось военная хитрость — договориться о критериях качества работы машинного обучения (в каких попугаях оценивать, какая формула лучше).

          Для нас эти попугаи оказались несколько неожиданными: количество событий, отобранных классификатором, при определенном пороге в «боковых» регионах по оси массы распада Bs→μ+μ-. (от 4900—4246 МэВ, 4486—6000 МэВ и 6000—7000 МэВ).

          Пока эта работа не опубликована, мы не можем говорить о конкретных результатах, но с оптимизмом смотрим на продолжение этого исследования.
  • +1
    Интересно, а реально при особой любви к физике попасть в Яндекс целенаправленно в команду, работающую с ЦЕРНом? Или легче через ЦЕРН? =)
  • +2
    В ролике надо было поставить журнальный столик, и пропали бы эти нелепые зажатые позы. Я еще понимаю, когда так сажают гостя студии, на которого надо прессинг оказать, но тут-то оба участника разговора — «свои люди».

    Ну и свет поставили бы получше, а то у Андрея глаза пересвечены, рот в тени.

    * На постах про Яндекс, правда, критика строго преследуется, но что уж тут?
    • +1
      Спасибо за полезную критику. Каждый новый ролик даёт нам понимание того, что ещё можно улучшить. И за критику вроде никого не преследуем, а наоборот — внимательно читаем и пытаемся понять, что полезного из неё можно почерпнуть, чтобы что-то изменить или улучшить.
      • 0
        Уж не знаю, кто кого преследует :) но статистика — дело неумолимое.

        Впрочем, конечно, спасибо за рассказ и за вообще открытость. Ну и что нашлись свободные мощности, которые на благо человечества оказалось не жалко отдать.
    • 0
      У нас свет стоял вот так (эксклюзивный кадр со съёмок): yadi.sk/d/2pqrhkOq21uPO
      А вы как бы поставили? :)
  • 0
    Мне вот больше интересно почему они выбрали Яндекс, а не скажем Google.
    • +1
      Видимо, Гугль не предлагал :)
  • +2
    Я прям даже гордиться немного стал за яндекс. Молодцы ребята. И рекламу себе хорошую сделали, и поучаствовали в становлении науки и алгоритмы свои отточили…
  • 0
    Следующий шаг — сделать в интерфейсе Яндекса поиск по базе Церна :)

    yandex.ru/yandsearch?text=%D0%B1%D0%BE%D0%B7%D0%BE%D0%BD+%D1%85%D0%B8%D0%B3%D0%B3%D1%81%D0%B0&site=CERN

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка