Новини

Taco обрабатывает большие данные в 100 раз быстрее

13 ноября, 2017. 02:11
Ученые из Массачусетского технологического института разработали программный алгоритм под названием Taco, который позволяет автоматизировать компрессию тензорных таблиц (3D-матриц), состоящих из большого количества пустых данных, пишет издание Science Daily. Систему назвали по аббревиатуре для компилятора тензорной алгебры (tensor algebra compiler). Тензор — это многомерный аналог матрицы, а данные, которые необходимо обработать, обычно хранятся в матрицах. Эффективностью метод обязан математическим операциям, проводимым на тензорах: они работают быстрее, чем аналогичные операции с матрицами, если каждой последовательности тензорных операций выделен собственный шаблон расчёта.

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

Тем временем Taco совершает множественные расчёты в рамках одного цикла, или так называемого ядра. Один из авторов предложенной системы, Фредрик Кьолстад, добавляет: «Если все операции происходят в одном ядре, все вычисления производятся быстрее, без дополнительного помещения промежуточных результатов в память с последующим чтением из неё. Подход Тасо всё делает в одну итерацию». Он также отметил, что его группа разработала разные ядра для наиболее встречающихся операций с тензорами при обработке больших данных. Число возможных ядер, которые другие учёные смогут создать, основываясь на предложенных, бесконечно. Отметим, что для работы c Taco программисту необходимо указать лишь размерность используемого тензора, является ли он полностью разрежённым и директорию, где находится файл с данными.

ЧИТАТЬ МАТЕРИАЛ
Комментарии: