Kogut Ivan Tutoring

@kogutivantutoring


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

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,203

subscribers

74

photos

20

videos