Kogut Ivan Tutoring @kogutivantutoring Channel on Telegram

Kogut Ivan Tutoring

@kogutivantutoring


Алгоритмы и машинное обучение
Автор: @KogutIvan
Чат канала: https://t.me/+NICd2DPBevtmNWUy
Все большие посты: https://buildin.ai/share/d9d3e8b1-9909-4aba-9afd-feec0bb267d4?embed=true
По сотрудничеству писать @Polli_zz

Kogut Ivan Tutoring (Russian)

Kogut Ivan Tutoring - это канал, посвященный алгоритмам и машинному обучению. Ведущий канала - Иван Когут, специалист в этой области. На канале вы можете найти полезные материалы, советы, статьи и примеры из мира алгоритмов и искусственного интеллекта. Если вам интересно узнать больше о технологиях будущего и развивать свои навыки в этой области, то канал Kogut Ivan Tutoring - идеальное место для вас. Присоединяйтесь к нам и станьте частью сообщества учащихся и профессионалов! Для обсуждения и сотрудничества вы также можете присоединиться к нашему чату по ссылке: https://t.me/+NICd2DPBevtmNWUy

Kogut Ivan Tutoring

28 Jan, 06:09


МОШ - где порешать прошлые года
#АлгоРесурсы

В прошлую пятницу подвели итоги отборочного этапа олимпиады МОШ по информатике для 6-9 классов - https://t.me/inf_mosh_25/9. И в начале февраля (обычно так) уже будет финал!
Кто прошел в финал, поздравляю 🥳

Но к финалу надо готовиться, и минимальная подготовка к любой олимпиаде - это прорешивание ее контестов прошлых лет
На сайте самой олимпиады за прошлый год есть только условия задач, разбор и архивы, но нет ссылки на контест - https://mos-inf.olimpiada.ru/archiv_2023_2024

Найти, где можно заслать эти задачи чуть сложнее) Поэтому делимся ссылкой, где есть все задачи прошлых финалов (не только 24 года) - https://informatics.msk.ru/course/view.php?id=13#section-1
Да, виртуального участия там нет, но можно просто поставить таймер на 3 часа, если 6 класс и младше или 4 часа, если 7-9 класс

Всем удачи в подготовке и на самом финале!

Kogut Ivan Tutoring

21 Jan, 19:25


Рюкзак
#АлгоЕжемесячныеТемы
1️⃣1️⃣

Предисловие + теория: TODO
По мотивам задачи C со 2 тура региона 2025 года...

Это классическая задача и алгоритм, который рассказывают почти сразу же после базовых задач на динамическое программирование и я уверен, что многие знают как его писать. НО! У него много разных вариаций и можно еще кучу похожих придумать. Поэтому, как и во всех других темах, нужно не заучить алгоритм, а осознать детально его принцип действия. Иначе случится задача C со 2 тура региона

Пререквизиты:
🔙
Базовые задачи ДП
🔙 Базовые задачи на двумерное ДП

Еще теория + первые задачи:
📚 Материал от Яндекс Кружка - кратко формулировки и решение 4 разновидностей рюкзака с кодом на C++
📼 Лекция Паши Маврина - до 28 минуты стандарт, а дальше как при мелком n решать (перебор и MITM)
💻 Задача с информатикса 1 - 0-1 рюкзак: точный вес
💻 Задача с информатикса 2 - 0-1 рюкзак: наибольший вес
💻 Задача с информатикса 3 - 0-1 рюкзак: минимум предметов
💻 Задача с информатикса 4 - рюкзак
💻 Задача с информатикса 5 - рюкзак с восстановлением ответа

KIT контест по теме с периодически пополняемыми задачами
:
🔄 Контест - сейчас там пока 3 задачи, но будут еще. Для решения нужно вступить в группу на кф - ссылка

Вопросы на понимание темы:
Задача: есть 2n игроков, у каждого свой скилл ai. Нужно разделить их на две команды равные по суммарному скиллу, но не обязательно равные по количеству игроков. Как решать?
❗️ Если сумма всех ai не делится на 2, то такого разделения точно нет. Иначе скилл каждой из команд = sum(ai) / 2. То есть, если соберем команду с таким суммарным скиллом, то вторая команда автоматически будет с таким же скиллом. А сборка одной команды это задача о рюкзаке 0-1: точный вес (в данном случае, скилл)

Та же самая задача, что и сверху, но теперь команды должны быть равны еще и по количеству игроков. Как решать?
❗️ В добавку к прошлому решению в команде должно быть n игроков. Давайте в ДП добавим еще одно измерение: dp[i][w][k] - можем брать игроков с 0 по i, нужно набрать суммарно w скилла и уже k игроков взято. Тем самым, асимптотика O(n^2W)

Делитесь с друзьями, задачи будут интересны любому уровню!

💬 Следующие темы смело предлагайте в комментариях. Также, делитесь интересными задачами и материалами по этой теме, тут их точно еще полно)

Kogut Ivan Tutoring

13 Jan, 12:59


Друзья, привет!

Приглашаем вас на Data-завтрак в офис Яндекса 18 января

Темы докладов:

▶️ Как завести LLM в проде. Опыт бигтехов.
Михаил Хрущев, руководитель группы претрейна YandexGPT, Яндекс.

▶️ Подходы к поиску причинно-следственных связей между временными рядами.
Даниил Булев, аналитик-разработчик моделей машинного обучения, Naumen.

▶️Использование ANN (приближенный поиск ближайших соседей) в рекомендательных системах и обзор текущих SOTA алгоритмов приближенного поиска по открытым бенчмаркам
Виктор Сергеев, старший разработчик, Яндекс.

