Telegram Group & Telegram Channel
GPT-2 Small теперь тренируют в полтора раза быстрее

Модель теперь тренируется менее чем восемь минут на 8xH100 - всего пару недель назад это занимало более 12 минут. Стоимость тренировки упала до 3 долларов. Давайте разберём как так вышло.

Основной архитектурный трюк - улучшенный value residual learning. Он нужен потому, что модели на более глубоких слоях фокусируются на меньшем количестве токенов, что сильно снижает эффективность глубоких слоёв. Решается это домешиванием в values n-го блока values из первого блока трансформера. То есть в attention идёт не обычная value-матрица, а взвешенное среднее текущей value-матрицы и таковой из первого блока. Параметры для усреднения обучаются отдельно для каждого трансформерного блока.

Такой же трюк с value residual learning применяют и к эмбеддингам - в каждом трансформерном блоке эмбеддинги также взвешенно усредняются, как и value-матрица.

Ещё одно изменение, которое срезало чуть больше минуты от тренировки, - отвязывание embedding-слоя от lm head. Это повысило количество параметров на 39 миллионов, но никак не повлияло на количество активных параметров и время каждого шага. Авторы репозитория сказали, что с данного момента будут ограничивать себя активными параметрами, так что мы вполне можем увидеть MoE через неделю-другую.

Из мелочей - lm head инициализируется теперь нулями, а после эмбеддинг-слоя добавили одну норму. Максимальное значение логитов теперь ограничено, по заветам Gemma 2. А ещё заметили что по дефолту в PyTorch в mixed precision режиме bfloat16 используется достаточно консервативно, поэтому вручную заменили fp32 на bfloat16 в паре мест.

Кстати, автор доказал, что они скейлятся как минимум до 1.5B, по крайней мере на нескольких миллиардах токенов. Это обнадёживает, но не означает, что все эти трюкт стоит использовать в тренировке больших моделей. Ждём, когда кто-то попробует это либо на моделях побольше (7B+), либо на бо́льшем количестве токенов (1T or bust).

Такие спидраны нужны по двум причинам. Первая — повышение эффективности претрейна больших моделей: даже если не всё масштабируется, то что-то точно будет. А наличие чёткого базового уровня помогает лучше понять эффективность каждого отдельного изменения. Вторая - повышение доступности ресёрча. Одна 3090 может натренировать такую модель примерно за 8 часов (одну ночь), без этих оптимизаций тренировка на 3090 приближалась бы к суткам, что сильно снижает скорость итерации.

https://github.com/KellerJordan/modded-nanogpt/

@ai_newz



group-telegram.com/ai_newz/3422
Create:
Last Update:

GPT-2 Small теперь тренируют в полтора раза быстрее

Модель теперь тренируется менее чем восемь минут на 8xH100 - всего пару недель назад это занимало более 12 минут. Стоимость тренировки упала до 3 долларов. Давайте разберём как так вышло.

Основной архитектурный трюк - улучшенный value residual learning. Он нужен потому, что модели на более глубоких слоях фокусируются на меньшем количестве токенов, что сильно снижает эффективность глубоких слоёв. Решается это домешиванием в values n-го блока values из первого блока трансформера. То есть в attention идёт не обычная value-матрица, а взвешенное среднее текущей value-матрицы и таковой из первого блока. Параметры для усреднения обучаются отдельно для каждого трансформерного блока.

Такой же трюк с value residual learning применяют и к эмбеддингам - в каждом трансформерном блоке эмбеддинги также взвешенно усредняются, как и value-матрица.

Ещё одно изменение, которое срезало чуть больше минуты от тренировки, - отвязывание embedding-слоя от lm head. Это повысило количество параметров на 39 миллионов, но никак не повлияло на количество активных параметров и время каждого шага. Авторы репозитория сказали, что с данного момента будут ограничивать себя активными параметрами, так что мы вполне можем увидеть MoE через неделю-другую.

Из мелочей - lm head инициализируется теперь нулями, а после эмбеддинг-слоя добавили одну норму. Максимальное значение логитов теперь ограничено, по заветам Gemma 2. А ещё заметили что по дефолту в PyTorch в mixed precision режиме bfloat16 используется достаточно консервативно, поэтому вручную заменили fp32 на bfloat16 в паре мест.

Кстати, автор доказал, что они скейлятся как минимум до 1.5B, по крайней мере на нескольких миллиардах токенов. Это обнадёживает, но не означает, что все эти трюкт стоит использовать в тренировке больших моделей. Ждём, когда кто-то попробует это либо на моделях побольше (7B+), либо на бо́льшем количестве токенов (1T or bust).

Такие спидраны нужны по двум причинам. Первая — повышение эффективности претрейна больших моделей: даже если не всё масштабируется, то что-то точно будет. А наличие чёткого базового уровня помогает лучше понять эффективность каждого отдельного изменения. Вторая - повышение доступности ресёрча. Одна 3090 может натренировать такую модель примерно за 8 часов (одну ночь), без этих оптимизаций тренировка на 3090 приближалась бы к суткам, что сильно снижает скорость итерации.

https://github.com/KellerJordan/modded-nanogpt/

@ai_newz

BY эйай ньюз




Share with your friend now:
group-telegram.com/ai_newz/3422

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The fake Zelenskiy account reached 20,000 followers on Telegram before it was shut down, a remedial action that experts say is all too rare. Elsewhere, version 8.6 of Telegram integrates the in-app camera option into the gallery, while a new navigation bar gives quick access to photos, files, location sharing, and more. Multiple pro-Kremlin media figures circulated the post's false claims, including prominent Russian journalist Vladimir Soloviev and the state-controlled Russian outlet RT, according to the DFR Lab's report. "There are a lot of things that Telegram could have been doing this whole time. And they know exactly what they are and they've chosen not to do them. That's why I don't trust them," she said. The regulator said it has been undertaking several campaigns to educate the investors to be vigilant while taking investment decisions based on stock tips.
from us


Telegram эйай ньюз
FROM American