Ученые из MIT и NVIDIA разработали две дополняющие техники, которые могут значительно увеличить скорость и производительность сложных задач машинного обучения.
Ученые MIT и NVIDIA представили две новые техники, которые могут значительно улучшить скорость и производительность сложных задач машинного обучения.
Исследователи из MIT и NVIDIA разработали две техники, которые ускоряют обработку разреженных тензоров (Тензоры служат основными структурами данных в моделях машинного обучения, действуя как многомерные массивы, которые организуют и хранят данные).
Цель обеих новых техник – эффективное использование нулевых значений тензоров. Возможно обработать эти тензоры, не обрабатывая нули, что экономит память и вычисления. Например, умножение на ноль дает ноль, поэтому эту операцию можно пропустить. Кроме того, можно сжать тензор, что позволяет хранить больше в памяти на микросхеме, так как нули не нужно сохранять.
Разреженность в тензорах возникает, когда ненужные элементы удаляются путем замены некоторых значений нулями, процесс, известный как обрезка. Степень разреженности и позиции этих нулей могут различаться в разных моделях. Исследователи часто ограничивают расположение ненулевых значений, чтобы облегчить их нахождение в больших моделях. Адаптируемость аппаратных ускорителей ограничена, так как они обычно разрабатываются для определенных видов разреженности.
- Исследователи Google DeepMind предлагают рамки для классификации возможностей и поведения моделей их предшественников искусственного общего интеллекта (AGI)
- Исследователи из Кембриджа разработали приложение виртуальной реальности с использованием машинного обучения, позволяющее пользователям обладать ‘сверхчеловеческим’ умением открывать и управлять инструментами в виртуальной реальности.
- Команда исследователей из UC Беркли и Стэнфорда представляет S-LoRA искусственный интеллект, разработанный для масштабной обработки множества адаптеров LoRA
Исследовательская группа разработала аппаратный ускоритель под названием HighLight, способный эффективно обрабатывать различные виды разреженности. Исследователи использовали иерархически структурированную разреженность для эффективного представления различных типов разреженности, состоящих из более простых. При этом они разбивают числа на наборы меньшего размера, и в каждом наборе применяются простые шаблоны. Затем эти меньшие наборы объединяются в большие группы, формируя иерархию. Каждая коллекция групп также соответствует простому шаблону (например, имеется одна группа с нулями и три группы без нулей на уровне с четырьмя группами). Этот процесс продолжается с более крупными уровнями, но на каждом шаге шаблоны остаются простыми.
Эта простота позволяет HighLight более эффективно находить и пропускать нули, чтобы полностью использовать возможность сокращения избыточных вычислений. Дизайн их ускорителя имеет около шестикратно лучшую энергетическую задержку (метрику, связанную с энергоэффективностью) по сравнению с другими подходами.
Исследователи также могут использовать разреженность для более эффективного перемещения и обработки данных на компьютерной микросхеме. Поскольку тензоры часто больше, чем можно хранить в буфере памяти на чипе, чип берет и обрабатывает только часть тензора за один раз. Эти части называются тайлами. Чтобы максимизировать емкость буфера и уменьшить частоту доступа чипа к внешней памяти.
Чтобы максимизировать емкость буфера и уменьшить количество раз, когда чип должен получать доступ к внешней памяти (что может потреблять много энергии и замедлять обработку), исследователи стремятся использовать самый большой возможный тайл, который помещается в буфер.
Поскольку многие значения данных равны нулю, в буфер может поместиться больший тайл, чем его реальная емкость может подразумевать, поскольку нулевые значения не нужно хранить. Однако количество нулевых значений может изменяться в разных частях данных и, следовательно, может также отличаться для каждого тайла.
Чтобы справиться с этим, группа исследований предложила использовать технику прекращения резервирования для увеличения размера тайла. В случае разреженного набора данных можно выбрать размер тайла так, чтобы большая часть тайлов содержала достаточно нулей для помещения в буфер. В редких случаях тайл может содержать больше ненулевых значений, чем может вместить буфер. В таких случаях эти избыточные данные выталкиваются из буфера.
Исследовательская группа дала возможность аппарату извлекать только перемещенные данные, не извлекая и не обрабатывая весь тайл снова. Они достигают этого путем модификации “хвоста” буфера, что приводит к названию техники, Tailors.
Кроме того, был разработан подход, названный Swiftiles, который позволяет эффективно определить размер тайла, используя преимущества прекращения резервирования. Swiftiles снижает частоту, с которой аппарат должен проверять тензор для определения оптимального размера тайла, тем самым экономя вычислительные ресурсы.
Комбинация Tailors и Swiftiles приводит к повышению производительности, удваивая скорость при том же потреблении энергии, по сравнению с существующими аппаратными ускорителями, которые не могут работать с прекращением резервирования.
По словам исследователей, Swiftiles может оценивать оптимальный размер тайла без необходимости множественных итераций для уточнения этой оценки. Этот процесс возможен благодаря поддержке прекращения резервирования. Даже при значительной ошибке оценки можно достичь заметного ускорения из-за конкретного распределения ненулевых значений.