Встречаемся в субботу, 18 января, в 10:30 в БЦ Палладиум, Хохрякова 10. Доклады начнутся в 11:00.

✏️ Регистрация на Data-завтрак

PS: Регистрация необходима, чтобы мы дали вам доступ в БЦ.

Kogut Ivan Tutoring

13 Jan, 12:59


ML движ в ЕКБ
#Event

Нет времени объяснять, поэтому короткий пост

Пока школьники будут в субботу развлекаться с региональным этапом, приглашаю всех на ML митап в ЕКБ в Яндексе
По инсайтам уже половина мест забронили, поэтому успевайте зарегаться!

Я там тоже скорее всего буду, поэтому сможем поболтать
Ставьте 👌 - кто зарегался. Делаем движ в ЕКБ масштабнее!

UPD. Уже Sold Out - за 34 минуты 😰 Но это не последний такой движ. В следующий раз места будет больше, поэтому Stay Tuned

Kogut Ivan Tutoring

06 Jan, 16:16


Цели на год
#ЖизаПост

Пока Январские еще один пост не про ML и алгоритмы

В этом году решил по всем сферам жизни расписать цели на год ✍️. До этого либо не писал, либо писал, но только по работе или учебе. Но в этом году чувствую, что прям надо

Обычно я не особо трекал прогресс по ним или вовсе забивал. В этот раз заморочился сделать это удобным, поэтому потратил где-то полдня 😅

В момент написания мне стало интересно, а как относятся к написанию целей на год другие. Поэтому, кому не сложно, тыкните в опрос свой выбор ⤵️ А расширенное мнение пишите в комментах

Kogut Ivan Tutoring

31 Dec, 07:23


🎄 Итоги 2024 года 🎄
#ЖизаПост

Если совсем кратко, то получил высшее образование, продуктивно работал в Яндексе и над своими проектами, путешестовал, активно занимался спортом

По хронологии в постах:
🔄 Запуск и продуктивный год наших занятий по олимпиадному программированию (рост и результаты учеников): https://t.me/KogutIvanTutoring/190
🔄 Отметили 1 год канала контестом (там и чемпион ICPC участие принял): https://t.me/KogutIvanTutoring/179
🔄 Выступление на ПИК-it - 1 выступление на большую аудиторию оффлайн: https://t.me/KogutIvanTutoring/180
🔄 2 раз закончил ШАД: https://t.me/KogutIvanTutoring/182
🔄 Закончил магистратуру ВШЭ: https://t.me/KogutIvanTutoring/185
🔄 Впервые побывал в Азии: https://t.me/KogutIvanTutoring/210
🔄 Впервые побывал на крупной IT-конференции оффлайн (Highload): https://t.me/KogutIvanTutoring/216

Из того, что не было в постах:
🔄 Стабильней стал заниматься спортом (баскетболом). Со времен универа я чаще играл на соревнованиях, чем тренировался, а должно быть наоборот)
🔄 Свозил маму в отпуск
🔄 В Яндексе выкатили с нуля продукт в прод и сейчас его масштабируем, чуть изменив концепцию (сорри за абстракции, но пока NDA)
🔄 Впервые с друзьями сгоняли в мини-путешествие
🔄 Начал вводить в привычку чтение книг - всегда не особо это делал

Спасибо всем, кто следит за каналом, помогает расти ему и проектам, связанным с ним 👋. Дальше - больше!
Всех с наступающим Новым годом! Желаю крепкого здоровья, продуктивной работы, заслуженных достижений и кучу счастливых моментов ❤️

Kogut Ivan Tutoring

27 Dec, 14:39


Подготовка к региону по информатике
#АлгоРесурсы

Чем ближе Новый Год, тем ближе и региональный этап ВСОШ по информатике...

В этот раз он пройдет 18 и 20 января
Значит надо хорошенько отдохнуть с семьей и друзьями, а потом вернуться в боевой режим. Для такой перестройки сборы подходят лучше всего. Напомню про самые масштабные из них:

Онлайн Сборы от Яндекс Кружка
🗓 9 - 16 января
ℹ️ Подробная информация
Ссылка на регистрацию

Онлайн Сборы от Т-Банка и Сборника Олпрогера
🗓 3 - 8 января
ℹ️ Подробная информация
Ссылка на регистрацию

Очень круто, что у них нет пересечения и можно с перерывом в 1 день отрешать все контесты 👨‍💻 Но я бы посоветовал 2 последних дня все-таки пропустить и хорошенько отдохнуть перед самим регионом, но тут вам решать самим

Kogut Ivan Tutoring

24 Dec, 15:00


Кому точно нужна математика?
#MLРесурсы

И только не врите, что тоже не обсуждали это в кругу ITшников, мол она не пригождается в работе)
Понятно, что она точно полезна хоть бэкендеру, хоть MLщику, но кто чаще всего использует именно ее в работе? Конечно же - аналитик

Именно им нужно считать как долго держать эксперимент, доказывать почему стоит катить очередной эксперимент в прод и строить красивые и понятные каждому дашборды

Я как-то уже писал немного про статистику, а именно про bootstrap. Можно почитать здесь. Но я скорее разработчик, поэтому больше почитать про математику, статистику и будни аналитика можете у Саши, аналитика Авито, в канале - @hochu_v_stem

Из прикольного сразу могу отметить посты-комиксы про теорию вероятностей и статистику в доступном формате. Например, корреляция и зависимость событий не одно и тоже или парадокс Симпсона (если не знаешь или забыл, то точно стоит глянуть).

Также, есть рассуждения на вещи по серьезней. Например, почему А/Б тесты необходимы для любых фичей. Или даже рассмотрение переговора о ЗП как игры (Саша совсем не зря занималась теорией игр в универе и видит отличное применение 😉)

