В дополнение к сегодняшнему посту про ADAM: как раз недавно появился новый оптимизатор Sophia. Авторы утверждают, что он в 2x быстрее, чем Adam для тренировки LLM
Sophia использует быструю оценку матрицы вторых производных – Гессиана (см псевдокод в картинке), для того чтобы быстрее двигаться в плоских областях ландшафта функции потерь. Именно в таких местах Адам тормозит, а вторые производные как раз помогают более точно понять, в каком направлении нужно оптимизировать параметры.
На вторых производных уже были основаны многие алгоритмы – методы второго порядка, но вычислять Гессиан в общем случае довольно сложно(и медленно), поэтому они так и не получили распространения для обучения нейросеток. Но Sophia показывает, что оценить диагональные элементы Гессиана можно довольно быстро. Кстати, памяти расходуется тоже меньше: Sophia не хранит моменты второго порядка.
Статья
Код
😻 #news #train
Sophia использует быструю оценку матрицы вторых производных – Гессиана (см псевдокод в картинке), для того чтобы быстрее двигаться в плоских областях ландшафта функции потерь. Именно в таких местах Адам тормозит, а вторые производные как раз помогают более точно понять, в каком направлении нужно оптимизировать параметры.
На вторых производных уже были основаны многие алгоритмы – методы второго порядка, но вычислять Гессиан в общем случае довольно сложно(и медленно), поэтому они так и не получили распространения для обучения нейросеток. Но Sophia показывает, что оценить диагональные элементы Гессиана можно довольно быстро. Кстати, памяти расходуется тоже меньше: Sophia не хранит моменты второго порядка.
Статья
Код
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤9
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
This media is not supported in your browser
VIEW IN TELEGRAM
Очень милое и визуально приятное исследование от Яндекса про упоминание животных в названиях улиц
Получилось, что больше половины названий люди связали с птицами, четверть — с млекопитающими. Ещё почти 10 % пришлись на рыб и 5 % на насекомых. Дикие животные упоминаются в названиях гораздо чаще домашних — на них приходится почти 90 % изученных улиц. Самые распространённые из числа домашних — лошадь, коза, корова, гусь и пчела.
😻 #advice
Получилось, что больше половины названий люди связали с птицами, четверть — с млекопитающими. Ещё почти 10 % пришлись на рыб и 5 % на насекомых. Дикие животные упоминаются в названиях гораздо чаще домашних — на них приходится почти 90 % изученных улиц. Самые распространённые из числа домашних — лошадь, коза, корова, гусь и пчела.
Please open Telegram to view this post
VIEW IN TELEGRAM
🙈16🔥8💅5😁3
Модели экспоненциального сглаживания, и какие они бывают
Пройдемся во верхам, не углубляясь в математику. Поможет освежить в памяти тем, кто знал, и познакомиться с темой тем, кто только начинает изучение.
😻 #train #analytics
Пройдемся во верхам, не углубляясь в математику. Поможет освежить в памяти тем, кто знал, и познакомиться с темой тем, кто только начинает изучение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
Мы тут придумали эскизы тату для трушных ML-пацанов и девчонок 🐺
Набили бы?
P.S. Ваши варианты – в комментарии
😻 #memes
Набили бы?
P.S. Ваши варианты – в комментарии
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36🔥13👍2🍌1
tqdm в pandas
Если применить apply к большому датафрейму, на это может уйти много времени, но сложно сказать, сколько именно. В таких ситуациях хочется научиться как-то отслеживать прогресс. Чтобы это сделать, можно использовать tqdm.
Для этого сначала установим/обновим бибилиотеку:
Затем испортируем tqdm и применяем вместо обычного apply функцию progress_apply. Работает она точно так же, только еще показывает прогресс-бар:
Кстати, еще можно менять формат бара через опцию bar_format. Например:
😻 #python
Если применить apply к большому датафрейму, на это может уйти много времени, но сложно сказать, сколько именно. В таких ситуациях хочется научиться как-то отслеживать прогресс. Чтобы это сделать, можно использовать tqdm.
Для этого сначала установим/обновим бибилиотеку:
pip install tqdm
pip install tqdm -U
Затем испортируем tqdm и применяем вместо обычного apply функцию progress_apply. Работает она точно так же, только еще показывает прогресс-бар:
df = pd.DataFrame(np.random.randint(0, 100, (1000000, 100)))
tqdm.pandas(desc="power DataFrame 1M x 100 of random int!")
df.progress_apply(lambda x: x**2)
df.groupby(0)[1].count().progress_apply(lambda x: x**2)
Кстати, еще можно менять формат бара через опцию bar_format. Например:
tqdm.pandas(desc="MyBar", bar_format='{desc:<5.5}{percentage:3.0f}%|{bar:50}{r_bar}')Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
DBSCAN: интересный алгоритм кластеризации
DBSCAN (Density-based spatial clustering of applications with noise), как следует из названия, оперирует плотностью данных. На вход он просит матрицу близости и два параметра — радиус епсилон-окрестности и количество соседей. Так сразу и не поймёшь, что это за параметры и как из выбрать. И кроме того, причем тут плотность и когда вообще применять DBSCAN? Давайте разберёмся.
😻 #train #math
DBSCAN (Density-based spatial clustering of applications with noise), как следует из названия, оперирует плотностью данных. На вход он просит матрицу близости и два параметра — радиус епсилон-окрестности и количество соседей. Так сразу и не поймёшь, что это за параметры и как из выбрать. И кроме того, причем тут плотность и когда вообще применять DBSCAN? Давайте разберёмся.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍7🆒3