Квантование и др. Сокращение времени вывода на LLM на 80%

Квантование и другие методы сокращение времени вывода на LLM на 80%

Источник: https://www.pexels.com/photo/cropland-in-autumn-18684338/

Квантование – это техника, используемая для ряда различных алгоритмов, но получила широкое распространение сравнительно недавним вливанием виртуозности моделей больших языковых моделей (LLM). В этой статье я собираюсь предоставить информацию о квантовании LLM и о том, какая может быть его ценность для запуска этих моделей локально. Я также рассмотрю другую стратегию, не связанную с квантованием, которая может дополнительно сократить вычислительные требования для запуска этих моделей. Я объясню, почему эти техники могут быть вам интересны, и покажу вам некоторые рейтинги с примерами кода, чтобы показать, насколько эффективны эти техники. Я также кратко расскажу о требованиях к аппаратному обеспечению/рекомендациях и современных инструментах, доступных вам для достижения ваших целей LLM на вашей машине. В одной из следующих статей я планирую предоставить пошаговые инструкции и код для тонкой настройки собственной LLM, так что следите за этим.

TL;DR — путем квантования нашей LLM и изменения типа тензора мы можем выполнять вывод на LLM с удвоенным количеством параметров при одновременном сокращении времени работы на 80%.

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

Все мнения, выраженные в этой статье, являются моими собственными. Эта статья не спонсируется.

Что такое квантование (LLM-ов)?

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

Лично мне приходилось преодолевать несколько преград, чтобы квантовать LLM, такие как Llama-2 от Meta на моем Mac. Это в значительной степени связано с отсутствием поддержки стандартных библиотек (или чего-либо с пользовательскими CUDA-ядрами). Сторонние инструменты, такие как…