💬 Пишите в комменты какие ресурсы вы читаете по статистике, теории вероятностей и аналитике

Kogut Ivan Tutoring

20 Dec, 19:11


И в спортпроге нейронки победили?
#MLВброс

У вас есть время позаниматься спортпрогом до февраля 2025, а потом уже бессмысленно...

Конечно, это кликбейт, но от части правда. Не хотел я про LLMки особо писать, но тут спортпрог опять задело)

Сегодня OpenAI в последний (12) день своих ежедневных стримов анонсировали модель o3 и o3-mini, которые планируют запустить в конце января или около того
И что с того? А то, что эти модели решают задачи на уровне 2к и 2.7к рейтинга (на скрине поточнее) codeforces 🤯

Конечно, Короткевича она еще и близко не обошла 😄 Но на данный момент с рейтингом 2.7к на cf всего около 200 человек. То есть весомое большинство обошла

А ведь только в сентябре они выпустили модель, которая решает на уровне 1.8к рейтинга. Про нее чуть подробнее писал тут - пост

Ну что программисты думаете на этот счет? Страшно или это все обман, что б мы поднапряглись?)

Kogut Ivan Tutoring

19 Dec, 15:47


Конец диффузии в генерации изображений?
#MLРазбираемся #MLСтатья

Давненько тут такого не было...

Этот месяц все каналы в новостях о LLM моделях. Поэтому чуть разнообразим компьютерным зрением)

Кто подписан с весны этого года знает, что я делал магистерскую по персонализированной генерации изображений (тут рассказывал)
Хоть я в работе и не генерю картинки, но эта тема мне интересна и иногда поглядываю что там происходит

И вот пару недель назад вышла неожиданная для меня статья от Яндекса (мне не платили), в которой рассматривается подход отличный от диффузионок, который раньше был сильно хуже - авторегрессия. Она в разы быстрее диффузии и при этом в качестве генерации не уступает (хотя куда расти еще есть) 😍

Хотел было я расписать эту статью понятным языком, но узнал, что один из авторов это уже сделал. У него несколько постов подряд, вот первый из них - https://t.me/quant_prune_distill/373. Го читать 📕
А еще там есть ссылка на демку, в которую можно свои запросы пописать

Круто, что ресерчеры не только надстройками хорошо работающих подходов занимаются, но и в корне другие рассматривают

Kogut Ivan Tutoring

15 Dec, 19:10


ВКОШП и NEF 2024. Результаты
#Event #АлгоРепетиторство #РезультатыУчеников #ЖизаПост

Ух, в эти выходные было хорошо🔥 Обо всем по порядку

Успехи учеников KIT на ВКОШП
3 из 5 команд удалось взять свои первые дипломы на ВКОШП и это дипломы 3 степени:
🥉 ЕКБ, СУНЦ УрФУ: Откуда голос? (Алексеева, Знышев, Кайль)
🥉 ЕКБ, СУНЦ УрФУ: Вот вы где, потоки мои любимые (Ипатов, Бессолицын, Куликова)
🥉 МСК, Воробьевы Горы + Яндекс: A few good men (Марченко, Марченко, Ильясов)

Еще почти совпадение случилось: команда "Откуда голос?" заняли 65 место, а я в свое время, когда взял первый диплом на ВКОШП, занял 64 место 🤩

Успехи преподавателей KIT на полуфинале ICPC
3 из 3 команд получили дипломы 2 и 3 степени:
🥈 Ural FU: K&B++ (Malin, Dmitriev, Imaev)
🥈 SPb ITMO: bobry (Tuisov, Cherepanov, Skobelin)
🥉 Ural FU: team (Khramov, Rudakovskiy, Rychkov)

В последней команде еще и преподаватель курса алгоритмов на ФИИТ 💪

И вишенка на торте... УрФУ в финале ICPC
2 года не удавалось командам УрФУ пройти в финал, и вот в этот раз получилось у парней из команды
📈 Ural FU: eldermen (Cherepanov, Moskovchenko, Mikhailov)

И тут аж 2 преподавателя курса алгоритмов на ФИИТ. Получается, что теперь 3 из 5 преподавателей финалисты ICPC - уровень 🔥

Пару слов от себя
Полуфинал ICPC всегда дарил мне эмоции. Радость и удивление на 1 курсе, когда, вообще не ожидая, прошли на него. Разочарование и спортивную злость на 2 курсе, так как не прошли на него. Смешанные чувства при дипломе на 3 курсе, так как из-за ковида он был онлайн. И, конечно, досаду на 4 курсе, когда целились и готоволись, но не вышли в финал, хотя и взяли 2 степень
Как бы то ни было, опыт был получен колоссальный и иногда скучаю по этим временам. Поэтому всем рекомендую пробовать себя в чем-то, что содержит спортивную составляющую

Давайте накидаем максимально реакций всем командам, они красавчики ⚡️⚡️⚡️

Kogut Ivan Tutoring

13 Dec, 10:42


ВКОШП и NEF 2024
#Event #АлгоРепетиторство #РезультатыУчеников

Преподаватели KIT передают привет из Питера 👋

С 13 по 15 декабря в СПБ проходят 2 командные олимпиады: ВКОШП у школьников и полуфинал ICPC у студентов

Среди школьников, которые занимаются в KIT, на ВКОШП участвуют 5 команд:
🔄 BDFS
🔄 Вот вы где, потоки мои любимые
🔄 Откуда голос?
🔄 oguzok_squad
🔄 A few good men

Также, преподаватели KIT участвуют в NEF (полуфинал ICPC) и представляют 3 команды:
🔄 Ural FU: K&B++
🔄 Ural FU: team
🔄 SPb ITMO: bobry

