Big Data — бро или не бро +7


В Москве прошла конференция Big Data, Meet Big Brother, организованная фондом Sistema_VC. Там было всякое: приехал израильский разработчик, который знает, как обрабатывать данные в сто раз быстрее всех. МТС сказал, что МТС умрет, если не станет IT компанией. Российские бизнесмены нагоняли тревогу, пытаясь ее развеять.



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

О биг дате, на самом деле, мечают с древности — со всяких древних египтов, когда переписывали людей, чтобы понять как их эффективнее использовать. Во времена Петра I большие данные (перепись населения для взимания налогов) собирали три года, и потом еще три года обрабатывали. Сейчас к этому процессу разве что, добавили проводов, скорости и самих типов данных. Все во имя эффективности, оптимизации и еще более древней мечты человечества — чтобы все как-нибудь сделалось само.

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

Йорган Каллебаут и психология в больших данных




Конференция началась с выступления психолога Йоргана Каллебаута. Он работает в компании DataSine. С помощью машинного обучения и психологических моделей они сегментируют аудиторию и изучают, кому какую рекламу лучше показывать.

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

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

Методы распределения, конечно же, выведены человеком, и, если не углубляться, кажутся довольно стереотипными. Например, Йорган говорит, что если вы покупаете много книг, скорее всего вы интроверт. Если часто тратите деньги в барах — вероятно, экстраверт (потому что интроверты сидят дома и молчат).

На вопрос «это еще почему?!» у Йоргана медицинский ответ. Все дело в гормоне ацетилхолине, к которому у всех людей разная степень чувствительности. Если человек чувствителен к гормону — то становится интровертом, и при сильных выбросах от, скажем, взаимодействия с людьми закрывается в комок и глотает язык. У экстравертов порог стимуляции гормоном выше. Поэтому толпа, шум и общение довольно долго могут их не напрягать.

Гормон плещет не только при виде людей, он реагирует на многое — цвета, звуки, слова. Поэтому для экстравертов и интровертов команда Йоргена делает разные рекламные письма.
Например, мы используем одни и те же цифры и факты, но по разному оформляем письма в рассылке. Для экстравертов ставим оранжевые картинки, яркие. Для интровертов синие и холодные. Машинное обучение помогает нам эти картинки подбирать. От того, что вы меняете одну картинку в имейле, количество переходов по ссылке увеличивается на 40%. Если настраивать еще и текст — коэффициенты возрастают до 80%.

Когда Йоргана с тревогой спросили, не превратит ли внедрение больших данных нас всех в интровертов, он ответил — нет, не превратит. Каким родился, таким и будешь.

Но это был самый необычный из тревожных вопросов. Остальные шли по классике — а не начнут ли компании нами манипулировать с этими вашими психологическими штучками?

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

Ами Галь и скоростная база данных на GPU




Из Тель-Авива на конференцию приехал Ами Галь, основатель SQream. Его компания разрабатывает свою базу данных, которая по заявлению, работает в 100 раз быстрее обычной благодаря обработке запросов на GPU. Это делает ее подходящей для работы с большими данными.

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

Сложив вместе огромные датасеты, ученые научились подбирать самые статистически подходящие методы лечения для каждого нового пациента. Проблема была в том, что только в одном столбце такой таблицы могло быть до 6 миллиардов записей. Раньше анализ занимал 2 месяца — теперь занимает 2 часа. То есть, как только ученые получают образец днк пациента, они сразу знают, какой метод вероятнее всего приведет к успеху.

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



Ами изучал компьютерные науки и физику в университете Тель-Авива, затем работал программистом, а в 1996 году основал свою первую компанию. По его словам, тогда это не было похоже на современные будни технологических стартапов: «Мы должны были делать что-то и сразу продавать это клиентам, чтобы выжить».

В 2000 году он с партнерами основал Magic Software. Там Ами занял пост технического директора и вице-президента по r&d, но постепенно сместился от технологий к бизнесу — «перешел на темную сторону».

Покинув Magic через три года, Ами занялся инвестициями в стартапы. «Если стартапы держатся на родственниках, друзьях и дураках», — смеется он — «то я был из последних».

