Программное обеспечение тензорной алгебры в 100 раз ускоряет анализ больших данных: система для выполнения тензорной алгебры предлагает 100-кратное ускорение по сравнению с предыдущими программными пакетами

С разреженными данными аналитические способы в конечном итоге делают умножения операций и множество сложения на ноль, что имеется ненужным вычислением. Программисты обходят это способом написания особенного кода, чтобы избежать нулевых записей, но этот код сложен и как правило употребляется только к узкому кругу проблем.На конференции Ассоциации вычислительной техники по совокупностям, программированию, языкам и приложениям: ПО для человечества (SPLASH) исследователи из Массачусетского технологического университета, Французской рабочей по экологически чистым атомной энергии и источникам энергии и Adobe Research относительно недавно представили новую совокупность, которая машинально формирует код, оптимизированный для скудные эти.

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

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

«Редкие представления существуют уже более 60 лет», — говорит Саман Амарасингхе, электротехники наук и доктор информатики Массачусетского технологического университета (EECS) и старший создатель новой статьи. «Но не было человека, кто знал, как сгенерировать для них код машинально. Люди придумали пара очень необычных операций — разреженное умножение матрицы на вектор, умножение разреженной матрицы на вектор плюс вектор, умножение разреженной матрицы на матрицу, умножение разреженной матрицы на матрицу . Самый большой вклад, что мы делаем, — это возможность генерировать код для любого выражения тензорной алгебры, в то время, в то время, когда матрицы разрежены ».К работе с Амарасингхе присоединились первый создатель Фредрик Кьолстад, аспирант Массачусетского технологического университета в EECS; Стивен Чоу, также аспирант EECS; Дэвид Лугато из Французской коммисии по экологически чистым атомной энергии и источникам энергии; и Шоаиб Камил из Adobe Research.

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

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

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

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

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

Но если матрица разреженная, однообразная операция может "упорно попросить" 100 или более строк кода, чтобы отслеживать исключения и пропуски.Введите Тако.

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

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

Но при применении схемы сжатия Taco он занимает всего 13 гигабайт — достаточно, чтобы поместиться на смартфоне.


6 комментариев к “Программное обеспечение тензорной алгебры в 100 раз ускоряет анализ больших данных: система для выполнения тензорной алгебры предлагает 100-кратное ускорение по сравнению с предыдущими программными пакетами”

  1. Автор бреда забыл рассказать о системах судоустройства защиты а главное о наличии криминального режима желающего рулить вечно но это видно для него мелочи вот така куйня малятки

  2. все еще некоторые банки могут все еще некоторым аленям давать кредиты

  3. Как-то Путин задумался.
    — И чего они всё время говорят, что в России власть спецслужб ? Я давно в ФСБ не состою, депутаты думы, сената, законодательных собраний тоже, губернаторы и мэры чаще избираются. Да, все эти люди раньше были в КГБ и ФСБ. Но ведь раньше!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *