Семь лет я счастливо пилил веб. Полгода я выгорал. Еще полгода восстанавливался, искал "путь истинный", и планировал как я буду феерично менять свою карьеру - переходить из софтварного инженера в рисерч. Прошло уже три месяца. По моим расчетам, такими темпами мою первую статью по AI за меня напишет мой несуществующий ребенок через 30 лет (а потом с облегчением прострелит себе голову, не справившись с грузом комплексов, которые на него воодрузил родитель). Ниже расскажу о своем оригинальном плане по переходу из веба в AI, порефлексирую на тему того, что пошло не так, представлю вам новый мега-ультра-план обреченный на успех. Поехали!
Что было в прошлой серии
Пилил веб на удаленке в Воронеже. Переехал в Лондон в FAANG. Познакомился поближе со своим непомерным эго. Выгорел на пути из сеньки в стаффа. Переосмыслил ценность денег и свое понятие успеха. Решил переходить в рисерч в AI.
План А
Самым простым способом сменить направление деятельности в большой компании - сменить команду. Самый простой способ влиться в AI команду для SWE - RAISE. Это специальная программа для переселенцев из свофтварных инженеров в ML/AI.
Я решил, что в этом полугодии неторопливо поковыряю какой-нибудь рефрешер по математике и возьму курс от fast.ai, а во втором полугодии уже буду полноценно образозываться во время работы. Страх того, что череда лейоффов и фокус на эффективности приведет к отмене программы был надежно связан во время сессии шибари и закопан куда подальше.
После завершения очередного раунда увольнений я в очередной раз пнул менеджера RAISE (про себя пообещав всенепрменно как-нибудь напоить его кофе с кексами за терпение). Как вы могли догадаться, программа приостановила деятельность на этот год.
План Б
Всегда можно найти команду и вне RAISE. Я читал несколько историй о том, как ребята находили позиции SWE в ML командах и потихоньку брали все больше и больше ML тасок и проектов.
Я сделал спам-рассылку куче менеджеров. Написал пост на внутрений портал с вакансиями. Все, чтобы осознать тяжкую правду.
Первое, мир поменялся. Череда лейоффов унесла жирные годы, когда менеджеры носились за инженерами.
Второе, я - веб-мартышка. Все мои доклады на конференциях и опен сорс стоят в глазах нанимающих менеджеров в разы меньше, чем хоть один релевантный проект с простенькой линейной регрессией.
Реальный мир : эго - 1 : 0.
План В
У меня же есть резюмеха, которая сверкает лычками из FAANG! Откроем-ка LinkedIn.
И осознаем, что никто снаружи не горит нанимать чувака не по профилю, который клятвенно обещает обучаться на месте.
Реальный мир : эго - 2 : 0.
План Г
Итак, надо плотно вкачивать свои хард скиллы. Учитывая, что у меня уже есть положительный опыт от обучения в магистратуре удаленно, я начал искать программы доп образования куда можно вписаться.
Из доступного мне по деньгам и адекватного по качеству нашел целый 2 варианта:
- Классный ШАД.
- Чуть менее классный OMSCS, который я уже почти закончил, но по специальности Computing Systems (восполнял пробелы в фундаментальных знаниях по CS оставленные в бурной молодости).
Можно, конечно, в полете развернуться на 180 и начать брать курсы по ML в рамках OMSCS, но у меня за три года уже успела скопиться некая усталость от того, что я все никак не могу закончить начатое дело. Остается ШАД.
Плюсы ШАД:
- Структурированная программа
- Коллектив мотивированных студентов
- Топовые преподаватели, которые дают живую обратную связь.
- Палка над головой в виде дедлайнов.
Минусы ШАД:
- Можно обделаться и не пройти отбор.
- Я не хотел ждать осени для начала учебы.
- Отсутствие гибкости. Свой текущий универ я закончу только в декабре. Есть опасения, что в случае совпадения дедлайнов я просто помру от нагрузки от работы и двух программ.
- Не очень понятно как скажется на резюме любая аффилиация с Яндексом в условиях войны.
Если бы я смог самостоятельно закрыть плюсы от ШАД, но не было бы никакого смысла туда идти.
- Структурированная программа Она лежит в отрытом доступе. Можно брать и делать.
- Коллектив мотивированных студентов Увы, не заменим. С другой стороны, учитывая, что у меня есть фулл-тайм работа, вряд ли бы я смог этой плюшкой полноценно воспользоваться.
- Топовые преподаватели, которые дают живую обратную связь. На мою внутренюю спам-рассылку отвечали в основном короткими отписками, но была пара добрейших людей, которые дававли развернутые ответы и искренне хотели помочь мне в моем переходе. К одному из них я и пришел и попросил быть моим ментором. Это закрыло потребность в живой связи от преподавателя.
- Палка над головой в виде дедлайнов Хотелось верить, что ежемесячная отчетность ментору послужит хорошей мотивацией не пинать писюны вместо обучения.
Сам план:
- Самостоятельно пройти фундмамент по математике и ML
- Прочесав реддит и посмотрев на программу ШАД, для себя я определил несколько направлений:
- Матан
- Линейная алгебра
- Матстат
- Классическое машинное обучение
- Компьютерное зрение
- Natural Language Processing
- Прочесав реддит и посмотрев на программу ШАД, для себя я определил несколько направлений:
- Раз в месяц встречаться с ментором и обсуждать непонятные моменты
- После освоения фундамента, брать основополагающие научные статьи и пытаться воспроизводить их эксперименты. В парраллель, предложить научным командам внутри компании поработать у них бесплатно в свободное время.
Прошел месяц. За это время я с трудом закончил по одному юниту из курсов по математике. Я, конечно, могу найти кучу оправданий в виде неожиданного аврала на работе, каких-то личностных переживаний, но ближе к моей цели меня это не сделает.
План Д
Что же пошло не так с планом Г?
- Программа? Чек.
- Коллектив? Минус.
- Преподаватель? Чек
- Дедлайны? Плюс-минус.
Итого, имеем два потенциальных кандидата на фикс: коллектив и дедлайны.
Отчасти потребность в коллективе закрываются различными онлайн сообществами (боже, храни реддит). Однако, найти такой коллектив, который захочет идти именно по моей программе, с курсами, которые закрывают именно мои пробелы в знаниях возможным не представляется. А кто обещал, что будет легко?
Остаются дедлайны. Будем ставить жесткие дедлайны, и обеспечивать их выполнение публичной оглаской. Пусть перед пацанами стыдно будет, что не смог матан заботать к сроку.
Надо принять, что я ленивая жопа. Я таким был всегда. Меня развратило то, что мне легко давалось обучение в школе. Меня развратило то, что я умудрялся кое-как сдавать сессии в своем первом универе, почти в нем не появляясь.
Во времена универа я увлеченно играл на барабанах, писал музло, мнил себя куртецким композитором, и думал, что стану настоящей рок-звездой. Ну, а кто не без изъяна?
Как оказалось, есть целое движение "learning in public". В целом, оно скорее про то, чтобы пользоваться техникой Фенймана и объяснять сложные концепции простыми словами. Тем не менее ничего н6е мешает использовать ту же концепцию для того, чтобы публично огласить свои планы и дедлайны. И чувствовать за них ответственность. Цитируя великих, позитивная мотивация явно не мой конек.
Именно за этим я здесь. За этим написал эту огромную портянку текста. Я хочу с вами поделиться своими конкретными дедлайнами, и подписаться под их выполнением.
Что учить
- Матан
- Лекции профессора Леонарда.
- Calculus: An Intuitive and Physical Approach
- Дополнительные задачки для самостоятельного решения из учебников по Calculus на openstaxю
- Линейная алгебра
- Матстат
- Обозорный курс по математике для ML
- Классическое машинное обучение
- Яндексовый учебник
- Курсы Andrew Ng
- Компьютерное зрение (TBD)
- Natural Language Processing (TBD)
Как учить
Буду руководствоваться двумя принципами:
- Pay yourself first. Я наиболее продуктивен утром, пока у меня свежая голова. Значит самое продуктивное время я буду посвещать учебе. Работу я буду делать уже после того, как сделал хоть что-то полезное для своего долговременного развития. После работы буду добавлять учебные часы по самочувствию.
- Spaced repetition. Для того, чтобы информация усваивалась как можно эффективнее и оставалась в памяти как можно дольше, я буду повторять пройденную информацию из другого источника на следующий день. Например, я проходу условную тему A по Calculus по лекциям профессора Леонарда. На следюущий день я буду читать эту же тему в книге. Через неделю я буду прорешивать несколько примеров по теме.
Формат отчетности
- Публичные заметки по пройденным темам в Obsidian.
- Еженедельные отчеты в онлайн дневнике.
- Ссылка на Google Sheet с актуальным прогрессом по плану.
Дедлайны
- До конца июня пройти Calculus 1-3, освоить текущий план по матстату, закончить курс по математике для ML, завершить первый юнит по линейной алгебре.
- До конца августа завершить курс по линейной алгебре и пройти курс по классическому машинному обучению.
Что дальше
В зависимости от того вывезу ли я учебу, понравится ли мне воспроизводить опыты из whitepapers, да и просто того насколько мне удастся договориться с внутренней леньюи внутренней жабой, хочу поробовать к новому году собрать какое-то портфолио из сделанных проектов и уйти на PhD.
С жабой придется договариваться потому что PhD в UK оплачивается ниже минимальной зарабтной платы. Типичная стипендия - 20к в год в Лондоне.
Если вам близка тема преодоления себя и борьбы с ленью, если вы так же как и я хотите попробовать учиться на публике, то буду рад пригласить вас записаться в лист ожидания платформы по публичному обучению. Я скоро выкачу MVP. Честно-пречестно!
Не переставайте мечтать! Жизнь у нас одна. В наших собственных руках наполнить ее приключениями и не дать погаснуть огню в глазах.
P.S. Буду рад любым мыслям и советам.
ИМХО, стоит начать с ML сначала, а потом браться за математику. Машинное обучение - очень инженерная дисциплина, особенно state-of-the-art.
Если посмотреть на ту же эволюцию компьютерного зрения: окей, мы сделали локальный слой-фильтр, почему-то названный свёрткой (convolution layer), дали на клык всем старым методам (AlexNet). Что произошло дальше? Пикрил.
Больше слоёв, ещё больше слоёв, переделанная структура слоя свёртки, и каждый апгрейд нейросеток - практическое решение задачи, которая стояла здесь и сейчас. And here we are now.
Судя по опыту обучения других людей, не обязательно знать вышмат инженеру, чтобы понять, каким образом строятся нейросетки. Все алгоритмы, всю базу можно расписать в один-пару постов (плюс, если надо написать). Когда понятно, каким образом эта вся дурость работает, уже возникают потребности в математике. В линейной алгебре в первую очередь, на мой взгляд.
Примерно с той же целью, свичнутся в ML, я пошла учиться на бакалавратуру на специальность 'Econometrics and data science' во Vrie Universiteit в Амстердаме. Я точно знаю что моей внутренней мотивации и знаний не хватит на то чтобы учится в одиночку по своему плану.
Учеба по графику, с четко обозначенными сроками и экзаменами не даёт расслабиться.
Но мне ещё очень повезло учиться вместе с мои другом. Один тот факт что есть человек с которым можно вместе тупить над нереально сложной задачей, даёт мотивацию учится и не бросать.
Привет, у меня та же проблема, но отмазок еще меньше, чем у тебя. Учился в бакалавриате и магистратуре на Data Science (математика, физика, etc в том числе). Собирался после учебы идти работать в Data Science, но подвернулась возможность начать в Data Engineer. Решил, что без дата инжиниринга никакой дата саенс не заведется, потому решил поработать дата инженером. Дальше пошел СТО в начинающий стартап (не взлетел), где выучил backend, frontend и mobile разработку. Потом позанимался своими проектами и в итоге устроился на должность ML Engineer, но на деле у меня 1% ML и 99% технической работы (фулстэк, девопс, «сделай чтоб работало»). А я хочу заниматься NLP (еще до хайпа с LLMs). Вот сижу и пытаюсь пинать свою компанию, чтобы мне дальше побольше проектов с ML. И они даже не против, но это в духе «разбирайся сам», а я уже устал разбираться сам, хочется мощных коллег, которые хорошо объяснят (таких нет).
Аспирантура кмк самый надежный но не самый выгодный и не самый быстрый путь. И аспирантура это уже и есть ресерч, в который не то чтобы сильно сложно попасть.
Те цифры которые назвал по UK это конечно больно. Но это не приговор. Есть более вменяемые по зп позиции (но конечно не сравнимы с индустрией как правило)
И кстати ты по какому ии ресерчу загоняешься?
Если NLP то вот есть ресурс куда много разного PhD постят - Corpora List
Также гипотетически можно напроситься к действующим аспирантам/профессорам на совместный запил чего либо. С тебя так сказать работа за идею, с них консультации и дальше решение вопросов по орг взносам за публикацию. В итоге всем профит.
Я вот будучи в Испании дописываю примерно в таком же режиме статьи из сколтеха. Если вдруг твои ИИ интересы сонаправлены с NLP или объяснимым ИИ, то можем тоже колаб замутить подобный)
а не могли бы вы побольше рассказать о мотивации смены карьеры? это связано с бумом гэпэтэ или просто всегда вас интересовало?
я это к тому, что сам сейчас сомневаюсь, как оставаться востребованным, будучи хоть и инженером, но работающим над вещами, которые вполне себе могут по тех заданию сокрыться в черной коробке от AI и работать точно так же.
Мысли и советы от уже вкатывавшегося в DS/ML (в клубе есть пара постов от меня на тему) - я бы начал подобный переход с практики, а теорию бы нахватывал только в тех местах, в которых начинаю чувствовать, что вообще не дорубаю.
Для входа в "общий" ML - https://www.udemy.com/course/python-for-data-science-and-machine-learning-bootcamp/
Далее можно уже погружаться прицельно в нейрнонки, типа того же https://course.fast.ai/. Ещё вариант - http://neuralnetworksanddeeplearning.com/index.html, там первые две главы показательны в плане того, нужно ли подтягивать матан-линалгебру. Если всё оказалось понятно, и смог воспроизвести примеры, то точно можно не дрочить себя отдельными курсами по "математике", а сразу заниматься практикой по максимуму.
После того, как получил "общий кругозор" по всему, что есть сейчас в ML/DL, можно выбирать "специализацию", и максимально упарываться уже по ней - распознавание картинок, NLM/LLM, генеративные сети - это всё, по сути, отдельные направления, не особо свзяанные друг с другом, и в каждое из них можно зарыться до конца карьеры :)
Тоже захотел начать проводить AI рисерчи.
План у меня всего один, зато уже в процессе реализации. Объединяю инфобез с ИИ, сотрудничая с командой коллег датасатанистов, и пытаюсь взять под контроль соотношение ИБ и ИИ рисерчей.
Привет, как прогресс?
@aigoncharov можешь, пожалуйста, дать апдейт? интересный план у тебя получился, интересно как спустя год ты на него смотришь? Вижу, что в гугль шитс ты перестал заносить данные в июле 2023 года, тогда и закончил обучение по плану?
С аспирантской стипендии скорбей всего не платятся налоги. Поэтому 20k это как после налогов. Не густо но и не так пусто как если бы это была зарплата.