Вячеслав Шарунов

В MIT создали алгоритм, ускоряющий обработку больших данных в 100 раз

В MIT создана система, ускоряющая анализ данных в 100 раз. Taco способна оптимизировать тензорные вычисления, используемые в обработке больших данных.

2794

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

Разрежённые тензоры

Представьте объём данных, которые являются отображением множества абсолютно всех клиентов Amazon во множество всех товаров, представленных на площадке. Подобные многомерные тензорные матрицы будут иметь 1 на месте, обозначающем, что клиент уже приобрёл товар, а 0 — во всех остальных. Эти матричные кубы будут, в основном, состоять из нулей. Они же, в свою очередь, при математических операциях над таблицами вхолостую тратят ресурсы процессора и требуют слишком много места для хранения в памяти.

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

Система Тасо

Система под названием Taco является компилятором для программ тензорной алгебры. Результат работы в 100 раз превосходит в производительности существующие неоптимизированные пакеты ПО. Он также сопоставим с характеристиками вручную написанного и оптимизированного под определённые задачи кода, требуя при этом гораздо меньшее участие со стороны программиста.

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

Существующие подходы решения проблемы

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

Ядра вычислений

Однако, в эпоху больших данных подобный подход потребляет очень много времени. Сейчас же Taco совершает множественные расчёты в рамках одного цикла, или так называемого ядра. Один из авторов предложенной системы, Фредрик Кьолстад, добавляет:

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

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

Результаты работы

Результаты работы впечатляют. Весь объём данных Amazon при использовании разрежённых тензорных таблиц составляет порядка 107 эксабайт, что примерно в 10 раз больше ёмкости всех серверов Google. При использовании же схемы сжатия Taco большие данные Amazon займут всего 13 гигабайт, что с лёгкостью вместит любой современный смартфон.

Садай Садаяппан, профессор компьютерных наук университета Огайо, восторгается предложенной системой:

Следите за новыми постами по любимым темам

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

Big Data
Amazon
MIT
2794
Что думаете?
0 комментариев
Сначала интересные