“`html
LinkedIn выпустил ядро Liger (LinkedIn GPU Efficient Runtime): революционный инструмент, повышающий эффективность обучения LLM на 20% и снижающий использование памяти на 60%
LinkedIn недавно представил свою новую инновацию – ядро Liger (LinkedIn GPU Efficient Runtime), коллекцию высокоэффективных ядер Triton, специально разработанных для обучения больших языковых моделей (LLM). Эта новая технология представляет собой прорыв в машинном обучении, особенно в обучении масштабных моделей, требующих значительных вычислительных ресурсов. Ядро Liger готово стать ключевым инструментом для исследователей, практиков машинного обучения и тех, кто стремится оптимизировать эффективность обучения на GPU.
Введение в ядро Liger
Ядро Liger было тщательно разработано для удовлетворения растущих потребностей обучения LLM путем улучшения скорости и эффективности использования памяти. Команда разработчиков в LinkedIn реализовала несколько передовых функций в ядре Liger, включая совместимые с Hugging Face RMSNorm, RoPE, SwiGLU, CrossEntropy, FusedLinearCrossEntropy и другие. Эти ядра эффективны и совместимы с широко используемыми инструментами, такими как Flash Attention, PyTorch FSDP и Microsoft DeepSpeed, что делает их очень универсальными для различных приложений.
Основные особенности и преимущества
Одним из наиболее замечательных аспектов ядра Liger является его способность увеличивать пропускную способность обучения на нескольких GPU на более чем 20%, снижая использование памяти до 60%. Это двойная выгода достигается благодаря методам объединения ядер, замены на месте и техникам фрагментации, оптимизирующим вычислительные процессы, участвующие в обучении LLM. Ядро разработано с учетом легкости, с минимальными зависимостями, требующими только Torch и Triton, что устраняет обычные проблемы, связанные с управлением сложными программными зависимостями.
Эффективность ядра Liger демонстрируется его способностью обрабатывать более длинные контексты, большие размеры пакетов и огромные словари без ущерба для производительности. Например, в то время как традиционные модели Hugging Face могут сталкиваться с ошибками из-за нехватки памяти при 4K, ядро Liger может масштабироваться до 16K, значительно увеличивая емкость и возможности модели.
Приложения и применение
Ядро Liger особенно полезно для тех, кто работает над проектами обучения LLM большого масштаба. Например, при обучении модели LLaMA 3-8B ядро Liger может достичь увеличения скорости обучения до 20% и снижения использования памяти до 40%. Это особенно полезно при обучении на наборах данных, таких как Alpaca, где вычислительная эффективность может значительно влиять на общую стоимость и время, необходимое для разработки модели.
В более сложных сценариях, таких как этап повторного обучения многоголовой LLM, такой как Medusa, ядро Liger может снизить использование памяти на впечатляющие 80%, увеличив при этом пропускную способность на 40%. Эти улучшения крайне важны для исследователей и практиков, стремящихся расширить границы возможностей LLM, позволяя им экспериментировать с более крупными моделями и более сложными архитектурами без аппаратных ограничений.
Технический обзор
Ядро Liger интегрирует несколько ключевых операций на основе Triton, которые улучшают производительность обучения LLM. Среди них RMSNorm, RoPE, SwiGLU и FusedLinearCrossEntropy, каждая из которых способствует общей эффективности ядра. Например, RMSNorm нормализует активации с использованием их среднеквадратичного значения. Этот процесс был оптимизирован в ядре Liger для достижения трехкратного увеличения скорости и снижения пикового использования памяти.
Точно так же RoPE (Rotary Positional Embedding) и SwiGLU (Swish Gated Linear Units) были реализованы с помощью техник замены на месте, которые значительно снижают использование памяти и увеличивают скорость вычислений. Функция потерь CrossEntropy, критическая для многих задач LLM, также была оптимизирована для снижения пикового использования памяти более четыре раза, удвоив при этом скорость выполнения.
Простота использования и установки
Несмотря на свои передовые возможности, ядро Liger разработано с учетом простоты использования и легкой интеграции в существующие рабочие процессы. Пользователи могут патчить свои существующие модели Hugging Face с оптимизированными ядрами Liger, используя всего лишь одну строку кода. Легкий дизайн ядра также обеспечивает его совместимость с настройками многократного использования GPU, включая PyTorch FSDP и DeepSpeed, без необходимости обширной настройки или дополнительных библиотек.
Ядро Liger можно установить через pip, доступны как стабильные, так и ночные версии. Это удобство установки, в сочетании с минимальными зависимостями ядра, делает его доступным для широкого круга пользователей, от опытных практиков машинного обучения до любопытных новичков, стремящихся улучшить эффективность своего обучения.
Перспективы и участие сообщества
LinkedIn стремится постоянно улучшать ядро Liger и приветствует вклад сообщества. Содействуя сотрудничеству, LinkedIn стремится собрать лучшие ядра для обучения LLM и включить их в будущие версии ядра Liger. Такой подход гарантирует, что ядро останется на передовой технологических инноваций в обучении LLM.
Заключение
Выпуск ядра Liger LinkedIn является значительным вехой в развитии обучения LLM. Ядро Liger обещает стать незаменимым инструментом для всех, кто занимается обучением моделей большого масштаба, предлагая высокоэффективное, легкое в использовании и универсальное решение. Его способность радикально улучшить как скорость, так и эффективность использования памяти, несомненно, ускорит разработку более продвинутых и способных LLM, прокладывая путь для прорывов в искусственном интеллекте.
Проверьте наш GitHub. Вся заслуга за это исследование принадлежит исследователям этого проекта. Также не забудьте подписаться на нас в Twitter и присоединиться к нашей группе в LinkedIn. Если вам нравится наша работа, вам понравится наша рассылка.
Не забудьте присоединиться к нашему сообществу в Reddit.
Найдите предстоящие вебинары по ИИ здесь.
Оригинальная статья: MarkTechPost
“`