Scalify: масштабное распространение для эффективного обучения LLM с низкой точностью.
Scalify: scale propagation for efficient low-precision LLM training
July 24, 2024
Авторы: Paul Balança, Sam Hosegood, Carlo Luschi, Andrew Fitzgibbon
cs.AI
Аннотация
Низкоточные форматы, такие как float8, были введены в аппаратное обеспечение ускоренного машинного обучения для повышения вычислительной эффективности при обучении и выводе крупных языковых моделей. Тем не менее, принятие этим сообществом машинного обучения замедлилось из-за сложных и иногда хрупких техник, необходимых для достижения точности обучения более высокой точности. В данной работе мы представляем Scalify, парадигму распространения масштаба от начала до конца для вычислительных графов, обобщая и формализуя существующие методы масштабирования тензоров. Результаты экспериментов показывают, что Scalify поддерживает матричное умножение с плавающей запятой float8 и представление градиентов, а также хранение состояния оптимизатора с плавающей запятой float16. Наша реализация Scalify на JAX доступна в открытом доступе по ссылке https://github.com/graphcore-research/jax-scalify
English
Low-precision formats such as float8 have been introduced in machine learning
accelerated hardware to improve computational efficiency for large language
models training and inference. Nevertheless, adoption by the ML community has
been slowed down by the complex, and sometimes brittle, techniques required to
match higher precision training accuracy. In this work, we present Scalify, a
end-to-end scale propagation paradigm for computational graphs, generalizing
and formalizing existing tensor scaling methods. Experiment results show that
Scalify supports out-of-the-box float8 matrix multiplication and gradients
representation, as well as float16 optimizer state storage. Our JAX
implementation of Scalify is open-sourced at
https://github.com/graphcore-research/jax-scalifySummary
AI-Generated Summary