Желаем ребятам выложиться по полной и отлично выступить! 👨‍💻
Всем остальным участникам тоже удачи!

Kogut Ivan Tutoring

08 Dec, 16:56


Highload++ 2024 - как это было
#Event

Доклады, общение, сбор мерча - именно этим были наполнены 2 и 3 декабря

Доклады
Ходил на выступления об ML (CV, NLP, Classic) и инфре около него. Хотелось послушать чем сейчас занимаются в остальных крупных компаниях. Также, было интересно узнать какими open source решениями пользуются те, у кого нет своих больших моделей, инфры под это и тому подобного. Когда работаешь в Яндексе и все это у тебя есть, об этом не задумываешься, поэтому было полезно. Глядишь когда-то захочу сделать что-то свое и вот тут то эти знания и пригодятся
По докладам вел краткие заметки в чате канала. Начинать читать можно с этого сообщения

Общение
Ходил по стендам других компаний, общался с докладчиками после выступления, нетворкал между докладами с разработчиками, лидами и стартаперами. И даже умудрился встретить 2 человек из своего родного города. Рад, что удалось вдоволь это сделать, ведь это главный плюс участия оффлайн от онлайн

Сбор мерча
Этим не планировал заниматься, но что-то пошло не по плану) Особенно во 2 день, когда стал получать его за лучшие вопросы по докладам. В итоге в аэропорту пришлось сдать сумку как багаж и доплатить за это)

И последнее... (та самая активность с вами)
Я ж там еще на стенде Яндекса помогал с так называемыми сюжетами. С ребятами разбирали рабочую проблему, что произошло, как полечить и так далее
И там же я решил проделать очень мелкую версию этой активности с вами

Приходит рекламодатель с проблемой и говорит: "Была статистика 100к показов, а стала 1k показов. Почему так?"
Понятно дело, что куча чего могло произойти. Но канал же про МЛ, поэтому и затронем только эту развилку. Первый коммент под этим постом иллюстрирует несколько разгаданных с ML моментов, вам же осталось разгадать последний, который замазан зеленым. Первый, кто верно отгадает, получит подставку для ноутбука от Яндекса + стикеры с конфы. Накидывайте свои версии под этим постом в комменты. Удачи!

UPD: уже разгадали и ответ был - антифрод. В комментах подробнее расписали

Kogut Ivan Tutoring

01 Dec, 11:27


Теория игр. Начало - игры как граф
#АлгоЕжемесячныеТемы
1️⃣0️⃣

Предисловие + теория:
Пока развелкаюсь на конференции, предлагаю тоже развлечься и поиграть вам в игры на PS5 графах

Бывают игры, которые можно представить в виде графа, в котором каждая вершина соответствует состоянию игры, а ребра - переходами между этими состояниями. Причем, часто такой граф ациклический (DAG)
Каждую вершину в таком графе можно считать выигрышной или проигрышной, в зависимости от того выигрывает или проигрывает игрок, начиная в таком состоянии. ВАЖНО: это верно именно для DAG! В произвольных графах могут быть еще и ничейные вершины

Таким образом, такие задачи сводятся к подсчету DP на DAG. То есть либо заранее понятно как перебирать вершины, либо надо делать топсорт

Пререквизиты:
🔙
ДП, ДП на поддеревьях
🔙 DFS, Топсорт

Еще теория + первая задача:
📚 Материал от Яндекс Кружка - теория + примеры задач (жаль картинки пропали😢)
📚 Emaxx - небольшая теория с кодом конкретной задачи (большеват правда)
💻 Задача с Тимуса 1 - БАЗА 1. Сразу граф задан
💻 Задача с Тимуса 2 - БАЗА 2. Сразу граф задан
💻 Задача с Тимуса 3 - Уже самим перебирать надо, но в лоб
💻 Задача с Тимуса 4 - Уже надо придумать

KIT контест по теме с периодически пополняемыми задачами
:
🔄 Контест - сейчас там пока 3 задачи, но будут еще. Для решения нужно вступить в группу на кф - ссылка

Вопросы на понимание темы:
Когда состояние считается выигрышным?
❗️ Если из этого состояния есть хотя бы один переход в проигрышное состояние

Когда состояние считается проигрышным?
❗️ Если из него нет переходов или все переходы в выигрышные состояния

Делитесь с друзьями, задачи будут интересны любому уровню!

💬 Следующие темы смело предлагайте в комментариях. Также, делитесь интересными задачами и материалами по этой теме, тут их точно еще полно)

Kogut Ivan Tutoring

28 Nov, 13:54


Первый раз на конференцию
#Event

И сразу на Highload++ 📈
Да еще и в Сколково. Там тоже не был, хотя в Вышке проезжал мимо из Одинцово)

2 дня докладов (их пока еще выбираю 📕) про инфраструктуру вокруг ML и не только, дискуссии и новые знакомства 🔥

А еще там есть занимательные движухи, в одной из которых я буду помогать. Это сюжеты от продуктов Яндекса, где нужно помочь решить возникшие в работе проблемы и получить за это плюшки 🎁 Поэтому кто там будет, обязательно участвуйте в перерывах от докладов

Атмосферу вокруг постараюсь передать кружками в чат канала (добавляйся, если еще нет 😉): https://t.me/+NICd2DPBevtmNWUy

Кто тоже едет - пишите, с удовольствием пообщаюсь! А если не едете, то будет пост после с моими ощущениями

Kogut Ivan Tutoring

18 Nov, 12:01


Распорядок рабочего дня в Тае
#ЖизаПост

Начало рабочей недели + у меня еще денечек отпуска, поэтому хочется побалаболить выложить не технический пост