И наконец в 2010 вместе с мигрантом из России Костей Варакиным придумал идею ускорения баз данных с помощью GPU и основал SQream.

— Когда идея появилась, не было ощущения, вроде «Да это же очевидно! Почему никто до сих пор не обрабатывает SQL запросы на GPU»?

— Сегодня — очевидно. Но когда мы начинали, никто и слушать нас не хотел. Всем казалось, что это невозможно осуществить.

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

Конечно, мы верили, что GPU отлично подойдут для данных, и все тут же начнут их использовать. Но не начали. Помню, когда я хотел поднять инвестиции, люди в бизнесе реагировали так: “Ты что, шутишь? Обработка данных на GPU? Этого не бывает, уходи”.

Только спустя шесть лет (примерно два-три года назад) GPU стали мейнстримом благодаря работе с ИИ, глубоким машинным обучением. И, конечно, теперь обработка данных на GPU перестала казаться странной идеей.

— Разве люди, которым вы предлагали идею, не видели скорость?

— Видели, все видели. Но дело в том, что графические процессоры созданы для работы с векторной графикой. А то, как мы обрабатываем данные — это полная противоположность работы с вектором. Чип не рассчитан на вычисления такого рода. Поэтому софтом мы должны заставить процессор верить, что он обрабатывает, например, видео, хотя это и не так. То есть приходится конвертировать все до и после GPU, потому что он воспринимает только вектор.

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

— И что было самым сложным в разработке?

— Работать с русскими (смеется). На самом деле, сложнейшим в истории компании было не техническое решение. В самом начале мы планировали разработать только ускоритель для чужих баз данных. Что-то, что ускорит работу Oracle, MS SQL. Скажем, мы посылаем запрос к Oracle, и он проходит быстрее благодаря GPU.

Мы вышли на рынок с вопросом: “Вам нужна штука, которая заставит вашу базу данных работать в 20 раз быстрее”? И рынок ответил: “Нет, не нужна”.

Проблема была в том, что мы перехватывали запрос между движком и клиентом. Это было вмешательством в работу Oracle. Нам сказали: “Так нельзя — отсылайте запрос к своему движку и сами его обрабатывайте”. А мы говорим: “У нас нет базы данных”.
“Значит, сделайте”.

Мы посмотрели, как поступают другие компании, как устроены хранилища данных с MPP-архитектурой. Все они созданы на основе другой базы данных — в основном, PostgreSQL или MySQL. Vertica, Greenplum и другие хранилища предыдущего поколения — все они построены вокруг PostgreS.

Мы решили тоже попробовать. Взяли PostgreSQL и заимплементили на GPU. Получилось очень медленно: скорость выросла всего в два раза. Никто бы не стал переводить базы данных на GPU ради ускорения в каких-то два раза. Мы не знали, что делать, не спали целую неделю. При всем уважении ко мне и моим коллегам, построить базу данных с нуля нам было не по силам — это слишком большой проект.

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

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

— Какой у вас стек?

— Мы используем CUDA для работы с GPU. Пишем все на C++, Haskell и немного на Erlang.

Когда ты работаешь с миллиардами транзакций на определенный промежуток времени, скажем, в долю секунды — тебе нужно что-то очень близкое к железу.
Мы идем от ассемблера к Cuda и к С++. Если добавить на пути еще что-то, скорость уже упадет, поэтому нам нужно быть как можно низкоуровневее. Мы пробовали работать и с другими платформами: например, использовали OpenCL вместо Cuda, но все это было не так хорошо проработано, процесс шел слишком медленно.

Нам нужно опускаться как можно глубже, чтобы производительность была высокой.
Для этого нами используются такие языки программирования, как C++, Haskell, Cuda. В некоторых моментах реализуем Erlang, но это происходит значительно реже — тот же C++ используется нами все больше.

— Допустим, я работал только с обычными базами данных, если я перейду на вашу, мне надо будет переучиваться?

— С точки зрения языка ничего нового учить не надо. Если ты писал на SQL, то здесь будет все то же самое. Есть вещи, которые работают по-другому. Но в спецификациях хорошо описано, как все настроить.

— Заявленное ускорение в 100 раз — это максимум, что можно выжать из GPU?

