Forwarded from Кодим на Коленке | Уроки по программированию
Forwarded from Small Data Science for Russian Adventurers
#полезно
Визуализация разных видов "обучений" из обзора "A continual learning survey"
Есть ещё такие обзоры на тему Continual Learning:
- Embracing Change: Continual Learning in Deep Neural Networks
- Continual lifelong learning with neural networks: A review
- A wholistic view of continual learning with deep neural networks: Forgotten lessons and the bridge to active and open world learning
Визуализация разных видов "обучений" из обзора "A continual learning survey"
Есть ещё такие обзоры на тему Continual Learning:
- Embracing Change: Continual Learning in Deep Neural Networks
- Continual lifelong learning with neural networks: A review
- A wholistic view of continual learning with deep neural networks: Forgotten lessons and the bridge to active and open world learning
Forwarded from Борис опять
Решил разобраться в ONNX и оптимизации инференса моделей. Это видео помогло понять общую картину
https://www.youtube.com/watch?v=cK5AyawZSUI
https://www.youtube.com/watch?v=cK5AyawZSUI
YouTube
Everything You Want to Know About ONNX
Open Neural Network Exchange (ONNX) is an open format built to represent machine learning models. It defines the building blocks of machine learning and deep learning models along with a common file format to enable AI developers to use models with a variety…
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
А вы, друзья, как ни садитесь...
Любой, кто хоть раз обучал нейронки, знает, что принято на каждой эпохе шаффлить датасет, чтобы не повторялся порядок батчей. А зачем это делать? Обычно это объясняют тем, что шаффлинг улучшает генерализацию сетей, делает точнее эстимейт градиента на батчах…