Сгонял на Пхукет: в первый раз побывал на островах, покормил обезьян и слонов, лицезрел ночную жизнь и многое другое 🏖 И было прикольно каждый день видеть, что ты уже много чего сделал, открываешь ТГ, а там пусто... Разница с МСК +4, а с Сербией +6, поэтому в чатах тишина. Еще из интересного, что у них рано светает и рано темнеет

И тут я подумал, а какого быть русским ITшником в Тайланде? Для себя примерно определил такой распорядок дня:
🌞 07:00 (03:00 МСК) Подъем, завтрак, спорт и море, другие личные дела
👨‍💻 10:00 (06:00 МСК) Начало работы. Делаю то, что зависит только от меня - пишу код, запускаю обучения и другие долгие процессы
🐱 15:00 (11:00 МСК) Продолжение работы. Встречи, ТГ переписки и отслеживание того, что запустил утром
🏁 19:00 (15:00 МСК) Завершение рабочего дня

Конечно, это все примерно и чуть сдвигается от встреч и прочего. Но так как я привык рано вставать, то думаю это было бы оптимально

💬 Пишите в комментах, какой распорядок рабочего/учебного дня у вас и какой был бы в Тае. Все мы разные, интересно увидеть ваши

Kogut Ivan Tutoring

04 Nov, 11:53


Разбор задач Yandex CUP Алго полуфинала
#АлгоРазбираемся
8️⃣

Что ж, вчера порешал полуфинал Yandex Cup. Удалось решить 3 из 6 задач и стать топ-17 среди Яндекса. Жаль, что в топ-10 просто по времени не прошел😭 Но да ладно, я ж щас серьезно уже не треню

Делюсь своими решениями с вами. Смело ставьте на x2, так как я пытался максимально подробно разложить решения и получилось долговато
Из интересного даже для тех, кто не решал контест:
🔄 Техника в задачах по терверу (матожидание, функция распределения и прочее)
🔄 Когда может пригодиться умножать матрицу на столбец (или строчку)

🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube

Если остались вопросы или увидели какие-то недочеты, то смело пишите их в комменты

💬 Как вам задачи и сколько вам удалось решить задач в полуфинале? Пишите в комменты

Kogut Ivan Tutoring

28 Oct, 14:47


Practical ML Digest
3️⃣
#MLПост #PMD

🔄 Наткнулся тут на доклад с интересной молодой конференции по ML с созвучным названием I'ML. И оказалось, что уже 8 ноября будет новая онлайн конференция от них. Конфа посвящена MLOps, без которого сейчас нигде не обходится. Купившим билет доклады будут доступны и после конфы. Я уже билет приобрел - советую и вам! Про конфу вся информация здесь - https://imlconf.com/ 🔄

📶 "Рекомендательная система Шедеврума — как мы делали ленту и вырастили возвращаемость" 📶
Год: 2024
Спикер: ML-инженер, сейчас тимлид в Яндексе, занимается рекомендациями
Посмотреть: ВК и Youtube

Доклад интересен и начинающим, так как показывает стандартную архитектуру рекомендательных систем

Кандидатогенерация. На входе 5-10 млн картинок. Берутся часть популярных, часть персональных с помощью HNSW, часть старых но хорошего качества, часть рандомных (для exploration). Фильтрацией выкидываются дубли и чувствительный контент. В конце замешивание кандидатов: вместо weighted round robin (веса у каждого кандидатогенератора статичные для всех юзеров) делают personal mixigen (на основе фичей юзера и контекста веса выдаются обученной формулой).

Ранжирование. Часть фичей это рансформер над историей пользователя - классическая вещь в текущем Recsys. Двухбашенная модель с поздним связыванием - эмбеддинг юзера 1 раз в сутки пересчитывается оффлайн и эмбеддинг фотки 1 раз и берется dotproduct между ними. В итоге Catboost в конце с этой фичей и другими. Лосс взят Groupwise - QuerySoftmax из Catboost, схожий с KL-Дивергенцией. Он интересен, так как из-за вероятностной интерпритации можно его комбинировать с другими формулами под это же обученными или аддитивными поправками (дальше это будет важно). Ни разу про такой не слышал, поэтому написал про него

Переранжирование. Есть некие бизнес-правила, например, хочется бустить какую-то тематику или тип контента. Из-за этого сначала были ручками настроенные конфиги (на такую-то позицию поставь это). Перешли на так называемый блендинг: финальный скор = скор ранжирования + KL-дивергенция к распределениям (приближаем распределение к целевому и сюда же можно специально добавки делать, чтобы получить "бизнесовое" распределение).

И самое интересное - проблемы.
Первая - 18+ контент. Просто CV классификаторы не помогли. Обучили отдельную формулу (модель) на основе реакций пользователя (жалобы и прочее).
Вторая - холодные пользователи (люди, про которых мало данных). Пытались учитывать как сигнал длину просмотра, но вышло, что люди залипают на кринж . В итоге сделали отдельную модель ранжирования для них, где выкинули специфический контент из таргета. Также максимально разнообразят для них выдачу

Итог. Профит замеряют долгим обратным экспом с контролем - лента отсорченная по лайкам за день и тестом - текущий дефолт рекомендаций

Kogut Ivan Tutoring

21 Oct, 06:06


Разбор задач Yandex CUP Алго квалификации
#АлгоРазбираемся
7️⃣

В кои-то веки порешал какой-то контест, а именно квалификацию Yandex CUP. Удалось решить 5 из 6, поэтому хочу поделиться своими решениями этих задач

🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube
🔤 Разбор на Youtube и Rutube

