27.11.2023 14:59

Новости

Администратор

Автор:

Администратор

Новая методика позволяет ускорить работу языковых моделей в 300 раз

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


Автор: Бен Диксон, VentureBeat
 
В экспериментах, проведенных на BERT —модели-трансформере, используемой в различных языковых задачах, было достигнуто поразительное снижение вычислений более чем на 99%. Этот инновационный метод также может быть применен к моделям, используемым в больших языковых моделях (LLMs), таких как GPT-3, открывая новые возможности для более быстрой и эффективной обработки языка.
 
Нейронные сети с быстрой прямой связью
 
Трансформеры — нейронные сети, лежащие в основе LLMs, — состоят из различных слоев, включая слои внимания и слои прямой связи (feedforward). Последние, составляющие значительную часть параметров модели, требуют больших вычислительных затрат из-за необходимости вычисления произведения всех нейронов и входных сигналов.
 
Однако в статье исследователей показано, что не все нейроны в фидфорвардных слоях должны быть активны во время процесса вывода для каждого входного сигнала. Они предлагают ввести слои «быстрой прямой связи» (fast feedforward, FFF) в качестве замены традиционных слоев прямой связи.
 
FFF использует математическую операцию, известную как условное матричное умножение (CMM), которая заменяет плотное матричное умножение (DMM), используемое в обычных сетях прямой связи. 
 
В DMM все входные параметры умножаются на все нейроны сети, что требует больших вычислительных затрат и неэффективно. С другой стороны, CMM обрабатывает логический вывод таким образом, что для обработки сетью не требуется больше нескольких нейронов.
 
Определяя нужные нейроны для каждого вычисления, FFF может значительно снизить вычислительную нагрузку, что приводит к созданию более быстрых и эффективных языковых моделей.
 
Сети быстрой прямой связи в действии
 
Для проверки своей инновационной методики исследователи разработали FastBERT, модификацию модели BERT transformer от Google. FastBERT революционизирует модель, заменяя промежуточные фидфорвардные слои слоями быстрой прямой связи. FFF выстраивает нейроны в сбалансированное бинарное дерево, условно выполняющее только одну ветвь в зависимости от входных данных.
 
Чтобы оценить производительность FastBERT, исследователи доработали различные варианты нескольких задач из бенчмарка General Language Understanding Evaluation (GLUE). GLUE —обширная коллекция наборов данных, предназначенных для обучения, оценки и анализа систем понимания естественного языка.
 
Результаты были впечатляющими: FastBERT показал результаты, сопоставимые с базовыми моделями BERT аналогичного размера и процедур обучения. Варианты FastBERT, обученные всего за один день на одном графическом процессоре A6000, сохранили по меньшей мере 96% производительности оригинальной модели BERT. Примечательно, что лучшая модель FastBERT соответствовала производительности оригинальной модели BERT при использовании только 0,3% собственных нейронов прямой связи.
 
Исследователи считают, что включение в LLMs быстрых фидфорвардных сетей имеет огромный потенциал для ускорения. Например, в GPT-3 сети прямой связи на каждом уровне преобразования состоят из 49 152 нейронов. 
 
«Если бы эта сеть поддавалась обучению, ее можно было бы заменить быстрой фидфорвардной сетью с максимальной глубиной 15, которая содержала бы 65536 нейронов, но использовала бы для вывода только 16. Это составляет около 0,03% нейронов GPT-3», — отмечают исследователи.
 
Возможности для улучшения
 
Была проведена значительная аппаратная и программная оптимизация для умножения плотных матриц, математической операции, используемой в традиционных нейронных сетях прямого действия. 
 
«Умножение плотных матриц — наиболее оптимизированная математическая операция в истории вычислительной техники», – говорят исследователи. «Были приложены огромные усилия для разработки памяти, микросхем, наборов команд и программных процедур, которые выполняют ее как можно быстрее. Многие из этих достижений — в силу их сложности или конкурентных преимуществ — держались в секрете и были доступны конечному пользователю только через мощные, но ограниченные программные интерфейсы».
 
Напротив, в настоящее время не существует эффективной собственной реализации условного умножения матриц — операции, используемой в быстрых фидфорвардных сетях. Ни один популярный фреймворк глубокого обучения не предлагает интерфейс, который можно было бы использовать для реализации CMM помимо высокоуровневого моделирования. 
 
Исследователи разработали собственную реализацию операций CMM на основе инструкций CPU и GPU-процессора. Это привело к значительному увеличению скорости вывода в 78 раз. 
 
Однако исследователи полагают, что при улучшении аппаратного обеспечения и низкоуровневой реализации алгоритма может возникнуть потенциал для более чем 300-кратного повышения скорости вывода. Это позволило бы решить одну из основных проблем языковых моделей — количество токенов, которые они генерируют в секунду. 
 
«Теоретическое ускорение в 341 раз в масштабе моделей на базе BERT позволяет надеяться, что наша работа вдохновит на усилия по реализации примитивов для условного нейронного выполнения как части интерфейсов программирования устройств», — добавляют исследователи.
 
Данное исследование является частью более широких усилий по устранению узких мест в памяти и вычислениях больших языковых моделей, прокладывая путь к созданию более эффективных и мощных систем искусственного интеллекта.
 
Ссылка на источник


0


Нет комментариев. Ваш будет первым!
Загрузка...