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

So, uh, whenever I hear about Telegram, it’s always in relation to something bad. What gives? "Markets were cheering this economic recovery and return to strong economic growth, but the cheers will turn to tears if the inflation outbreak pushes businesses and consumers to the brink of recession," he added. The regulator said it had received information that messages containing stock tips and other investment advice with respect to selected listed companies are being widely circulated through websites and social media platforms such as Telegram, Facebook, WhatsApp and Instagram. And while money initially moved into stocks in the morning, capital moved out of safe-haven assets. The price of the 10-year Treasury note fell Friday, sending its yield up to 2% from a March closing low of 1.73%. Also in the latest update is the ability for users to create a unique @username from the Settings page, providing others with an easy way to contact them via Search or their t.me/username link without sharing their phone number.
from ru


Telegram эйай ньюз
FROM American