В задаче E есть более оптимальное решение (ДП по битам насколько знаю), поэтому показал, как можно запихать с помощью MITM😉 Если не знаете, что это такое, то прочитать теорию и порешать задачек можно здесь

Если остались вопросы или увидели какие-то недочеты, то смело пишите их в комменты

🔄 Кстати, на направление ML можно зарегистрироваться и решать задачи до 4 ноября. Поэтому го регаться тут - https://yandex.ru/cup/ml

💬 Так же, поделитесь в каких направлениях Yandex CUP участвуете и сколько удалось решить задач?

Kogut Ivan Tutoring

09 Oct, 15:23


Рабочие будни. Парсинг товаров
#ЖизаПост

После вопроса на семинаре ШАДа о нашей команде в Яндексе я понял, что особо не рассказывал в канале, чем занимаюсь/занимался на работе 😅
Пора это исправить! Дисклеймер: все-все-все рассказать не удастся - NDA, сами понимаете)

Напомню, что я работаю в команде Товарного Поиска (это не Маркет, а часть Поиска). Как и у любого поиска у нас есть база, а именно - база товаров. И в этом посте хочу рассказать кратко о процессе, который привносит больший вклад в базу. Речь пойдет о парсинге.

Представьте перед собой страницу с товаром какого-нибудь онлайн магазина. Из нее нужно достать такие важные поля как цена, название, картинка и так далее. Как это сделать (подумайте сами, а затем открывайте спойлер)

Сразу расскажу наше итоговое решение. HTML страницу можно представить как дерево, а нужная нам информация лежит в каких-то вершинах этого дерева. Давайте тогда классифицировать каждую вершину на то, содержит ли она нужные данные или нет. Придумаем кучу признаков для вершины: про ее положение в дереве, про информацию в соседних вершинах и про контент в самой вершине. Большинство факторов считаются алгоритмически, вот вам и ДП по дереву. Конечно, еще по тексту в вершине считается нейросеть, выход которой мы назвали текстовым признаком. В итоге на этом многообразии признаков учим Catboost и классификатор готов

Этот проект начался еще до моего попадания в штат и конкретно я парсил данные для fashion категорий и улучшал precision и recall для базовых полей. Удалось поделать следующее: создание толокерских заданий, обучение Catboost, обучение BERT и дистилляция в DSSM, запуск, оптимизация этого дела на C++ и придумывание с реализацией эвристик на дереве на тех же плюсах 👨‍💻

Конечно, я не рассказал еще интересности этой задачи: более простые способы парсинга с их + и -, как обходить нужные страницы и так далее. Про это можно послушать в докладе одного из моих руклей на Highload 2022 (как давно это было) - ссылка ▶️

Kogut Ivan Tutoring

27 Sep, 05:09


2️⃣4️⃣

Хоть уже 24, но понимаю, что еще много чего не знаю, не испытывал, не видел...
Зато чувствую, что именно сейчас то время, когда есть некая свобода и пора наращивать темп, пробовать и узнавать что-то новое💪

Спасибо, что со мной, ведь канал тоже порой мотивирует делать какие-то непривычные вещи❤️‍🔥

Kogut Ivan Tutoring

19 Sep, 20:11


OpenAI и в спортпроге впереди?
#MLВброс #MLСтатья

В начале этого года рассказывал про то, как система от Google из их нескольких LLMок решает олимпиадные задачи по программированию. Пост можно прочитать здесь - тык. К тому времени это было лучшее решение

Но... OpenAI и тут решили показать, кто главный. Неделю назад они выпустили свою новую модель, в которой упор сделан на рассуждения и саморефлексию. Модели и раньше это делали, но тут авторы очень постарались, чтобы это приводило к правильному решению. И что же получилось в результате?

Модель OpenAI o1 на контестах Codeforces:
🔄 Лучше 89% людей и примерно 1673 рейтинг - без специального дообучения
🔄 Лучше 93% людей и примерно 1807 рейтинг - со специальным дообучением

Модель OpenAI o1 на IOI 2024:
🔄 213 баллов и лучше 49% людей - со специальным дообучением и 50 попытками на задачу
🔄 362,14 баллов и золотая медаль - со специальным дообучением и 10000 попытками на задачу

Просто 🤯🤯🤯
Это с учетом того, что у Google была целая система из нескольких их моделей Gemini PRO, а здесь одна модель достигает такого качества

Еще интересного про модель:
Чем больше времени дать ей подумать (во время инференса уже), тем лучше она даст ответ. Все прям как у людей)
✍️ Свои рассуждения модель прописывает, но сейчас Open AI их скрывает и выдает лишь их суммаризацию. А теперь представьте, если вид ее рассуждений чуть улучшат и дадут в открытый доступ, то тогда и недалеко до замены репетиторов) Конечно, репетитор еще учитывает, что говорит ученик и в таком сетапе пока не понятно как модель себя поведет. Но хотя бы получать разбор задачи станет возможным

Более подробно про модель:
🔄 Блогпост от OpenAI
🔄 Подробный пост на русском - автор ведет ТГ канал Сиолошная

💬Что думаете на этот счет - пишите в комментах, очень интересно пообсуждать

Kogut Ivan Tutoring

14 Sep, 11:15


База СпортПрогера
#АлгоРесурсы #Event

