Образования пост Немного про оптимизаторы.
Многие обучая модели, в качестве оптимизатора используют адамв, и даже не задумываются что сейчас есть довольно много интересных альтернатив. Например софия позволила выбить большее качество для gpt2 учившегося на том же датасете, а адафатор смог снизить требуемый оверхед по памяти адама почти в 2 раза, с сохранением 99% качества.
Если идти исторический, то первым набором импрувментов к классическому SGD были различные улутшалки добавляющие учет "скорости". Мы позволили нашей модели проскакивать локальные экстремумы, "набирать скорость" на затяжных спусках, и действовать аккуратно вблизи оптимума
Затем мы начали сохранять ема предыдущих градиентов, "сглаживая" обучение, что вылилось в адам - самый популярный оптимизатор в данный момент. За ним исследователи разделились на две ветки
Первые пытаются улучшить сходимость моделей, в основном засчет оценки гессиана (градиентов второго порядка). Рассчитать его по честному сложно, так как размер матрицы вторых производных по всевозможным парам параметров зависит от числа параметров квадратично (в ней буквально N^2 значений), так что исследователи пытаются придумать различные эвристики что бы дать хорошую оценку за линейную сложность - лучше всех в этом преуспела Sophia
Вторые пытаются облегчить адам, что бы сделать его быстрее, или менее требовательным к памяти. Например можно хранить стейт адама в неполной точности (adam-8бит), или вместо него хранить только агрегированную информацию (суммы скользящих средних по строкам и столбцам), что значительно уменьшает объем занимаемой памяти (adafactor). Это снижает стабильность обучения, но зато мы влезаем в меньшие гпу
Post #92
1.34K


- 👍 9
- 🔥 5
- ❤ 4