ML Research Seminar 2

Материал из Wiki - Факультет компьютерных наук
(перенаправлено с «ML Research Seminar 25 4»)
Перейти к: навигация, поиск

Расписание

Группа Руководители НИСа Контакты (tg) Расписание
221 Иван Рубачёв @puhsuuu TODO
222 Тимофей Грицаев @tgritsaev TODO
223 Аким Котельников @akimkot TODO
224 Николай Карташев @nickkartashev TODO

Полезные Ссылки

Таблица с оценками и расписанием
Записи онлайн занятий (coming soon)

Рецензии на доклады писать здесь: форма
Проверочные писать здесь: (форма - 221), TODO (остальные сделаем тоже)
Рецензии и проверочные можно сдавать примерно в течение суток после конца занятия (в нашем случае до 23:59 день_пары+1)

Оставить отзыв на курс: форма

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

Краткое описание

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

В ходе занятий подразумеваются следующие виды деятельности студентов:

  • Выступление студентов с докладами, освещающими современные научных статьи с различных точек зрения.
  • Посещение занятий, прослушивание и обсуждение докладов, написание рецензий на доклады одногруппников.
  • Написание проверочных работ по материалам докладов.
  • (По желанию) предложение идей и проведение "proof-of-concept" экспериментов по мотивам обсуждаемых статей

Доклады

Основной деятельностью в рамках НИСа является подготовка и выступление студентов с докладами. На 4 курсе формат немного отличается от формата 3 курса (когда-то нам понравилась идея мы её адаптировали и сильно поменяли с годами под себя).

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

Роли распределены следующим образом:

  1. Первый человек выполняет роль докладчика – здесь всё очень похоже на НИС 3 курса. Нужно подготовить презентацию с представлением методов и результатов статьи. Дополнительно, стоит уделить внимание оценке статьи, например в конце доклада выделить основные сильные и слабые стороны статьи на ваш взгляд. Время на выступление - 20 минут.
  2. Второй человек выполняет роль исследователя – подробно изучает контекст статьи, анализирует как данная работа встраивается в существующую научную реальность (что было до, что случилось после, на какие работы опирается эта статья). Может есть что-то интересное в мета-информации про статью (почему-то интересны авторы, или то на какой конференции какую награду она получила – это интересно скорее в исключительных случаях). Основной посыл: исследователь не цитирует related work и аффилиации авторов, а готовит полезный доклад про область/подобласть. По результатам своей работы готовит презентацию на 15-20 минут. Примеры (слайдов) исследователей сделавших хорошую работу:
    • слайды исследователя 1: рассмотрели и структурировали много подходов к похожей задаче из литературы, в процессе описали чем выделяется (как хорошо так и плохо) текущая статья;
    • слайды исследователя 2: подробно рассмотрели важный prior (и post)-work, местами углубились в его детали (как и в прошлом примере - важно сравнение с текущей работой), связали state space модели с neural ode (вообще творчество в роли исследователя).

В течение года каждый студент принимает участие в 2 выступлениях – по одному выступлению в каждой роли. У небольшого количества студентов будет возможность выступить 3 раза (может быть полезно для улучшения оценки). Оценки за все выступления берутся в финальную оценку с одинаковыми весами.

До выступления. Минимум за неделю до даты выступления группа докладчиков должна связаться с преподавателем и прислать ему или обсудить с ним план своего выступления. Основная суть данного требования -- понять, что все участники прочли статью, понимают что они будут рассказывать на занятии и не испытывают затруднений с темой.

После выступление. Сразу после доклада (а лучше до) нужно прислать презентацию докладчика и ноутбук/презентацию хакера/исследователя в общий чат.

При невыполнении перечисленных условий в поставленные сроки преподаватель имеет право снизить оценку за соответствующий доклад. Штраф за задержку с планом выступления -- до 2 баллов, за задержку с материалами -- до 1 балла.

Отзывы на доклады

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

Отзыв должен обосновывать выставленную оценку, содержать описание положительных и отрицательных сторон, а также предложения по улучшению доклада. Главная цель отзыва - помочь докладчику улучшить свои навыки. Отзыв можно написать примерно в течение суток после занятия (точное время дедлайна указано в верхней части страницы). Некачественные отзывы или "отписки", к примеру, "Мне все понравилось, оценка 10", не будут засчитываться как в количество написанных студентом отзывов, так и в оценку выступающего.

Проверочные работы

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

В течение года студенту нужно написать ответы по половину вопросов (то есть можно выбирать на какие темы писать проверочные, а на какие нет). При этом если студент напишет больше ответов, то в его оценку будут засчитываться максимальные оценки. Итоговая оценка за проверочные работы будет рассчитываться как сумма максимальных N/2 оценок, где N это общее число докладов на НИСе за год.

