Forwarded from Gordey Goyman
Forwarded from DL in NLP (Vlad Lialin)
Одной строкой #11
1. Building makemore Part 4: Becoming a Backprop Ninja — новая лекция Андрея по бэкпропу. Теперь более хардкорно: пишем градиенты через MLP, cross-entropy, BatchNorm. Вы получите максимальную пользу если в начале попытаетесь решить задачки, а уже после этого посмотрите решения в видосе.
1. State of AI Report 2022 — топовый обзор что произошло в области за последний год. Написан довольно доступным языком, must read.
1. Очень math-forward введение в диффузионные модели с кодом на JAX.
1. Deep Dive on Google's Exascale TPUv4 AI Systems — 🔥 одна из самых подробных статей о TPU которые я видел в открытом доступе. Много интересных деталей, но если хотите просто узнать насколько 2048 TPUv4 быстрее 2048 A100 для трансформеров, то ответ на 15%.
1. Transformers 4.23: добавили несколько моделей включая Whisper и Deformable DETR. Начинают избавляться от pickle, сейчас экспериментируют с Safetensors.
1. A Gentle Introduction to 8-bit Matrix Multiplication — о том как использовать 8-bit с Transformers и экономить 4x памяти по сравнению с fp32.
1. Building makemore Part 4: Becoming a Backprop Ninja — новая лекция Андрея по бэкпропу. Теперь более хардкорно: пишем градиенты через MLP, cross-entropy, BatchNorm. Вы получите максимальную пользу если в начале попытаетесь решить задачки, а уже после этого посмотрите решения в видосе.
1. State of AI Report 2022 — топовый обзор что произошло в области за последний год. Написан довольно доступным языком, must read.
1. Очень math-forward введение в диффузионные модели с кодом на JAX.
1. Deep Dive on Google's Exascale TPUv4 AI Systems — 🔥 одна из самых подробных статей о TPU которые я видел в открытом доступе. Много интересных деталей, но если хотите просто узнать насколько 2048 TPUv4 быстрее 2048 A100 для трансформеров, то ответ на 15%.
1. Transformers 4.23: добавили несколько моделей включая Whisper и Deformable DETR. Начинают избавляться от pickle, сейчас экспериментируют с Safetensors.
1. A Gentle Introduction to 8-bit Matrix Multiplication — о том как использовать 8-bit с Transformers и экономить 4x памяти по сравнению с fp32.
Forwarded from gonzo-обзоры ML статей
Just in case, here is the book's GitHub repo: https://github.com/che-shr-cat/JAX-in-Action
GitHub
GitHub - che-shr-cat/Deep_Learning_with_JAX: Notebooks for the "Deep Learning with JAX" book
Notebooks for the "Deep Learning with JAX" book . Contribute to che-shr-cat/Deep_Learning_with_JAX development by creating an account on GitHub.
Forwarded from Поступашки - ШАД, Стажировки и Магистратура
#How_to_заботать
How to заботать дискретную математику?
Важнейшая дисциплина, без которой невозможно поступить в ШАД, в магистратуру, сдать ГОС, написать олимпиаду. Да и без нее невозможно просто чувствовать себя уверенно в программировании, DS, ведь там постоянно применяются понятия и скромные навыки, приобретенные в курсе дискретной математике. Да и частенько, помимо алгосов, ее спрашивают на собесах: в тестовом задании или на интервью, особенно в зарубежных офисах Европы и США.
Как всегда все книжки в комментариях, там же делимся своими любимыми материалами и опытом по боту дискретки😎😎
1) Комбинаторика
Как нестранно, у большинства с этим по началу проблемы, ибо обычно рассказывают общий случай, выражая его формулами, а потом пытаются подогнать условие новой задачи под эти формулы. Такой подход просто ужасен!! Вместо того, чтобы решать задачу, студент просто думает: здесь размещение с повторением или нет— угадай мелодию. Чтобы не попасть под этот конвейер дебилов, стоит просто рассмотреть, как можно больше живых примеров, стараться выводить каждую конструкцию с нуля, а не заучивать формулы, особенно это важно начинающим, ибо основная сложность комбинаторной задачи— формализовать, понять какое перед нами множество, как говорят в теории вероятностей: найти пространство исходов.
В этом поможет классика: "Ленинградские математические кружки" (главы Комбинаторика-1 и Комбинаторика-2), где куча прикольных примеров и задач. Особенно обратите внимание на раздел "Шары и Перегородки", который очень часто встречается в прикладных задачах и который очень любят спрашивать, особенно на собесах в ШАДы.
Если тяжеловато идет, то можно начать с "Комбинаторики" Виленкина, где куча-куча и куча-куча примеров, задач, написано все подробно и понятно. Единственное большой объем, но при этом есть даже главы про производящие функции и задачи из орбиты.
Также любопытные задачи можно встретить и в "Первой научной" подборке от Михаила Абрамовича.
Отмечу также важность комбинаторики: без нее, например, не сможете решать задачи на дискретную вероятность или не сможете даже посчитать сложность многих алгоритмов.
2) Множества
Что множества можно представлять как кружочки знают еще с детского сада, но вот на формулу включений/исключений есть и нормальные задачи, да и любят спросить на олимпиадах явно или неявно, например, в суммировании вероятностей и мат ожидания. Чтобы не попасть в просак смотрим первую главу Виленкина.
3) Текстовые задачи, Индукция, Принцип Дирихле, Игры...
Просто смотрим все темы текстовых задач в "Ленинградских кружках". Все это необходимая база и есть в каждом вступительном, да и опять же просто на собесах. По остальным разделам тоже советую пробежаться, ибо они важные элементы математической культуры. Теории и задач оттуда хватит на маги и собесы с лихвой, особенно хорошо задачи гуглятся на problems.ru. Для тестов и интервью на собесах подойдет порешать последнюю текстовую задачу из ЕГЭ (это не шутка), например, тесты в Тинек так и составляются. В ШАДах же любят давать эти идеи на сюжетах из других дисциплин: линейной алгебры или мат анализа. Если уже успели разобраться с ними, то проблем не возникнет.
4) Графы
Для начала берем "Ленинградские кружки" разбирает разделы "Графы - 1" и "Графы - 2". Теории там совсем мало, просто знакомитесь с основными определениями и общими приемами. Для хайповых магистратур этого вполне хватит.
Для ШАДов далее можно взять Гашкова "Дискретная математика", где много примеров и прикладных задач, да и в принципе он покрывает весь курс дискретки в ВУЗе. Потом "Теорию Графов" Омельченко и "Материалы Московской сборной" главу 12, чтобы посмотреть на теорию Рамсея, случайные графы. Если хотите прямо сильную прокачку по теории, то можете взять "Теорию Графов" Уилсон (книга достойная + очень много задач и упражнений).
How to заботать дискретную математику?
Важнейшая дисциплина, без которой невозможно поступить в ШАД, в магистратуру, сдать ГОС, написать олимпиаду. Да и без нее невозможно просто чувствовать себя уверенно в программировании, DS, ведь там постоянно применяются понятия и скромные навыки, приобретенные в курсе дискретной математике. Да и частенько, помимо алгосов, ее спрашивают на собесах: в тестовом задании или на интервью, особенно в зарубежных офисах Европы и США.
Как всегда все книжки в комментариях, там же делимся своими любимыми материалами и опытом по боту дискретки😎😎
1) Комбинаторика
Как нестранно, у большинства с этим по началу проблемы, ибо обычно рассказывают общий случай, выражая его формулами, а потом пытаются подогнать условие новой задачи под эти формулы. Такой подход просто ужасен!! Вместо того, чтобы решать задачу, студент просто думает: здесь размещение с повторением или нет— угадай мелодию. Чтобы не попасть под этот конвейер дебилов, стоит просто рассмотреть, как можно больше живых примеров, стараться выводить каждую конструкцию с нуля, а не заучивать формулы, особенно это важно начинающим, ибо основная сложность комбинаторной задачи— формализовать, понять какое перед нами множество, как говорят в теории вероятностей: найти пространство исходов.
В этом поможет классика: "Ленинградские математические кружки" (главы Комбинаторика-1 и Комбинаторика-2), где куча прикольных примеров и задач. Особенно обратите внимание на раздел "Шары и Перегородки", который очень часто встречается в прикладных задачах и который очень любят спрашивать, особенно на собесах в ШАДы.
Если тяжеловато идет, то можно начать с "Комбинаторики" Виленкина, где куча-куча и куча-куча примеров, задач, написано все подробно и понятно. Единственное большой объем, но при этом есть даже главы про производящие функции и задачи из орбиты.
Также любопытные задачи можно встретить и в "Первой научной" подборке от Михаила Абрамовича.
Отмечу также важность комбинаторики: без нее, например, не сможете решать задачи на дискретную вероятность или не сможете даже посчитать сложность многих алгоритмов.
2) Множества
Что множества можно представлять как кружочки знают еще с детского сада, но вот на формулу включений/исключений есть и нормальные задачи, да и любят спросить на олимпиадах явно или неявно, например, в суммировании вероятностей и мат ожидания. Чтобы не попасть в просак смотрим первую главу Виленкина.
3) Текстовые задачи, Индукция, Принцип Дирихле, Игры...
Просто смотрим все темы текстовых задач в "Ленинградских кружках". Все это необходимая база и есть в каждом вступительном, да и опять же просто на собесах. По остальным разделам тоже советую пробежаться, ибо они важные элементы математической культуры. Теории и задач оттуда хватит на маги и собесы с лихвой, особенно хорошо задачи гуглятся на problems.ru. Для тестов и интервью на собесах подойдет порешать последнюю текстовую задачу из ЕГЭ (это не шутка), например, тесты в Тинек так и составляются. В ШАДах же любят давать эти идеи на сюжетах из других дисциплин: линейной алгебры или мат анализа. Если уже успели разобраться с ними, то проблем не возникнет.
4) Графы
Для начала берем "Ленинградские кружки" разбирает разделы "Графы - 1" и "Графы - 2". Теории там совсем мало, просто знакомитесь с основными определениями и общими приемами. Для хайповых магистратур этого вполне хватит.
Для ШАДов далее можно взять Гашкова "Дискретная математика", где много примеров и прикладных задач, да и в принципе он покрывает весь курс дискретки в ВУЗе. Потом "Теорию Графов" Омельченко и "Материалы Московской сборной" главу 12, чтобы посмотреть на теорию Рамсея, случайные графы. Если хотите прямо сильную прокачку по теории, то можете взять "Теорию Графов" Уилсон (книга достойная + очень много задач и упражнений).
Forwarded from Поступашки - ШАД, Стажировки и Магистратура
5) Алгебра логики и автоматы
В ШАДе этого нет, а вот всякие хайповые магистратуры обожают вставлять такое в программу, хотя по факту если не идете на инфраструктуру, разработку, а например на ДС, то в экзамене у вас такого точно не будет. Для остальных несчастных предлагаю ВМКашный курс и "Введение в дискретную математику" Ябланского. Задачник пойдет любой.
На последок, стоит сказать, что никакой тяжелой последовательной теории в дискретной математике нет, ее спокойно рассказывают на кружках 6-клашам. Главное, как всегда научиться решать задачи, а если хотите стать мастером спорта по дискре в короткие сроки, то возможно вам подойдет наш курс по теории вероятностей и дискретной математике. Если же будет (((много огоньков и шэров))), то Михаила Абрамович обещал записать видос по основным теоремам и понятиям дискретной математики😎😎
В ШАДе этого нет, а вот всякие хайповые магистратуры обожают вставлять такое в программу, хотя по факту если не идете на инфраструктуру, разработку, а например на ДС, то в экзамене у вас такого точно не будет. Для остальных несчастных предлагаю ВМКашный курс и "Введение в дискретную математику" Ябланского. Задачник пойдет любой.
На последок, стоит сказать, что никакой тяжелой последовательной теории в дискретной математике нет, ее спокойно рассказывают на кружках 6-клашам. Главное, как всегда научиться решать задачи, а если хотите стать мастером спорта по дискре в короткие сроки, то возможно вам подойдет наш курс по теории вероятностей и дискретной математике. Если же будет (((много огоньков и шэров))), то Михаила Абрамович обещал записать видос по основным теоремам и понятиям дискретной математики😎😎
Forwarded from Artificial stupidity
#statistics
Сегодня поговорим об особенностях теста Манна-Уитни.
https://telegra.ph/O-Manne-Uitni-zamolvite-slovo-10-11
Сегодня поговорим об особенностях теста Манна-Уитни.
https://telegra.ph/O-Manne-Uitni-zamolvite-slovo-10-11
Telegraph
О Манне-Уитни замолвите слово.
Сегодня поговорим про тест Манна-Уитни (Mann-Whitney U rank test). Много вопросов и споров возникает при его использовании. Посему, будем разбираться, что там в предпосылках, что проверяется и вообще и чем речь. Итак, критерий достаточно старый, в 1945 его…
Forwarded from Data Science Private Sharing
#Tip27 #Train
При K-fold валидации прогнозы делаются на тестовых частях, которые не участвуют в обучении и эти прогнозы называются Out-of-Fold (OOF) Predictions.
Обычно они используются по прямому назначению - оценки модели.
Но можно их задействовать и более интересным способом - для стэкинга.
Стэкинг это способ построения ансамбля моделей, в котором есть базовые модели и есть мета модель.
Базовые модели обучаются на исходных данных, а мета-модель на предсказаниях базовых моделей.
Обычно для построения стекинга исходный датасет делится на несколько крупных частей из-за чего все модели увидят меньше данных. Но благодаря Out-of-Fold Predictions можно реализовать обучение на всех (почти) данных.
В соревновательном DS алгоритм в целом такой:
1. Разбиваем датасет с метками на трейн и эвал + у нас уже есть тестовый датасет от организаторов.
2. Трейн разбиваем на фолды.
3. Для каждого фолда:
- Обучаем модель на тренировочной части.
- Выполняем предсказание для тестовой части фолда и сохраняем предсказание в отдельный вектор, каждый элемент которого соответствует строке тренировочного датасета.
- Выполняем предсказание для валидационного датасета.
- Выполняем предсказание для тестового датасета.
4. Собранные предсказания на фолдах передаем в мета-модель как фичу.
5. Усредняем предсказания полученные для валидационного и тестового датасета.
6. С помощью мета-модели делаем предсказание для усредненных значений валидационного и тестового датасета.
7. Значения полученные для валидационного датасета используем для оценки, а значения полученные для тестового датасета заворачиваем в сабмит.
Реализуется данный алгоритм обычно вручную.
Варианты для изменений:
- На фолдах можно обучить несколько видов базовых моделей, тогда на вход мета-модели пойдет несколько фичей.
- На шаге обучения мета-модели можно присоединить фичи-предсказания к исходным фичам.
Для большей эффективности ансамбля для базовых и мета-модели стараются задействовать разные алгоритмы (линейные/KNN/деревья).
При K-fold валидации прогнозы делаются на тестовых частях, которые не участвуют в обучении и эти прогнозы называются Out-of-Fold (OOF) Predictions.
Обычно они используются по прямому назначению - оценки модели.
Но можно их задействовать и более интересным способом - для стэкинга.
Стэкинг это способ построения ансамбля моделей, в котором есть базовые модели и есть мета модель.
Базовые модели обучаются на исходных данных, а мета-модель на предсказаниях базовых моделей.
Обычно для построения стекинга исходный датасет делится на несколько крупных частей из-за чего все модели увидят меньше данных. Но благодаря Out-of-Fold Predictions можно реализовать обучение на всех (почти) данных.
В соревновательном DS алгоритм в целом такой:
1. Разбиваем датасет с метками на трейн и эвал + у нас уже есть тестовый датасет от организаторов.
2. Трейн разбиваем на фолды.
3. Для каждого фолда:
- Обучаем модель на тренировочной части.
- Выполняем предсказание для тестовой части фолда и сохраняем предсказание в отдельный вектор, каждый элемент которого соответствует строке тренировочного датасета.
- Выполняем предсказание для валидационного датасета.
- Выполняем предсказание для тестового датасета.
4. Собранные предсказания на фолдах передаем в мета-модель как фичу.
5. Усредняем предсказания полученные для валидационного и тестового датасета.
6. С помощью мета-модели делаем предсказание для усредненных значений валидационного и тестового датасета.
7. Значения полученные для валидационного датасета используем для оценки, а значения полученные для тестового датасета заворачиваем в сабмит.
Реализуется данный алгоритм обычно вручную.
Варианты для изменений:
- На фолдах можно обучить несколько видов базовых моделей, тогда на вход мета-модели пойдет несколько фичей.
- На шаге обучения мета-модели можно присоединить фичи-предсказания к исходным фичам.
Для большей эффективности ансамбля для базовых и мета-модели стараются задействовать разные алгоритмы (линейные/KNN/деревья).
Forwarded from Варим МЛ
Все знают, что при обучении сеток каждую эпоху надо шаффлить датасет. А есть ли смысл ещё как-то влиять на процесс сэмплинга данных? Может быть!
#Жека #machinelearning
#Жека #machinelearning
Telegraph
А вы, друзья, как ни садитесь...
Любой, кто хоть раз обучал нейронки, знает, что принято на каждой эпохе шаффлить датасет, чтобы не повторялся порядок батчей. А зачем это делать? Обычно это объясняют тем, что шаффлинг улучшает генерализацию сетей, делает точнее эстимейт градиента на батчах…
Forwarded from ИЦ "ГЕВИССТА"
Forwarded from ИЦ "ГЕВИССТА"
Признаки для временных рядов – скользящие разности
Обычно в прогнозировании временных рядов используют два вида скользящих разностей. Тестовую часть защищаете от протечек значениями NaN.
# и минимальным значениями окна, окно шириной 4,
# c лагом 1
# первым значениями окна, окно шириной 4, с лагом 1
Обычно в прогнозировании временных рядов используют два вида скользящих разностей. Тестовую часть защищаете от протечек значениями NaN.
# считаем скользящие разности между максимальным # и минимальным значениями окна, окно шириной 4,
# c лагом 1
data['rolling_diff4_max_min'] = data['sales'].shift(periods=1).rolling(
window=4, min_periods=1).apply(lambda x: max(x) - min(x))
# вручную считаем скользящие разности между последним и# первым значениями окна, окно шириной 4, с лагом 1
data['rolling_diff4_last_frst'] = data['sales'].shift(periods=1).rolling(
window=4, min_periods=1).apply(lambda x: x.iloc[-1] - x.iloc[0])
Ну и куда без подводных камней. Последняя разность между максимальным и минимальным значениями в тестовой части всегда будет равна 0, обычно нулевое значение заменяют последней разностью между максимальным и минимальным значениями в обучающей части. Разности между последним и первым значениями в тестовой части получат пропуски, обычно их заменяют нулями. Разности применяйте для градиентных бустингов. Они либо не работают вовсе, либо работают очень хорошо, резко улучшая качество модели. Я использую их в работе, они хорошо работали вот в этом соревновании https://www.kaggle.com/competitions/store-sales-time-series-forecasting/overview. В книге по рядам подробнее покажу примеры использования.Kaggle
Store Sales - Time Series Forecasting
Use machine learning to predict grocery sales