[Перевод] Человек, который связывает большие информационные системы и Data Science

image Уэс МакКинни, о котором писали в Quartz как о человеке, «создавшем наиболее важный инструмент в области Data Science» (речь о пакете для анализе данных Pandas), отправляется в новое плавание — он запускает стартап под названием Ursa Computing.

По словам МакКинни, стартап будет заниматься разработкой продуктов и предоставлением услуг для ускорения работы «с данными, машинным обучением и искусственным интеллектом» для предприятий. МакКинни и его компании получили 4,9 миллиона долларов в рамках первого этапа финансирования, проведенного GV (бывшего Google Ventures). Также среди инвесторов числятся Walden International, Nepenthe, Amplify Partners, RStudio и несколько бизнес-ангелов.

Ursa Computing сосредоточится на корпоративном рынке и будет стремиться к широкому распространению Apache Arrow — независимой от языка программной платформы для разработки приложений для анализа данных. Компания будет продолжать разработку проектов в области Data Science с открытым исходным кодом, изначально созданных Ursa Labs (некоммерческая независимая лаборатория разработки, также созданная МакКинни).

Если компания добьется успеха, Ursa Computing сделает МакКинни человеком, который преодолеет разрыв между Data Science и большими информационными системами.

Пропасть между Data Science и большими данными


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

Впрочем, эта проблема понятна только программистам и специалистам в Data Science. Но аналитики также встревожены растущей пропастью между Data Science и большими информационными системами.

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

Все это может привести к ужасным последствиям — в том числе, снизить продуктивность специалистов по обработке и анализу данных. Если им не удастся найти эффективные инструменты и методы извлечения данных из больших датасетов (которые становятся больше и больше), неизбежно возникнет узкое место в рабочих процессах. Если алгоритмы не будут поддерживаться разными средами разработки, возникнет другая проблема. Также, в случае отсутствия средств для передачи данных по сети (чтобы с ними могли работать специалисты в другом окружении), то все (в том числе ученые) будут толочь воду в ступе.

Если специалистам по обработке данных придется и дальше работать с неэффективными инструментами, затраты на компьютеры, вероятно, будут оставаться столь же высокими. Еще более серьезная проблема (по мнению МакКинни) заключается в том, что низкая эффективность может побудить организации отказаться от ПО с исходным кодом и вернуться к менее гибкому и более дорогому проприетарному ПО.

image

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

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

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

Развитие Apache Arrow


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

1. Вычислительная мощность

Во-первых, «сами инструменты для анализа данных, написанные на языках вроде R и Python, значительно отстали от достижений в области железа», — заметил МакКинни. Большинство таких инструментов не поддерживают использование многоядерных процессоров, графических ускорителей или систем с большим объемом оперативной памяти, поскольку «когда они разрабатывались, у нас не было процессоров с 16 ядрами».

Кроме того, все эти инструменты были разработаны задолго до появления Cuda, платформы параллельных вычислений и интерфейса программирования от Nvidia.

2. Ускорение работы с памятью

Также произошел скачок в работе с памятью. МакКинни отметил, что «скорость работы накопителей непрерывно растет. Также появились SSD-накопители. Дело не только в скорости работы памяти, но и в расширении доступа к данным». А у инструментов скачка нет, они опять оказываются узким местом.

3. Необходимость эффективного массового перемещения больших массивов данных

Также по мнению МакКинни фактором развития в этой области стала «потребность в эффективном перемещении больших массивов данных».

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

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

image

4. Независимость от языка программирования

Далее, у нас есть проблема с несовместимостью языков программирования. В Google, Facebook и других отраслевых компаниях стандартом является Python. Однако никуда не делись и другие языки — R, JVM, Julia. «Разные люди используют разные языки программирования, потому что считают, что могут добиваться с ними максимальной продуктивности», — сказал МакКинни.

Желание устранить узкое место в процессах чтения и пересылки данных между системами побудило МакКинни запустить проект Apache Arrow, ознаменовавший приложение больших усилий со стороны разработчиков открытого ПО к созданию программной среды, не зависящей от языков программирования.

МакКинни объяснил, что фреймворк позволяет «организовывать датасеты так, чтобы с ними было удобно работать в своем окружении. Вы сможете запускать код непосредственно на данных, а не пересылать их по кругу».

Следовательно, новая программная среда должна быть разработана для экосистем, в которых используются разные языки программирования. Впрочем, МакКинни отметил, что хочет «работать с данными так, чтобы они не загрязнялись побочными эффектами программ на разных языках». Цель [Apache Arrow] — «обеспечить бесшовное взаимодействие языков программирования на уровне данных».

Большие усилия


Разработка Apache Arrow велась 5 лет. МакКинни признал, что формирование команды разработчиков проекта с открытым исходным кодом, стремящихся к созданию единого формата данных было «чрезвычайно непростой задачей». Сообщество предоставило ядро платформы, с помощью которого Arrow может встраиваться в существующие системы (либо могут создаваться новые системы на основе Arrow).

Признавая, что сам процесс разработки «был скучным», МакКинни сказал, что пока все идет хорошо.

МакКинни отметил, что следующая задача — «проложить путь для инвестиций в сообщество разработчиков ПО с открытым исходным кодом». Вместо того, чтобы сворачивать Ursa Labs, Ursa Computing сохранит эту команду и продолжит заниматься проектом Apache.

Тем не менее, переход от некоммерческой деятельности к коммерческой — это большой шаг.

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

Один из примеров — работа с управляемыми облачными сервисами. «Было бы сложно реализовать проект с открытым исходным кодом», — добавил он.

Фонд управления инвестициями в сообщество с открытым исходным кодом


МакКинни прославился как «человек, создавший самый важный инструмент в Data Science», поскольку он разработал Pandas — библиотеку для обработки и анализа данных для Python.

МакКинни начинал работу над Pandas как над проектом с закрытым исходным кодом в AQR Capital, инвестиционной фирме из Коннектикута. Фирма наняла его после того, как он получил степень математика в MIT. Через год МакКинни закончил работу над Pandas, сделал библиотеку бесплатной и открыл ее исходный код.

Оглядываясь назад, МакКинни сказал, что «думал о том, чтобы попробовать себя в квантовом финансировании», когда присоединился к хедж-фонду, но потом понял, что «разработка инструментов обработки данных и их инфраструктуры ему ближе, чем финансы».

Он подчеркнул: «Я действительно очень забочусь о расширении возможностей разработчиков и о том, чтобы специалисты могли быть более эффективными и продуктивными». С Ursa Computing он стремится построить всю экосистему вокруг Apache Arrow.



image
Вакансии
НПП ИТЭЛМА всегда рада молодым специалистам, выпускникам автомобильных, технических вузов, а также физико-математических факультетов любых других высших учебных заведений.

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

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

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



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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


Список полезных публикаций на Хабре

© Habrahabr.ru