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: |

Some people used the platform to organize ahead of the storming of the U.S. Capitol in January 2021, and last month Senator Mark Warner sent a letter to Durov urging him to curb Russian information operations on Telegram. Such instructions could actually endanger people — citizens receive air strike warnings via smartphone alerts. And indeed, volatility has been a hallmark of the market environment so far in 2022, with the S&P 500 still down more than 10% for the year-to-date after first sliding into a correction last month. The CBOE Volatility Index, or VIX, has held at a lofty level of more than 30. In December 2021, Sebi officials had conducted a search and seizure operation at the premises of certain persons carrying out similar manipulative activities through Telegram channels. On February 27th, Durov posted that Channels were becoming a source of unverified information and that the company lacks the ability to check on their veracity. He urged users to be mistrustful of the things shared on Channels, and initially threatened to block the feature in the countries involved for the length of the war, saying that he didn’t want Telegram to be used to aggravate conflict or incite ethnic hatred. He did, however, walk back this plan when it became clear that they had also become a vital communications tool for Ukrainian officials and citizens to help coordinate their resistance and evacuations.
from jp


Telegram эйай ньюз
FROM American