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

Исследователи из MIT и NVIDIA разработали два взаимодополняющих технических подхода, которые могут значительно увеличить скорость и эффективность сложных задач машинного обучения. Потрясающие новости для прогресса в этой области! 🚀

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

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

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

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

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

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

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

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

Для решения этой проблемы исследовательская группа предложила использовать технику “overbooking” для увеличения размера тайла. В разреженном наборе данных можно выбрать размер тайла так, чтобы большинство тайлов имели достаточное количество нулей для помещения в буфер. Иногда тайл может содержать больше ненулевых значений, чем может вместить буфер. В таких случаях избыточные данные выталкиваются из буфера.

Исследовательская группа позволила аппаратному обеспечению извлекать только вытесненные данные, не загружая и обрабатывая весь тайл снова. Они достигли этого, модифицируя “хвостовую часть” буфера, отсюда и название техники – Tailors.

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

Комбинация Tailors и Swiftiles приводит к увеличению производительности, удваивая скорость при половинном энергопотреблении по сравнению с существующими аппаратными ускорителями, которые не могут обрабатывать overbooking.

Согласно исследователям, Swiftiles могут оценить оптимальный размер тайла без необходимости множественных итераций для уточнения оценки. Этот процесс возможен благодаря поддержке overbooking. Даже при значительной погрешности оценки можно достичь заметного ускорения благодаря конкретному распределению ненулевых значений.

Полезные ссылки:

Мобильная разработка на заказ и готовые решения

Мобильная разработка

Готовые и индивидуальные решения

Веб решения - разработка сайтов и сервисов

Web решения

Получите бесплатную консультацию по веб-разработке прямо сейчас

Аутсорсинг, подбор специалистов и команд разработки

Аутсорсинг

Выберите своего специалиста сегодня и начните свой проект