MaskLLM: Обучаемая полуструктурированная разреженность для LLM

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Суть - в моделировании паттернов N:M (где N - количество ненулевых значений в группе из M параметров) в виде обучаемого распределения.

Для дифференцируемой выборки маски используется дискретизация Gumbel Softmax, которая дает возможность проводить сквозное обучение на больших датасетах и получать более точные маски по сравнению с традиционными методами, основанными на эвристических критериях важности параметров.

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

Эффективность MaskLLM оценивали сравнением с другими методами на моделях LLaMA-2, Nemotron-4 и GPT-3.

Результаты показали, что MaskLLM достигает более низкой перплексии на наборе данных Wikitext при использовании 2:4 разреженности. Например, для LLaMA-2 7B MaskLLM достиг перплексии 6.72, в то время как SparseGPT показал результат 10.42.

Для использования MaskLLM на практике, NVlabs рекомендует использовать Docker (https://github.com/NVlabs/MaskLLM?tab=readme-ov-file#11-docker-image). После установки, следуя инструкциям в репозитории, нужно скачать и сконвертировать целевую модель (https://github.com/NVlabs/MaskLLM?tab=readme-ov-file#12-prepare-llama-checkpoints) в формат Megatron-LM, подготовить (https://github.com/NVlabs/MaskLLM?tab=readme-ov-file#13-pre-tokenize-c4-data-for-megatron) данные для обучения и сгенерировать (https://github.com/NVlabs/MaskLLM?tab=readme-ov-file#15-maskllm-training) начальные маски.

После этого можно приступать к обрезке целевой модели (https://github.com/NVlabs/MaskLLM?tab=readme-ov-file#16-trim-the-checkpoint), и, по завершению, сделать экспорт (https://github.com/NVlabs/MaskLLM/blob/main/docs/export_hf.md) обученных разреженных моделей в формат Huggingface для дальнейшего использования.

Скрипты и инструкции репозитория ориентированы на запуск MaskLLM-LLaMA-2/3 на одном узле с 8 GPU с тензорным параллелизмом и потребует ~40 ГБ на GPU для сквозного обучения.

Лицензирование : NVIDIA Source Code License for MaskLLM (https://github.com/NVlabs/MaskLLM?tab=License-1-ov-file) (только некоммерческое использование, бесплатно)

Страница проекта (https://vainf.github.io/maskllm-project-page)

Arxiv (https://arxiv.org/pdf/2409.17481)

GitHub (https://github.com/NVlabs/MaskLLM)


Источник: github.com

Комментарии: