Forwarded from Machinelearning
SALSA (Stable Armijo Line Search Adaptation) — метод, разработанный для оптимизации Learning Rate (LR) во время обучения.
Основная концепция метода построена вокруг выполнения линейного поиска для определения наилучшего возможного LR для каждого шага обучения, что дает быструю сходимость и улучшенное обобщение.
Чтобы уменьшить вычислительную нагрузку, Salsa предлагает пошаговый миниатюрный линейный поиск. В нем LR постепенно увеличивается с каждым шагом, а критерий линейного поиска постоянно переоценивается.
Дополнительно, Salsa включает экспоненциальное сглаживание в процесс линейного поиска и устанавливает два экспоненциальных скользящих средних для скорости обучения. Это помогает стабилизировать оптимизацию и уменьшить нестабильность от мини-пакетирования.
Экспериментальные результаты показывают, что Salsa превосходит другие методы оптимизации: 50% сокращение final loss и 1,25 average rank в языковых и графических задачах.
Вычислительные издержки Salsa всего на 3% выше, чем у базового LR метода, что можно воспринимать как незначительным увеличением, учитывая показатели производительности. Salsa достаточно универсален, чтобы использоваться с различными оптимизаторами, и особенно эффективен при обучении современных архитектур, которые чувствительны к скорости обучения.
# Clone repository:
git clone https://github.com/TheMody/No-learning-rates-needed-Introducing-SALSA-Stable-Armijo-Line-Search-Adaptation.git
# Create & activate env:
conda env create -f environment.yml
conda activate sls3
# Install dependencies:
pip install pytorch numpy transformers datasets tensorflow-datasets wandb
# NOTE: custom optimizer is in \salsa\SaLSA.py,comparison version are in \salsa\adam_sls.py:
from salsa.SaLSA import SaLSA
self.optimizer = SaLSA(model.parameters())
# NOTE: typical pytorch forward pass needs to be changed to:
def closure(backwards = False):
y_pred = model(x)
loss = criterion(y_pred, y)
if backwards: loss.backward()
return loss
optimizer.zero_grad()
loss = optimizer.step(closure = closure)
@ai_machinelearning_big_data
#AI #LLM #ML #Train #SALSA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Ничего необычного, просто 16-летний парень и его 5-часовое видео с полным руководством по математике для глубокого обучения
Внутри – все про якобианы, производные, градиенты, алгоритм обратного распространения ошибки, функции активации и др. Автор – Адам Дхалла из Канады, и на момент создания видео ему только исполнилось 16.
Сейчас парню 19, он создал очень перспективный алгоритм для классификации местоположений белков в клетках и уже имеет пожизненное финансирование исследований от Schmidt Futures😦
Внутри – все про якобианы, производные, градиенты, алгоритм обратного распространения ошибки, функции активации и др. Автор – Адам Дхалла из Канады, и на момент создания видео ему только исполнилось 16.
Сейчас парню 19, он создал очень перспективный алгоритм для классификации местоположений белков в клетках и уже имеет пожизненное финансирование исследований от Schmidt Futures
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Как работают SSM – главные конкуренты трансформеров?
SSM (State space models) были изобретены еще в 60-е годы. Тогда они использовались для моделирования непрерывных процессов. Но не так давно было придумано, как использовать SSM в глубоком обучении, и теперь они – главные кандидаты на роль новой серебряной пули архитектур. Например, Mistral недавно сделали на основе SSM модель Codestral, которая на метриках разбила почти все другие открытые модели.
Понятная схема того, как работает архитектура – наверху. Если присмотреться, то станет понятно, что SSM – это умный вариант RNN, а матрицы А, В, С и D – аналоги гейтов забывания, входного состояния и выходного состояния из LSTM.
Но главная прелесть SSM в том, что она построена на стыке двух мощных архитектур: сверточных нейросетей и рекуррентных. Да, все обучаемые параметры можно собрать в единое ядро и использовать его для свертки. Получается, что мы можем использовать все плюсы (и в частности линейность) рекуррентных нейронных сетей, но при этом представлять их как сверточные, которые в свою очередь можно распараллелить.
Если хотите немного подробнее прочитать об SSM – загляните в нашу статью про конкурентов трансформерам. Там найдете и понятное объяснение принципа работы RNN, и пошаговую экскурсию по SSM, и даже про самые свежие Mamba и Hawk сможете почитать.
SSM (State space models) были изобретены еще в 60-е годы. Тогда они использовались для моделирования непрерывных процессов. Но не так давно было придумано, как использовать SSM в глубоком обучении, и теперь они – главные кандидаты на роль новой серебряной пули архитектур. Например, Mistral недавно сделали на основе SSM модель Codestral, которая на метриках разбила почти все другие открытые модели.
Понятная схема того, как работает архитектура – наверху. Если присмотреться, то станет понятно, что SSM – это умный вариант RNN, а матрицы А, В, С и D – аналоги гейтов забывания, входного состояния и выходного состояния из LSTM.
Но главная прелесть SSM в том, что она построена на стыке двух мощных архитектур: сверточных нейросетей и рекуррентных. Да, все обучаемые параметры можно собрать в единое ядро и использовать его для свертки. Получается, что мы можем использовать все плюсы (и в частности линейность) рекуррентных нейронных сетей, но при этом представлять их как сверточные, которые в свою очередь можно распараллелить.
Если хотите немного подробнее прочитать об SSM – загляните в нашу статью про конкурентов трансформерам. Там найдете и понятное объяснение принципа работы RNN, и пошаговую экскурсию по SSM, и даже про самые свежие Mamba и Hawk сможете почитать.
Forwarded from Data Secrets
Прямо сейчас в Корейском технологическом KAIST проходит крутой курс по генеративным нейросетям, и мы нашли страницу, на которой выкладывают все записи и презентации
Вот ссылка. В программе курса GAN, VAE, диффузионки, дистилляция... В общем, все от А до Я, и базовое, и продвинутое, с особенным упором на актуальные сегодня архитектуры и техники.
На странице также выложен список полезных материалов и полный список статей, которые упоминаются в ходе курса (кладезь!). А еще туда прикреляют ссылки на домашки и блокноты с очень детально объясненным в ридми и откоментированным кодом с семинаров.
Такое сохраняем
Вот ссылка. В программе курса GAN, VAE, диффузионки, дистилляция... В общем, все от А до Я, и базовое, и продвинутое, с особенным упором на актуальные сегодня архитектуры и техники.
На странице также выложен список полезных материалов и полный список статей, которые упоминаются в ходе курса (кладезь!). А еще туда прикреляют ссылки на домашки и блокноты с очень детально объясненным в ридми и откоментированным кодом с семинаров.
Такое сохраняем
Forwarded from Data Secrets
Anthropic написали интересную статью о том, как нам на самом деле следует оценивать модели
Сейчас бенчмаркинг происходит довольно наивно: у нас есть список вопросов, на каждый из которых модель отвечает и получает за ответ определенный балл, а общая оценка обычно представляет из себя просто среднее по всем таким баллам. Но действительно ли нам интересно только среднее?
Антропики утверждают, что с точки зрения статистики такой классический эвал слишком упрощен, и дают пять советов о том, как сделать свои оценки статистически значимыми и более глубокими. В основе их подхода привычное предположение матстата: все вопросы, которые у нас есть – это какая-то случайная подвыборка генеральной совокупности всевозможных вопросов, которые вообще можно задать. А значит, называть среднее на каком-то бенчмарке оценкой навыка модели – слишком грубо. Вот что на самом деле стоит делать:
1. Использовать ЦПТ. Основываясь на центральной предельной теореме, средние значения нескольких выборок, взятых из одного и того же распределения, будут распределены нормально. А значит, мы можем взять из нашего бенчмарка несколько подмножеств (можно даже пересекающихся), оценить каждое из них, а на получившихся средних подсчитать SEM (стандартную ошибку среднего) и доверительный интервал.
2. Если вопросы в бенчмарке не независимы (например задаются вопросы по одному и тому же тексту), то ЦПТ исполользовать уже нельзя. Здесь предлагается вспомнить про Cluster standard errors.
3. Если дисперсия вашей модели высокая, то это важно учитывать в эвале, потому что дисперсия – это по сути оценка надежности модели. Поэтому исследователи предлагают также изменить стратегию оценки каждого отдельного вопроса. Вместо наивной оценки они предлагают двусоставную, состоящую из среднего балла (задаем вопрос много-много раз и считаем среднее) плюс ошибки отклонения (разница между реализованным баллов вопроса и средним баллом для этого вопроса).
4. Вместо обычного "больше-меньше" для сравнения двух моделей использовать статистические тесты. Однако использовать t-test все-таки не рекомендуется, вместо этого в статье предлагается более сложная формула, которая также учитывает корреляцию Пирсона и минимизирует mean difference error.
5. Не забывать про мощность критериев в оценках и формулировать правильные гипотезы для сравнения моделей.
Рекомендации, в общем, действительно стоящие. Другой вопрос – сколько времени постребуется, чтобы ресерчеры действительно стали соблюдать что-то подобное
Сейчас бенчмаркинг происходит довольно наивно: у нас есть список вопросов, на каждый из которых модель отвечает и получает за ответ определенный балл, а общая оценка обычно представляет из себя просто среднее по всем таким баллам. Но действительно ли нам интересно только среднее?
Антропики утверждают, что с точки зрения статистики такой классический эвал слишком упрощен, и дают пять советов о том, как сделать свои оценки статистически значимыми и более глубокими. В основе их подхода привычное предположение матстата: все вопросы, которые у нас есть – это какая-то случайная подвыборка генеральной совокупности всевозможных вопросов, которые вообще можно задать. А значит, называть среднее на каком-то бенчмарке оценкой навыка модели – слишком грубо. Вот что на самом деле стоит делать:
1. Использовать ЦПТ. Основываясь на центральной предельной теореме, средние значения нескольких выборок, взятых из одного и того же распределения, будут распределены нормально. А значит, мы можем взять из нашего бенчмарка несколько подмножеств (можно даже пересекающихся), оценить каждое из них, а на получившихся средних подсчитать SEM (стандартную ошибку среднего) и доверительный интервал.
2. Если вопросы в бенчмарке не независимы (например задаются вопросы по одному и тому же тексту), то ЦПТ исполользовать уже нельзя. Здесь предлагается вспомнить про Cluster standard errors.
3. Если дисперсия вашей модели высокая, то это важно учитывать в эвале, потому что дисперсия – это по сути оценка надежности модели. Поэтому исследователи предлагают также изменить стратегию оценки каждого отдельного вопроса. Вместо наивной оценки они предлагают двусоставную, состоящую из среднего балла (задаем вопрос много-много раз и считаем среднее) плюс ошибки отклонения (разница между реализованным баллов вопроса и средним баллом для этого вопроса).
4. Вместо обычного "больше-меньше" для сравнения двух моделей использовать статистические тесты. Однако использовать t-test все-таки не рекомендуется, вместо этого в статье предлагается более сложная формула, которая также учитывает корреляцию Пирсона и минимизирует mean difference error.
5. Не забывать про мощность критериев в оценках и формулировать правильные гипотезы для сравнения моделей.
Рекомендации, в общем, действительно стоящие. Другой вопрос – сколько времени постребуется, чтобы ресерчеры действительно стали соблюдать что-то подобное
Forwarded from TrendWatching
This media is not supported in your browser
VIEW IN TELEGRAM
Гарвард, Стэнфорд, MIT выкатили БЕСПЛАТНЫЕ онлайн-курсы для самостоятельного обучения.
Можно найти курс АБСОЛЮТНО по любой тематике: программирование, социальные науки, медицина. Вот весь список со ссылками:
Сохраняем и пользуемся.
Можно найти курс АБСОЛЮТНО по любой тематике: программирование, социальные науки, медицина. Вот весь список со ссылками:
• Гарвард: Широкий выбор курсов по различным дисциплинам.
• MIT OpenCourseWare: Материалы с лекциями, заданиями и экзаменами.
• Стэнфордский университет: Инновационные программы и бесплатные курсы.
• Калифорнийский университет в Беркли: Разнообразные курсы высокого уровня.
• Оксфордский университет: Образование мирового класса.
• Кембриджский университет: Престижное образование и бесплатные курсы.
Платформы:
• edX: Бесплатные курсы от ведущих университетов.
• Coursera: Курсы от университетов и компаний.
• Khan Academy: Курсы по точным наукам и программированию.
• OpenLearn: Курсы от Открытого университета Великобритании.
• FutureLearn: Совместные курсы с университетами.
• Udemy: Платные и бесплатные курсы от преподавателей.
• LinkedIn Learning: Курсы для профессионального роста.
Сохраняем и пользуемся.
Forwarded from ИИ тебе
Forwarded from Machinelearning
Свежее руководство по обучению с подкреплением, которое очень подробно объясняет всю теорию и детали реализации каждого алгоритма в этой области со множеством примеров и кодом.
Наслаждайтесь чтением)
📌 Читать
@ai_machinelearning_big_data
#ml #reinforcementlearning #rl #guide
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM