Early Weight Averaging meets High Learning Rates for LLM Pre-training
Sanyal et al., [UT Austin]
arxiv.org/abs/2306.03241
Исследования того а что будет если мы просто усредним несколько моделей всегда были слегка безумной, но очень эффективной идеей улучшения качества моделей. В этой статье авторы показывают что это можно делать не только с финальными чекпоинтами, но и во время тренировки.
Авторы предлагают алгоритм LAWA (LAtest Weight Averaging) который выглядит так:
1. В начале тренируемся как обычно, сохраняем чекпоинты модели каждые N~1000 итераций
2. Когда мы достигаем
3. Продолжаем тренироваться
Метод очень похож на EMA, но тут мы выполняем его не только для тестирования модели, но и для тренировки.
Интересные моменты: оптимальный lr для LAWA заметно выше чем оптимальный lr для обычной тренировки, а также LAWA позволяет избежать нестабильностей лосса когда он внезапно взрывается 🔥
В конце хотелось бы ещё сказать про подробности экспериментов. Порог входа в рисёч предтренировки это ~8xA100. Но есть альтернатива: Pythia и LLM360 зарелизили не только финальный чекпоинт, но и чекпоинты каждую 1000 итераций, а также порядок данных. Это означает что вы можете "вклиниться" со своим методом в середину тренировки и проверить как он работает в начале/середине/конце обучения. Это относительно дешево и так и были проведены большинство экспериментов.
Sanyal et al., [UT Austin]
arxiv.org/abs/2306.03241
Исследования того а что будет если мы просто усредним несколько моделей всегда были слегка безумной, но очень эффективной идеей улучшения качества моделей. В этой статье авторы показывают что это можно делать не только с финальными чекпоинтами, но и во время тренировки.
Авторы предлагают алгоритм LAWA (LAtest Weight Averaging) который выглядит так:
1. В начале тренируемся как обычно, сохраняем чекпоинты модели каждые N~1000 итераций
2. Когда мы достигаем
update_step % N == 0
, берём последние M~10 чекпоинтов и усредняем их, заменяем веса модели3. Продолжаем тренироваться
Метод очень похож на EMA, но тут мы выполняем его не только для тестирования модели, но и для тренировки.
Интересные моменты: оптимальный lr для LAWA заметно выше чем оптимальный lr для обычной тренировки, а также LAWA позволяет избежать нестабильностей лосса когда он внезапно взрывается 🔥
В конце хотелось бы ещё сказать про подробности экспериментов. Порог входа в рисёч предтренировки это ~8xA100. Но есть альтернатива: Pythia и LLM360 зарелизили не только финальный чекпоинт, но и чекпоинты каждую 1000 итераций, а также порядок данных. Это означает что вы можете "вклиниться" со своим методом в середину тренировки и проверить как он работает в начале/середине/конце обучения. Это относительно дешево и так и были проведены большинство экспериментов.
group-telegram.com/dlinnlp/1745
Create:
Last Update:
Last Update:
Early Weight Averaging meets High Learning Rates for LLM Pre-training
Sanyal et al., [UT Austin]
arxiv.org/abs/2306.03241
Исследования того а что будет если мы просто усредним несколько моделей всегда были слегка безумной, но очень эффективной идеей улучшения качества моделей. В этой статье авторы показывают что это можно делать не только с финальными чекпоинтами, но и во время тренировки.
Авторы предлагают алгоритм LAWA (LAtest Weight Averaging) который выглядит так:
1. В начале тренируемся как обычно, сохраняем чекпоинты модели каждые N~1000 итераций
2. Когда мы достигаем
3. Продолжаем тренироваться
Метод очень похож на EMA, но тут мы выполняем его не только для тестирования модели, но и для тренировки.
Интересные моменты: оптимальный lr для LAWA заметно выше чем оптимальный lr для обычной тренировки, а также LAWA позволяет избежать нестабильностей лосса когда он внезапно взрывается 🔥
В конце хотелось бы ещё сказать про подробности экспериментов. Порог входа в рисёч предтренировки это ~8xA100. Но есть альтернатива: Pythia и LLM360 зарелизили не только финальный чекпоинт, но и чекпоинты каждую 1000 итераций, а также порядок данных. Это означает что вы можете "вклиниться" со своим методом в середину тренировки и проверить как он работает в начале/середине/конце обучения. Это относительно дешево и так и были проведены большинство экспериментов.
Sanyal et al., [UT Austin]
arxiv.org/abs/2306.03241
Исследования того а что будет если мы просто усредним несколько моделей всегда были слегка безумной, но очень эффективной идеей улучшения качества моделей. В этой статье авторы показывают что это можно делать не только с финальными чекпоинтами, но и во время тренировки.
Авторы предлагают алгоритм LAWA (LAtest Weight Averaging) который выглядит так:
1. В начале тренируемся как обычно, сохраняем чекпоинты модели каждые N~1000 итераций
2. Когда мы достигаем
update_step % N == 0
, берём последние M~10 чекпоинтов и усредняем их, заменяем веса модели3. Продолжаем тренироваться
Метод очень похож на EMA, но тут мы выполняем его не только для тестирования модели, но и для тренировки.
Интересные моменты: оптимальный lr для LAWA заметно выше чем оптимальный lr для обычной тренировки, а также LAWA позволяет избежать нестабильностей лосса когда он внезапно взрывается 🔥
В конце хотелось бы ещё сказать про подробности экспериментов. Порог входа в рисёч предтренировки это ~8xA100. Но есть альтернатива: Pythia и LLM360 зарелизили не только финальный чекпоинт, но и чекпоинты каждую 1000 итераций, а также порядок данных. Это означает что вы можете "вклиниться" со своим методом в середину тренировки и проверить как он работает в начале/середине/конце обучения. Это относительно дешево и так и были проведены большинство экспериментов.
BY DL in NLP
Share with your friend now:
group-telegram.com/dlinnlp/1745