ML-инженер в Рестрим Медиа
· 29.06 · ред.Как сталь ML Engineer с 0
Один человек в комментариях спросил как с 0 стать ML Engineer. Я решил, что ответ тянет на отдельный пост и будет интересен не только ему. Так уж получилось, что в вузе я не учился именно на MLщика и никаких ВШЭ, ИТМО, МГУ и других козырных вузов не заканчивал. Хоть и были какие-то курсы в институте, но в целом они не тянули на что-то около серьёзное. Я учился почти с нуля(были знания по программированию) и почти сам(в машинное обучение меня завёл один из преподавателей), поэтому могу что-то рассказать про обучение с 0.
Сразу оговорюсь, что тут важна заинтересованность и понимание, что лучший и главный учитель это ты сам. Итак: 0) Нужно знать питон до уровня ООП. Что значит знать? Достаточно порешать с десяток задач разного уровня на сайтах по официальному программированию. Не нужно углубляться в какие-то интерфейсы, паттерны программирования и в подобные дебри. Возможно кому-то это понадобится на пути ML, но будет точно не в начале. Возможно дальше, но к этому времени вы будете таким классным программистом, что усвоите это намного быстрее, чем если сейчас.
1) Для первичного погружения в ML советую https://www.kaggle.com/learn. Если бы я наткнулся на него в своё время, то это сэкономил бы кучу времени. Курс поверхностный, но глубоко копать на этом этапе не нужно.
2) Первая мудрость гласит: чтобы стать программистом, нужно программировать. Вторая мудрость гласит: чтобы стать MLщиком, нужно MLировать.Тут тоже поможет kaggle. Этот сайт вообще будет своего рода портфолио для будущего первого работодателя и ссылку на kaggle нужно будет прикрепить в резюме. Просто решите задачки для начинающих, а потом какие вам интересны. Не знаете как решить? Сосмотрите там как решают другие(да и в интернете вообще) и попробуйте хотя бы воспроизвести с нуля. Сколько решать? Да пока работодатель не откликнется на ваше резюме.
3) Посмотрите какой стек требуется в интересующей вас вакансии. MLщик это не тот, кто умеет только запускать Юпитер и прогонять модель. Это ещё определённый инструментарий(MLflow, DVC, Dagster или что-нибудь ещё). Посмотрите какие фреймворки нужно знать, сравните с тем, что знаете вы и заботайте разницу. У любого хорошего фреймворка есть раздел с туториалами и для начинающих. Ещё упомяну, что многие работодатели пишут, что для построения нейронных сетей нужно знать Tensorflow, Torch, Jax(?). В реальности всегда приходилось сталкиваться только с Torch. Даже в современных научных статьях реализацию видел только на Torch. Jax так вообще как Снежный человек: все говорят, что его видели, но не врут только несколько человек.
4) Во время прохождения пункта 3 и 4 начинайте откликаться на вакансии. Расстрою сразу. Придётся откликаться много, а получать приглашений на собес мало. Но много и не нужно. На этом этапе нам нужны тестовые задания. Нужно решать эти тестовые задания. Скорее всего по-началу вы не будете укладываться в срок, но и это не нужно. На этом этапе должен произойти переход от игрушечных задач на kaggle к околореальным продуктовым задачам. Важно реализовать эти решения и залить в гитхаб(если его не знаете, то тоже освоить на этом этапе) и прикрепить гитхаб в резюме. Если вы даже не пройдёте собесы, то у вас будет доказательство вашего опыта. И через Nое количество итераций вас примут.
5) Условия на первой работе скорее всего будет не очень. Но не стоит расстраиваться, примерно с мидловского уровня уже будет то о чем вы мечтали.
П.С.: интересные ссылки, где вы найдете помощь и заниния: 1) https://t.me/natural_language_processing 2) https://t.me/betterdatacommunity 3) https://dls.samcs.ru/ 4) Если знаете какие-то ещё, то кидайте в комменты
еще контент автора
еще контент автора
ML-инженер в Рестрим Медиа
· 29.06 · ред.войдите, чтобы увидеть
и подписаться на интересных профи