— Я не думаю, что наша компания достигла и 10% возможного. Уже в сентябре мы запускаем третью версию продукта, в которой удвоим производительность. В дальнейшем планируем ее увеличить еще и еще. Производительность CPU с 2006 года почти не растет, а количество данных растет экспоненциально. Точно так же растет производительность GPU.

Получается, мы в самом начале жизненного цикла. Одна из вещей, которые мы планируем в скором времени — увеличивать производительность не только на одном графическом процессоре, но и работать на нескольких. Только представьте, какая это будет скорость! Вот есть запрос длительностью 100 секунд. Мы разбиваем его на несколько маленьких между десятью GPU — и запрос проходит за мгновение.

Я вообще думаю, что мы находимся на границе новой эры, когда GPU-вычисления станут доминирующими в процессинге данных.

— А почему до сих пор не стали? Что останавливает?

— Много что. Я могу назвать три преграды.

Первая уже не так сильна как раньше, но пока существует. Когда мы приходим к компаниям, которые работают с Oracle или IBM, перед ними встает выбор — перейти к маленькому стартапу из Тель-Авива или остаться с большим игроком. Даже если они решаются, то этот процесс сильно затягивается.

Вторая преграда — нехватка людей. Тель-Авив — маленькая Кремниевая долина. В Израиле очень высокая конкуренция за персонал: у меня уходит по три месяца на поиск нужного сотрудника, хотя он нужен мне через три секунды.

И, наконец, третья — я как владелец технологической компании могу сказать, что всегда есть кто-то умнее тебя, причем намного. Постоянно приходится следить, чтобы технология была на пике возможностей, и очень много в неё инвестировать.

— Вам не кажется, что GPU — это все-таки «костыль», и для данных было бы лучше найти или изобрести свой processing unit?

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

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

Российские компании и большие данные




В перерыве между выступлениями молодые и красивые люди слонялись по стильному пространству, гуляли на крыше, болтали и пили травяной лимонад. Мне не досталось из-за дурацкого ацетилхолина (Спасибо Йоргану, что объяснил), но я не в обиде.

Затем на сцену обсудить большие данные вышли глава отдела Big Data из МТС Леонид Ткаченко, Алиса Чумаченко, основатель Segmento Рома Нестер и Евгений Исупов из Тинькофф Банка.

Как мне, так и аудитории отлично заходили высказывания Леонида. Непривычно слышать такой уровень откровенности от топа одной из крупнейших компаний в России. То, что я его здесь больше нацитирую, не значит, что он настолько больше всех говорил (это не реклама МТС. У меня другой оператор, и Леонид, судя по его словам, уже с этим смирился. Хотя даже в этом случае он про меня знает, больше, чем я думал).



Начал он сразу с того, что Big Data толком сейчас не работает, а миф раздут. По его словам, если проблему не получалось решить обычными методами, то и с появлением больших данных ничего не изменится.

Например, у МТС была успешная модель предсказания оттока клиентов. Когда к ней применили большие данные, прирост был совершенно незначительный. И так же наоборот. У МТС никак не получалось предсказать, когда абоненты решатся перейти на более дешевый тариф (чтобы заранее позвонить и отговорить парой бонусов). Когда попробовали решить проблему с помощью больших данных все равно ничего не получилось.
Искать чуда в технологиях Big Data не надо

Ему возразил Евгений Исупов:

— Когда мы добавляли новые данные либо более специализированную математику, которая позволяет делать продвинутый feature engineering, генерить признаки, которые человеку было сложно придумать — то там мы видели существенный прирост.

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

Если мы добавляем моделирование на основе профиля звонков — а у нас так и сделано — мы можем восстановить все ваше домохозяйство. Мы видим, что трое в нем абоненты МТС, еще один билайн и другой мегафон. Геоаналитики у нас по ним нет, просто мы знаем, как они звонят на нашу сеть.

В этой модели больше тысячи очень тонких значимых вещей, которые сам не сгенеришь. К примеру такая фича — как меняется плотность общения между людьми с 3 до 4 в пятницу, и с 4 до 5. И так далее. Мы берем все пары абонентов свой-чужой, которые много друг другу звонят, накладываем тысячи фичей и оказываемся в состоянии разрезать их на две части — пары, которые живут вместе и пары которые вместе не живут.