Проверочные работы студент должен писать строго самостоятельно. Любые подозрения на списывание или совместное написание ответов будут строго караться вплоть до перевода проверочных в формат с написанием во время пары сразу после докладов с ограничением на время написания ответов.

Эксперимент (с оцениванием, но без обязательств)

Также в этом году мы решили поэксперементировать с форматом и добавить более сложную и самостоятельную научную активность. В этой секции её описание, но сначала немного лора контекста прошлых лет.

Раньше у нас была ещё одна роль – Хакер (от слова hacker https://en.wikipedia.org/wiki/Hacker_culture).

 Хакер – работает с кодом, ставит эксперименты по мотивам статьи, или готовит игрушечный пример иллюстрирующий идеи и находки статьи. 
 По результатам своей работы готовит ноутбук (с комментариями и выводами). На занятии за 15-20 минут рассказывает о результатах, 
 показывает сам ноутбук или 2-3 слайда с графиками/выводами если ноутбук выглядит слишком перегруженным для выступления. 
 Пользоваться любым открытым кодом/моделями можно и нужно, но, естественно, оцениваться будут ваши идеи/усилия, 
 так что просто взять ноутбук с чужого гитхаба нельзя. Вот несколько хороших примеров:
   - иллюстрация основной идеи статьи на адекватных для имеющихся ресурсов данных/моделях: раз, два
   - иллюстрация того, как работает сложный пайплайн с подробными примерами/пояснениями/лайв-кодингом: раз, два
   - мини-исследование: раз – поиграли с предложенным в статье методом, сравнили его с аналогами на практике, 
     визуализировали поведение сети, обученной этим методом; два – проверили работают ли идеи статьи для другой постановки задачи; 

Большинство студентов очень не любило эту роль (это сложно, часто непонятно что делать, часто требует больше вовлеченности чем подготовка доклада, а стоит столько же). Мы убрали её из основных ролей, теперь мы не будем требовать вас быть хакерами. Но некоторым из нас (надеемся и из вас) кажется что занятия такого рода могут быть очень полезны и интересны. Поэтому в этом году мы делаем роль Хакера асинхронной, опциональной (= абсолютно по желанию, вы можете получить 10/10 за нис даже не читая этот параграф), но с потенциально высокой наградой (вплоть до 4.5/10 баллов за хорошо проделанную работу).

Хакер 2025 Edition: Вы ходите на НИС, разбираете и слушаете статьи, возможно также вы делаете какую-то научную или около-научную (R&D) работу – вдруг у вас появляется идея так или иначе связанная со статьями обсуждаемыми на НИСе (продолжить какой-то эксперимент, применить метод в своей работе, ..., ниже будут хорошие примеры). С этой идеей вы идете к @puhsuu или @nickkartashev в лс и обсуждаете её. Если совместно вы решаете что идея стоящая – вы идете её реализовывать в асинхронноом режиме (hacking in progress...), можете коммуницировать с нами промежуточные результаты, можете делать всё сами. Два раза за курс мы устроим презентацию таких мини-research проектов (ориентировочно в декабре и марте). @puhsuuu, @nickkartashev (и возможно кто-то ещё) вас слушают и ставят за это оценку от 0 до 10 где N - число проверочных на курсе. Это означает что сделав мегаудачный очень крутой research проек вы можете вообще не писать проверочные, либо очень сильно поднять оценку за плохой доклад.

Суть такой оценки за эту деятельность - high risk, high reward, мы не будем стесняться ставить нули.

Примеры проектов (людей из интернета) заслуживающих 10: - https://main-horse.github.io/hnet/ (main horse изучает HNet - у нас кстати есть эта статья в списке, вообще отличный пример мотивации хорошей статьей) - https://www.aleksagordic.com/blog/vllm + https://github.com/GeeeekExplorer/nano-vllm - блог-пост про vLLM (да, написать качественный блог пост достойно 10/10), либо vLLM-like инференс сервера с нуля с базовыми зависимостями (torch only). https://ggrigorev.me/posts/tokenizer-superbpe/ - делаем токенизацию с нуля и анализируем - https://x.com/FrancescoSacco1/status/1965794464653615589 - мини ресерч проект эксплорящий distributional Q-learning - <next_token>

Система выставления оценок

Итоговая формула выставления оценки выглядит следующим образом:

 О_результ = min(10, 0.6 * О_доклады + 0.4 * О_проверочные + 0.1 * О_отзывы + 0.4 * O_hacking)
  • О_доклады - суммарная оценка по всем выступлениям,
  • О_проверочные - суммарная оценка за проверочные работы на семинарах,
  • O_hacking – суммарная оценка за ресерч-проекты
  • О_отзывы - суммарная оценка за написание отзывов на доклады.

(если вы пропустили секцию про hacking – да, оценка суммируется в 14, но это так потому что hacking полностью опциональное и сложное занятие)

Все промежуточные оценки не округляются. Итоговая оценка округляется математически.

Экзамена по курсу не будет!