Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/dlinnlp/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
DL in NLP@dlinnlp P.1660
DLINNLP Telegram 1660
DL in NLP
Long Sequence Modeling with XGen: A 7B LLM Trained on 8K Input Sequence Length blog.salesforceairesearch.com/xgen/ Команда Salesforce выпустила новую серию опенсорсных моделей модель: XGen. XGen-7B-4K-base натренирована на 800B токенах с длинной текста 2К…
Stack More Layers Differently: High-Rank Training Through Low-Rank Updates
Статья: arxiv.org/abs/2307.05695
Код: GitHub

Мы задались вопросом: если LoRA настолько хороша для файнтюнинга, можем ли мы применить её для претренинга?
Мы представляем ReLoRA — первый метод PEFT, который может использоваться для обучения с нуля! 🔥

Почему мы не можем использовать LoRA для претренинга? Потому что он оптимизирует только в маленьком подпространстве низкого ранга параметров модели. Этого достаточно для файнтюнинга, но не для претренинга. Что мы можем сделать?

Применить LoRA несколько раз подряд. Это работает, потому что параметры LoRA могут быть интегрированы в основную сеть (W += W_A @ W_B) и потому что сумма матриц низкого ранга может иметь ранг больше, ранги слагаемых.

Но теперь у нас новая проблема: оптимизаторы сильно полагаются на momentum который и определяет большую часть направления апдейта по предыдущим градиентам (а не текущему градиенту). Это делает шаги оптимизации сильно скоррелированными

Представьте первый шаг оптимизации после ресета ReLoRA. Он сделает параметры ReLoRA похожими на параметры предыдущей итерации. Это потенциально может "заполнить ранг" параметров LoRA и минимально увеличить суммарный ранг. Поэтому при ресете ReLoRA мы частично ресетим стейт оптимизатора сохраняя только 0-10% весов. Далее, чтобы избежать нестабильностей мы прогреваем LR 10-50 шагов

LayerNorm и эмбеддинги тренируются как обычно, без репараметризации. Наконец, ранняя фаза обучения очень важна, и нам действительно нужно "подогреть" сеть с помощью обычного полноценного обучения. На практике достаточно 3-5 тысяч шагов

TL;DR
1. LoRA + ресеты
1. Частичный сброс стейта оптимизатора
1. "Зубчатый" LR scheduler
1. Прогрев через обычную тренировку

На совсем маленьких сетках всё грустно, но начиная с 250M метод начинает работать близко к обычной тренировке. На 1B видим уменьшение потребления RAM и ускорение на 50%. Сейчас ищем компьют на тренировку 1B-модели

Буду рад ретвиту вот этого треда — продвигать статьи это довольно сложно 😅



tgoop.com/dlinnlp/1660
Create:
Last Update:

Stack More Layers Differently: High-Rank Training Through Low-Rank Updates
Статья: arxiv.org/abs/2307.05695
Код: GitHub

Мы задались вопросом: если LoRA настолько хороша для файнтюнинга, можем ли мы применить её для претренинга?
Мы представляем ReLoRA — первый метод PEFT, который может использоваться для обучения с нуля! 🔥

Почему мы не можем использовать LoRA для претренинга? Потому что он оптимизирует только в маленьком подпространстве низкого ранга параметров модели. Этого достаточно для файнтюнинга, но не для претренинга. Что мы можем сделать?

Применить LoRA несколько раз подряд. Это работает, потому что параметры LoRA могут быть интегрированы в основную сеть (W += W_A @ W_B) и потому что сумма матриц низкого ранга может иметь ранг больше, ранги слагаемых.

Но теперь у нас новая проблема: оптимизаторы сильно полагаются на momentum который и определяет большую часть направления апдейта по предыдущим градиентам (а не текущему градиенту). Это делает шаги оптимизации сильно скоррелированными

Представьте первый шаг оптимизации после ресета ReLoRA. Он сделает параметры ReLoRA похожими на параметры предыдущей итерации. Это потенциально может "заполнить ранг" параметров LoRA и минимально увеличить суммарный ранг. Поэтому при ресете ReLoRA мы частично ресетим стейт оптимизатора сохраняя только 0-10% весов. Далее, чтобы избежать нестабильностей мы прогреваем LR 10-50 шагов

LayerNorm и эмбеддинги тренируются как обычно, без репараметризации. Наконец, ранняя фаза обучения очень важна, и нам действительно нужно "подогреть" сеть с помощью обычного полноценного обучения. На практике достаточно 3-5 тысяч шагов

TL;DR
1. LoRA + ресеты
1. Частичный сброс стейта оптимизатора
1. "Зубчатый" LR scheduler
1. Прогрев через обычную тренировку

На совсем маленьких сетках всё грустно, но начиная с 250M метод начинает работать близко к обычной тренировке. На 1B видим уменьшение потребления RAM и ускорение на 50%. Сейчас ищем компьют на тренировку 1B-модели

Буду рад ретвиту вот этого треда — продвигать статьи это довольно сложно 😅

BY DL in NLP




Share with your friend now:
tgoop.com/dlinnlp/1660

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” The group also hosted discussions on committing arson, Judge Hui said, including setting roadblocks on fire, hurling petrol bombs at police stations and teaching people to make such weapons. The conversation linked to arson went on for two to three months, Hui said. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. Add up to 50 administrators Select “New Channel”
from us


Telegram DL in NLP
FROM American