Сегодня проходит Пикник-IT в ЕКБ, на котором мой коллега по курсу на ФИИТ УрФУ, Егор Храмов, рассказывал почему олимпиадами заниматься круто, как и с помощью чего развиваться в них
К сожалению, записи не будет( Но зато презентация с доклада есть в открытом доступе

📶 Презентация со всеми полезными ссылками 📶

Также, Егор в докладе упомянул полезные родительские чаты про олимпиады (ЕКБ и МСК). В них много честного фидбека про лагеря, кружки и полно полезных объявлений. Если вас там еще нет и вы хотите вступить в них, то напишите мне (@KogutIvan), я вас приглашу

Kogut Ivan Tutoring

08 Sep, 19:55


Прощаемся с Notion правильно

В последний момент вспомнил, что надо сделать бэкап Notion...

И тут случайно наткнулся на китайский аналог - Buildin.Ai 🇨🇳
Самое прикольное - можно в пару кликов перевести страницы из Notion в Buildin.Ai - как это сделать 👍

И первым, что я перенес, были большие посты канала. Если еще не читали, то welcome - посты про алгосы, ML, мою учебу и не только
📕 Большие посты канала KIT 📕

Успевайте скопировать нужное, времени хоть и мало, но еще есть 👨‍💻

Kogut Ivan Tutoring

01 Sep, 14:24


С 1 сентября🍁

Впервые за 17 лет (11+4+2) нет ощущения «НУ ЩАС НАЧНЕТСЯ 🔥». Хотя скоро ревью, поэтому чуть-чуть есть, но это не то

Понятно, что обучение никуда не делось, просто стало в чуть другой манере и для другого результата

Всем, кто сейчас учится (а таких здесь большинство), желаю выжать максимум для себя, так как сейчас самое оптимальное для этого время 💪. Гнаться не за оценками, а за знаниями и последующими с ними результатами

Kogut Ivan Tutoring

28 Aug, 14:49


Practical ML Digest
1️⃣
#MLПост #PMD

Начал расширять свой кругозор по МЛ в рабочих проектах. Поэтому решил некоторыми докладами делиться и с вами
Дисклеймер: не для всех докладов нужны жесткие знания в МЛ, поэтому если тема интересная, то смело читайте пост и смотрите доклад

💬 Делитесь в комментах интересными докладами, которые вы смотрели. А я начну здесь:

"Личный наставник в лице GPT"
Год: 2024
Спикер: Андрей Смирнов, ML Engineer, Яндекс Практикум
Посмотреть: Ютуб

Рассказал про то, в каких местах ГПТ может помочь как наставник, а в каких нет. Если кратко: репетиторов еще не заменят, поэтому записывайтесь на занятия)

Показал кратко архитектурно как идет ответ на вопрос ученика в чате Практикума. А именно, что на вход ГПТшке идет вопрос ученика + контекст задания и урока, в котором ученик
Также, упомянул дальнейшие улучшения такого чата:
* Выбор какой моделью генерить ответ. Если вопрос простой - легкая модель, сложный - тяжелая и т.п.
* Увеличение поля для retrieval - искать не только в текущем уроке, но и других, а может и других курсах
* Агенты. Для подсчета математических выражений, запуска кода и прочего

И бонусом докладчик поведал про основные типы дообучения модели:
* zero/one/few shot,
* PTune,
* Finetune
* Обучение с нуля

"Генеративные аугментации в задачах компьютерного зрения"
Год: 2024
Спикер: Андрей Филатов, Senior Data Scientists Sber AI
Посмотреть: Ютуб

Аугментации в CV по типу Crop, Rotation и прочие это, конечно, хорошо, но иногда хочется большего. Возникает идея: раз есть крутые модели, генерирующие картинки, то может их и заиспользовать для получения новых данных?
Докладчик рассказывает про несколько работ в этом направлении и в конце приводит свою идею, которую хочет добить до статьи. Опишу только 2 из них

FreeMask: Synthetic Images with Dense Annotations Make Stronger Segmentation Model
Получение новых данных для задачи сегментации. Из реальных данных берем семантическую маску и подаем на вход диффузионке как condition. В итоге для 1 примера из датасета получаем несколько похожих версий синтетических данных. Метрики для SOTA моделей такими данными на несколько процентов растут

Ресерч идея докладчика
Получение новых данных для задачи детекции. Идея простая - давайте некоторые объекты с фоток просто удалять. Как это делается: в датасете кроме bbox должна быть еще и маска объекта и тогда, подав на вход генеративке маску объекта + входное изображение, получим фотку без объекта. Конечно, еще выкидываем bbox этого объекта, так как на новой фотке его нет
Плюса в метрике mAP достичь смогли. Но большего плюса удалось достичь, когда сделали похожим образом замену объекта на фотке

"10 не ML лайфхаков для ML решений в проде"
Год: 2024
Спикер: Антон Воронов, Газпром ИД, Руководитель службы рекомендательных сервисов
Посмотреть: Ютуб

В общем и целом, докладчик немного приземляет и доказывает, что не нужно сразу сувать МЛ везде и всюду)

На конкретных примерах задач поиска и рекомендаций в Rutube показывается, как можно, особенно на старте, не упарываться в МЛ и при этом все равно получать профит в данных задачах за короткое время реализации
Основными инструментами, конечно, являются SQL-запросы по логам и регулярки) Но стоит глянуть, что именно ими они сделали
А еще, кто сможет найти в каком из кейсов были бандиты?)
Также, из прикольного приведен пример, как они обошли долгий релизный цикл кода: один раз написали инфру для обработки графа вычислений (из 1 стадии данные идут в другую, запускается такая-то модель и т.п.), сам граф брался из конфига, который можно было легко менять и быстро релизить

Kogut Ivan Tutoring

21 Aug, 19:03


KIT-Репетиторство. Обновления
#АлгоРепетиторство

Надеюсь, что все как следует отдохнули и готовы попахать в этом учебном году💪
В этом наша команда KIT вам поможет. Мы предлагаем занятия по программированию
Подробную информацию про наши занятия можно прочитать по ссылке, а далее в посте будет краткая выжимка