Алиса Чумаченко повела мысль в прагматичное русло — в первую очередь, по ее словам, идут задачи, а не технологии. Если есть смысл, что-то делать с помощью больших данных, и это выгоднее и эффективнее, чем старыми методами — значит их будут использовать. Работать с Big Data ради Big Data не надо, но многие зачем-то пытаются.
Большие данные — это точно хайп, и они будут появляться там, где им совсем не место.

Когда она спросила, слышал ли кто-нибудь о компании DeepMind, я тянул руку с мыслью «господи, ну конечно все слышали, они, блин, известнее папы римского». Но руки вокруг подняли человек пять.

Тогда Алиса начала рассказывать о победе ИИ в Го и добавила факт, который меня лично удивил. Оказывается, для обученной нейросети нашли практическое применение. Ее используют для охлаждения серверов Google. ИИ перебирает, какие крантики для охлаждения где и когда крутить, обучается, поощряет себя и наказывает — и этот процесс уже снизил затраты на сервера на 40%.

Сама Алиса, поскольку работает с играми, мечтает о системе, которая будет знать все о ее игровых пристрастиях. Она вспомнила, как впервые зашла в League of Legends, и игра дала ей 30 секунд на выбор одного из пары сотен героев.

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

Говоря о будущем больших данных, кутой монолог выдал снова Леонид:

— МТС — это мужчина лет в 50. Все позади. Впереди либо жалкая жизнь, либо вообще на ваганьковское. Классическому телекому — конец. Мы это осознаем, и как бизнес ищем новое тело, куда переселить свою душу, в новый бизнес. А в этом теле нам конец.

Big Data может им стать. У нас есть три стратегии:
— Полное накопление вообще всех данных про клиента, даже если мы не понимаем, как это использовать. Технологии хранения достаточно дешевы, чтобы хранить все.
— Открыть дата-саентистам доступ к данным и попытаться что-то слепить.
— Построить на основе знаний про людей новый бизнес, основанный на проникновении к ним в голову, в душу, в желания. Сделать максимальную персонализацию. Знать о вас все, как будто мы наблюдаем и подслушиваем вас не делая этого.

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

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

То, что данные будут в тем или иным способом сильно регулироваться — согласны все.
— Все, кто последние полгода сталкивается с GDPR понимает, что доступ к приватным данным будет очень сильно регулироваться. С другой стороны есть Китай, глядя на которой понимаешь, что нет. Россия скорее всего пойдет по китайскому варианту. В любом случае, огромным компаниям, которые эти данные хранят (хитро смотрит на Леонида) — придется непросто.

Роман считает, что тревога рождается от незнания и непонимания:

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

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

Как сказал Евгений, когда информацию, вроде «что ты делал вчера вечером» используют против тебя, чтобы посмеяться или вообще навредить — то, открывать ее, конечно, не хочется. Но если это информация может, например улучшить здоровье или сон — то ее можно отдать.

Роман считает, что здесь стоит бояться маленьких компаний:

— Большим компаниям допустить утечку выйдет дороже, чем продать мои данные. Напрягают маленькие компании, которые всеми силами данные стремятся монетизировать. Мы закупаем данные из 40 источников, и некоторые у компаний, которые каких только данных про людей нам не предлагали. Когда завтра ты можешь закрыться, у тебя нет большой ответственности перед обществом и людьми.

Алиса наоборот верит в светлое будущее:

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

И Леонид подвел итог:
— Хотите пуститься во все тяжкие — лучше выключайте телефон.

Вместо выводов


В разговорах о Большом Брате я всегда вспоминаю одну историю. Когда Оруэлл дописал «1984», он отправил экземпляр своему школьному учителю Олдосу Хаксли. Тот ответил письмом — книгу похвалил, но с идеей не согласился. Он считал, что «для получения власти гораздо лучше подходят поощрение инфантильности и нарко-гипноз, чем тюрьмы и дубинки».

Конечно, пугать тем, что «Большой Брат следит за тобой» куда эффектнее, да и бояться его намного веселее. Но, дорогие Sistema_VC, думаю название Big Data, Meet Brave New World подошло бы лучше.




К сожалению, не доступен сервер mySQL