Hitech logo

Кейсы

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

TODO:
Екатерина Смирнова27 ноября 2023 г., 14:29

Исследователи из ETH Zurich разработали новую технику, которая может значительно повысить скорость работы нейронных сетей. Они продемонстрировали, что изменение процесса вывода может радикально сократить вычислительные требования. Это достигается путем замены традиционных слоев прямого распространения на так называемые быстрые слои прямого распространения, использующие условное умножение матриц. Эксперименты с моделью BERT показали сокращение вычислений на более чем 99%. Этот подход может применяться к другим языковым моделям, таким как GPT-3, и обеспечить более быструю и эффективную обработку запросов. Быстрое внедрение метода уравняет шансы между компаниями, имеющими почти неограниченный доступ к вычислительным ресурсам, и ограниченными в них.

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

Трансформеры — нейронные сети, используемые в моделях LLM, состоят из различных слоев, включая слои внимания и прямого распространения. Последние составляют значительную часть параметров модели и требуют больших вычислительных ресурсов из-за необходимости вычисления произведения всех нейронов и входных измерений. Исследователи представили статью, которая показывает, что не все нейроны в слоях прямого распространения должны быть активными во время процесса вывода для каждого входного значения. Вместо этого, они предлагают использовать «быстрые слои прямого распространения» (FFF) в качестве замены для традиционных слоев прямого распространения.

FFF использует математическую операцию, известную как условное умножение матриц (CMM), которая заменяет умножение плотных матриц (DMM), используемое в традиционных сетях прямого распространения. В DMM все входные параметры умножаются всеми нейронами сети, и этот процесс требует больших вычислительных ресурсов и неэффективен. CMM в свою очередь обрабатывает выводы так, что для обработки сетью ни один ввод не требует больше нескольких нейронов.

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

Чтобы проверить методику, исследователи разработали FastBERT — модификацию модели трансформера BERT от Google. FastBERT заменяет промежуточные слои прямого распространения слоями быстрого прямого распространения. FFF организуют свои нейроны в сбалансированное двоичное дерево, выполняя только одну ветвь условно на основе входных данных. Чтобы оценить производительность FastBERT, исследователи настроили различные варианты решения нескольких задач из теста General Language Companing Evaluation (GLUE). GLUE — это комплексная коллекция наборов данных, предназначенная для обучения, оценки и анализа систем понимания естественного языка.

Результат был впечатляющим: FastBERT показывал производительность, сопоставимую с базовыми моделями BERT такого же размера и методикой обучения. Варианты FastBERT, обученные всего лишь за один день на одном графическом процессоре A6000, сохраняли не менее 96% производительности оригинальной модели BERT.

Лучшая модель FastBERT достигала производительности оригинальной модели, используя при этом только 0,3% своих нейронов прямого распространения.

Исследователи предполагают, что использование быстрых сетей прямого распространения в LLM имеет огромный потенциал для повышения скорости работы ИИ. Например, в GPT-3 сети прямого распространения на каждом уровне трансформера состоят из 49 152 нейронов. Если обучить такую сеть, ее можно заменить быстрой сетью прямого распространения, включающей 65 536 нейронов, но использовать только 16 нейронов для вывода. Это составляет около 0,03% нейронов GPT-3.

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

Исследователи разработали собственную реализацию операций условного умножения на базе инструкций процессора и графического процессора. Это привело к 78-кратному увеличению скорости вывода.

Ученые полагают, что благодаря более качественному аппаратному обеспечению и низкоуровневой реализации алгоритма есть потенциал для более чем 300-кратного улучшения скорости вывода. Это могло бы решить одну из основных проблем языковых моделей — количество токенов, которые они генерируют в секунду.