🗝 Ключевые моменты 🗝
Для кого: школьники, студенты, разработчики
В стоимость входит: постоянные занятия с преподавателем и домашние задания, помощь вне занятия
Преподаватели: призеры и победители школьных и студенческих олимпиад
Формат: можно заниматься индивидуально или в группе

С этого года у нас несколько нововведений, про которые рад рассказать 🆕

🤑 Реферальная программа 🤑
1 приглашенный человек = 2500 руб. вам

Все просто, но есть нюанс) Человек ранее не занимался в KIT + должен прозаниматься минимум 4 занятия

🔄 Новый формат занятий: параллельный 🔄
Этот формат идеально подходит для тех, у кого и так насыщенное расписание и мало времени вне занятий или кто пока испытывает сложности с самостоятельным решением задач

Откуда параллельность?
1 преподаватель проводит несколько индивидуальных занятий одновременно
На таких занятиях всего 2-3 человека , что позволяет преподавателю уделять каждому ученику достаточно времени:
- Если в группе 2 человека: преподаватель уделяет каждому по 15 минут 4 раза за занятие
- Если в группе 3 человека: преподаватель уделяет каждому по 10 минут 4 раза за занятие

Стоимость и время занятия:
5000 руб. 4500 руб. за 2 часа с человека
Выгоднее на 10%, чем индивидуальное занятие

Что делают на таких занятиях?

Изучение языка программирования:
Python или C++
1 час лекции и 1 час на параллельное решение задач

Решение контеста:
Решение задач прямо на занятии с только нужными подсказками от преподавателя

Если остались вопросы или хотите записаться на занятия пишите в телеграм @KogutIvan

Kogut Ivan Tutoring

12 Aug, 05:22


Проект перечневых олимпиад школьников 24/25
#АлгоПост #MLПост

9 августа вышел проект перечневых олимпиад в грядущем учебном году. Думаю для вас интереснее всего направления "Информатика" и "Искусственный интеллект", поэтому вынес их в пост

👨‍💻 Информатика 👨‍💻

1 уровень:
🥇 Высшая Проба
🥇 Всесибирская открытая Олимпиада Школьников
🥇 Вузовско-академическая олимпиада по информатике
🥇 Московская олимпиада школьников
🥇 Олимпиада школьников по информатике и программированию
🥇 Олимпиада школьников СПБГУ
🥇 Открытая олимпиада школьников
🥇 Открытая олимпиада школьников по программированию

2 уровень:
🥈 Innopolis Open
🥈 Олимпиада школьников по программированию «ТехноКубок»
🥈 Олимпиада школьников «Ломоносов»
🥈 Олимпиада школьников «Шаг в будущее»
🥈 Открытая олимпиада школьников по программированию «Когнитивные технологии»
🥈 Отраслевая олимпиада школьников «Газпром»
🥈 Отраслевая физико-математическая олимпиада школьников «Росатом»
🥈 Университетская олимпиада школьников «Бельчонок»

3 уровень:
🥉 Олимпиада школьников «Гранит науки»

🔄 Искусственный интеллект 🔄

3 уровень:
🥉 Национальная технологическая олимпиада
🥉 Всероссийская олимпиада по искусственному интеллекту
🥉 Олимпиада школьников СПБГУ

Сам приказ тоже приложил, можно с ним ознакомиться и посмотреть олимпиады по другим направлениям, например, по математике

Уже точно пора начинать готовиться. Напомню, что мы тоже помогаем с олимпиадами и проводим занятия. Подробности в этом посте: https://t.me/KogutIvanTutoring/151. Скоро про них тоже будут новости, поэтому stay tune)

💬 Пишите в комментах кто сколько перечней примерно планирует писать в этому году

Kogut Ivan Tutoring

25 Jul, 19:36


Алгоритмы в BackPropagation
#АлгоMLПост

Канал посвящен алгосам и ML, но почти не было постов где есть и то, и то (сходу всопминается только "Как AI решает олимпиадное программирование?"). Пора это исправлять 🔧

#АлгоMLПост - новый хештег, по которому будут такие посты. Будут разбираться как алгоритмы из спортпрога в ML, так и какие-то другие алгоритмы. Посты нацелены на то, чтобы увидеть применение алгоритмов и узнать некоторые вещи, которые обычно в работе ML воспринимаются как black box. Код, полезные ссылки, картинки... все это прилагается)

Начнем с процесса обучения нейросетей - метод обратного распространения ошибки (BackPropagation). Обсудим:
🔄 Что такое DAG, при чем тут нейросеть и как считать динамическое программирование на этом
🔄 Что такое топологическая сортировка и зачем это при обратном проходе по нейросети

📕 Го читать пост в Notion 📕

💬 В комментариях накидывайте вопросы, рассуждения по теме и, конечно, темы ML, в которых вы хотели бы узнать про алгоритмы внутри

Kogut Ivan Tutoring

15 Jul, 18:10


Найди меня и получи 500 рублей
#Event

Мой отпуск наконец-то наступил и в этот же день ШАД выложил ролик с выпускного

Чтобы вам было интересней его смотреть, предлагаю челлендж:
🔄 Находите меня в видео
🔄 В комменты присылаете тайм-код и скриншот, где видно меня
🔄 Если до вас еще никто этот конкретный эпизод не прислал, то получаете 500 рублей

В качестве напоминания как я выгляжу прикладываю свою фотку с этого же выпускного

❗️ Участвовать могут все, кроме тех, кто был на этом выпускном, а то немного гандикап получится)

Все просто, го смотреть ролик 👁

UPD: кажется, уже все моменты нашли. Но ролик все равно посмотрите - получилось прикольно

1,304

subscribers

94

photos

24

videos