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