Machine Learning и Data Science — это одни из самых популярных и востребованных направлений в IT. Но вместе с этим — они и одни из самых сложных для входа. Здесь огромное количество тем, инструментов, библиотек, подходов и постоянно появляющихся технологий.
Из-за этого многие новички начинают обучение с энтузиазмом, но через пару месяцев теряют интерес. Причины могут быть разные: слишком много теории, мало практики, нет чёткого плана или понимания, зачем вообще всё это нужно.
Эта статья — не очередной «гайд по ML для новичков». Это мой личный взгляд на то, как бы я подошёл к обучению, если бы начинал с нуля уже сегодня , учитывая свой опыт работы в крупных компаниях, проваленные проекты, ошибки и победы.
Кратко об авторе
Я уже успел отработать в Яндексе, ВК, Сбере, отучиться в МФТИ и на протяжении всей карьеры занимаюсь компьютерным зрением и ML. В начале пути наделал уйму ошибок:
Долго не мог определиться с направлением
Вообще не понимал, что от меня буду ждать на собесах
Боялся конкуренции: казалось, что вакансий мало, а требования слишком высоки для новичков
Разочарование, когда казалось, что я ничему не научился за последние несколько месяцев
Именно поэтому я решил написать эту статью — чтобы поделиться своим опытом и показать, как можно начать с нуля и дойти до реальной работы , минуя типичные ловушки.
Определись с мотивацией
Первое, что нужно сделать, прежде чем погружаться в Machine Learning или Data Science — понять свою цель. Это одна из самых бурно развивающихся областей в IT. Объём знаний необходимых для прохождения собеседований огромен, и он растёт год за годом.
И если ты выбрал эту сферу наобум, без чёткого понимания, зачем ты это делаешь — велик шанс, что ты бросишь обучение на полпути.
Легко не будет — но это того стоит
Готовься много и упорно зубрить. Готовься к тому, что обучение потребует времени, усилий и терпения. Никаких «за месяц станьте ML-инженером» — это миф. Но если подойти правильно, можно пройти путь от новичка до Junior или Middle специалиста за реальное время, с реальным результатом.
Сядь и реши, точно ли ты хочешь в эту сферу? Может лучше пойти в более привычное направление разработки на Go/Python?
Найди свою собственную долгосрочную мотивацию, зачем ты будешь изучать машинное обучение в течение полугода-год, до нахождения первой работы
Моя история: как я нашёл свою мотивацию
Когда я только начинал, я наткнулся на примеры компьютерного зрения: алгоритмы, которые умеют находить объекты на картинках, следить за ними, определять действия, даже описывать изображения текстом.


Для меня это был настоящий вау-эффект .
Мне чисто для себя стало интересно разобраться в том, как это устроено, как самому обучить нейросети делать такие крутые вещи.
Меня и до сих пор удивляет и дико забавляет, то что можно делать с помощью нейросеток, я ни дня не скучаю от своей работы, поэтому в начале пути, мне было просто весело этим заниматься.
Навык 1
И самое первое, что вам необходимо освоить это конечно же Python.
Без базового понимания синтаксиса и структуры кода ты не сможешь ни обучить модель, ни обработать данные, ни даже запустить чужой проект с GitHub.
Многие новички пытаются сразу прыгнуть в теорию ML или нейросети, но спотыкаются уже на уровне элементарного скрипта, который загружает датасет.
Именно поэтому начинать нужно с Python — не с глубокого погружения в ООП или метаклассы, а с практического минимума, который позволит тебе двигаться дальше.
Синтаксис — это основа. Ты должен свободно ориентироваться в конструкциях for
, if
, while
, уметь писать функции. Эти вещи встречаются буквально в каждом скрипте, будь то предобработка данных или логика обучения модели.
Структуры данных — это инструменты, которые определяют, насколько эффективно ты можешь работать с информацией. Списки, словари, кортежи — они используются повсеместно. Например, словари удобны для хранения параметров модели, списки — для батчей данных, а кортежи — как неизменяемые структуры часто применяются внутри фреймворков вроде PyTorch или scikit-learn.
Работа с файлами — ты постоянно будешь сталкиваться с необходимостью считать .csv
, прочитать .json
с гиперпараметрами или сохранить результаты в .txt
? Вот мой список лучших материалов для старта:
? Проверь себя - Вопросы с собеседований:
Что произойдёт, если изменить список внутри кортежа, который был ключом в словаре?
Какая сложность по времени у вставки/поиска в списке vs в связном списке?
Как работает декоратор @property и зачем он нужен?
В чём разница между
__new__
и__init__
?
Освоение этого навыка займёт у вас скорее всего от 2 до 4х недель
❌ Игнорируй бесполезные советы
Одна из самых частых ошибок новичков — это следование советам, которые звучат логично, но на практике ведут к выгоранию и потере мотивации.
В интернете полно статей вроде: «Как стать ML-инженером за 6 месяцев», где первым пунктом стоит «выучи матанализ, алгоритмы и LeetCode».
Не делай этого.
Алгоритмы? Не сейчас
Да, понимание базовых алгоритмов полезно. Но не на старте.
Когда ты только начинаешь путь, тратить недели на сортировки, графы и динамическое программирование — это как учить грамматику языка, прежде чем научиться говорить хотя бы пару фраз.
Тебе не нужно знать, как работает алгоритм Кнута-Морриса-Пратта, чтобы обучить модель классификации текстов или запустить YOLO для детекции объектов.
Математика потом
Многие считают, что без глубокого понимания матана, линейной алгебры и теории вероятностей нельзя заниматься ML. Это миф.
На самом деле, большая часть современных библиотек и фреймворков уже реализует сложные формулы за тебя.
Понимать, что такое матричное умножение или функция активации — полезно.
А вот выводить формулу градиентного спуска на бумажке — не обязательно.
Это не означает, что математика вообще не нужна. Она важна, когда ты переходишь на более продвинутый уровень — например, начинаешь оптимизировать архитектуры нейросетей или разрабатывать свои собственные модели.
Но в начале пути она чаще становится преградой, чем помощником.
LeetCode — это не про ML
LeetCode — отличный инструмент для подготовки к интервью в крупные IT-компании.
Но он не учит тому, что реально требуется в работе ML-инженера .
Решение сложных задач на бинарные деревья, перестановки и оптимизацию памяти — это скорее тест на стрессоустойчивость, чем реальный навык для работы с данными.
Если ты хочешь просто начать делать проекты, разбираться в моделях и понимать, как устроена реальная работа — забудь про LeetCode на первые пару месяцев.
Что делать вместо всего этого?
Переходи к практике, как можно быстрее. Решай и реализуй реальные практические МЛ задачи, как только ты увидишь первые результаты, твой мозг получит положительно закрепление
Ты потрудился - получил результат
А значит стал ближе к своей цели - получению оффера
Навык 2
Когда ты освоишь Python, следующий шаг — понять, что такое Machine Learning и как он работает на практике .
Многие думают, что ML — это про сложные формулы и нейросети. На самом деле, большая часть работы в этой сфере — это работа с данными, выбор модели и оценка её качества.
И начинать нужно не с глубокого обучения, а с базовых задач и моделей.
Основные типы задач:
Классификация — определение категории. Например: спам или не спам, кошка или собака на картинке.
Регрессия — предсказание числа. Например: сколько будет стоить квартира, или сколько времени пользователь проведёт на сайте.
Кластеризация — поиск групп в данных. Например: выделение групп пользователей с похожим поведением, если заранее неизвестно, какие они.
С этими типами задач ты будешь сталкиваться постоянно, особенно на старте.
Как понять, хороша ли модель?
Не все модели одинаково полезны. Иногда кажется, что всё работает отлично, а на деле — модель просто угадывает.
Вот почему важно знать метрики — числа, которые показывают, насколько хорошо работает твоя модель.
Например:
accuracy
— процент правильных ответов. Но он обманчив, если классы несбалансированы (например, 95% случаев — "нет", и модель всегда отвечает "нет").precision
иrecall
— покажут, насколько точна модель при поиске нужного ответа.F1-score
— удобная свёртка этих двух метрик.Для регрессии часто используют
MAE
илиRMSE
— они говорят, насколько в среднем модель ошибается в своих числовых предсказаниях.
Эти метрики несложно понять, но очень важно уметь их использовать правильно.
? Вот мой список лучших материалов для старта:
? Проверь себя - Вопросы с собеседований:
Нужно ли нормировать данные прежде, чем подать в их в линейную регрессию?
Когда использовать MAE, а когда MSE?
Что такое boxplot и как найти выбросы в данных, метод 3-х сигм?
Возможно ли такое, что Precision=19%, Recall=92%, Accuracy=10%?
Что такое F2 мера, F3 мера, F100500 мера?
Освоение этого навыка займёт у вас скорее всего от 3х до 5 месяцев
Навык 3
Подходим к концу. Третий навык в моем списке это SQL - синтаксис для составления запросов к базам данных, это одна из самых простых технологий для освоения, от вас требуется знание всего лишь базовых аспектов
Отличие left join от cross join
Что такое транзакции
Составление сложных запросов с разными условиями
Освоить SQL на достаточном для собеса уровне можно за 1-2 недели
Навык 4
И последний, четвертый навык — это как можно скорее переходить к практике и заниматься реальными задачами. Именно через практическую работу вы быстрее всего приблизитесь к тому, чтобы стать настоящим, уверенным в себе специалистом.
Вам нужно научиться решать те самые задачи, с которыми вас будут просить работать на реальной работе. Речь о бизнес-задачах — именно за них и платят зарплату.
Идеи для пет-проектов легко найти на YouTube и GitHub. Там уже есть огромное количество материалов, примеров и готовых решений, которые другие люди создавали во время своего обучения и делились ими с сообществом. Это сильно облегчает начало пути и помогает не терять мотивацию.
Вот, в принципе, и всё. Я рассказал о ключевых навыках, распространённых проблемах и мифах, с которыми я сам сталкивался на пути изучения Machine Learning. Надеюсь, этот опыт поможет и вам освоить эту сферу и дойти до своей цели.
Про интерактивный сборник материалов по ML
Про CLIP модели и базу к Computer vision собесам
Вопросы с ML | Computer vision собесов
Читай у меня в телеграм канале
Комментарии (19)
apcs660
15.06.2025 21:38Сейчас начал раскопки RAG, копаю примерно месяц.10 лет примерно занимался написанием поисковых корпоративных систем по классике. Работа на заказчика закончилась но привычка, как говорится, осталась. Идеи на полке тоже. Решил освежить знания, немного отойти от колеи и сразу попал на RAG.
RAG по сути, есть трех типов: vanilla, это когда в лоб ищем по knn векторам составленным из кусков текста. Подобный поиск встроен в Solr/Elastic.
Hybrid Rag - когда ищем применяя knn и классический поиск по фразам и ключевым словам а затем пытаемся отранжировать и соединить результаты поиска. Как вы извлекли ключевые слова и фразы, это отдельная песня. Бывает так, что нужно отделить поиск по метаданным от поиска по контенту, и создать маппинг от онтологии в NLP запросе к полям метаданных в базе или индексе.
И третий, он же немного второй способ, RDF хранилища, SPARQ, использование graph db как хранилища и если ресурсы позволяют, нейросети для обработки и хранения связей графа знаний.
Сразу после сокращения создал проект на гитхабе, пригласил туда коллегу из QA (нас кучно сократили, отвалился клиент жирный), создал организацию на гитхаб чтобы работать в группе. Учебное окружение должно напоминать рабочее. Может еще кого подтяну из знакомых.
С недельку помучал ChatGPT, придумал себе имя для домена и заодно продукта. За небольшие деньги зарегал пару доменов, . Dev с SSL (18 баксов) и . аi (140), чтоб застолбить, заодно нормальную почту корпоративную.
Все нужно делать по настоящему, даже когда учишься. Потихоньку пилим в песочнице то что уже делали раньше но в силу NDA не могли утащить - создаю базу, улучшаю код с учетом опыта. Делаю необходимый минимум но по феншую чтоб не краснеть когда выложу в открытый доступ. Потихоньку набьем руку, затем начну прощупывание клиентов с которыми работал, попробую на контракт заскочить.
Питон если честно, раздражает, но делать нечего - учу. Он меня как Бейсик, немного выбешивает. Что то сложное поставить - надо anaconda + mamba, это просто ужасно.
Проектов масса, по RAG заинтересовал haystack. Лонгчейн, ллм индекс, пара векторных баз типа milvus, тоже мимо не пройдут.
На литкод зашел и вышел. Одной книжки по алгоритмам достаточно полистать, и пару листингов или публикаций, зачем больше то знать на обычной работе? 90 процентов разработчиков в запарке применяют наивные алгоритмы или готовые библиотеки и все на этом
поймал себя на мысли, что устал кодировать. Начал почитывать пару книг по корпоративной архитектуру и это мне зашло намного лучше чем программирование. Авторы поумнее как то показались, меньше тупой бравады и думать пытаются. Все как в реальных больших проектах - много шишек и компромиссов. Наверное пора с кодинга уходить.
Через полгода примерно подкуюсь, демо проекты закончу, буду готов но работу начну прощупывать примерно через месяц - новье конечно нужно знать но по Легаси работы море никто не отменял принцип "сначала продай а потом сделай", это норма сейчас.
sergeyns
15.06.2025 21:38Я бы пошел на электрика учится... судя по расценкам на авито, доходы от сбора щитков и монтажа розеток не меньше чем у сеньеров...
egaoharu_kensei
15.06.2025 21:38Хочу добавить очень полезный источник для изучения ML, который когда-то я сделал сам (это не реклама и абсолютно бесплатно). Это серия статей на Хабре с созданием ML-алгоритмов с нуля, что будет очень полезно, особенно новичкам. Вот ссылка на статью https://habr.com/ru/articles/804605/
Сейчас профессия ML-щика движется в очень необычном направлении: если раньше нужно было заморачиваться с поиском моделей, данных, изучением и реализацией архитектур, то сегодня существует множество готовых базовых решений, которые достаточно немного затюнить, чтобы получить уже приемлемый результат. Это очень сильно упрощает жизнь не только маленьким компаниям, но и трудоустройство в них: даже не разбираясь как это все устроено изнутри, можно сделать чат-бота или tts в пару кликов с помощью того же hugging face. Хорошо это или плохо - это уже вопрос риторический.Настоящий же хардкорный ML, когда мы с нуля пишем тот же flash attention на triton или cuda, разрабатываем с нуля и обучаем свои архитектуры трансформеров, и т.д. - это очень сложный и дорогой путь (research), который могут себе позволить только крупные компании (и то не все), не говоря уже про то, что для него порог входа расположен совершенно на ином уровне. Это как раз тот случай, когда нужно хорошо знать матан, алгоритмы, тонкости ЯП, паттерны и так далее, поэтому если у вас нет особой любви к ML, то я бы не рекомендовал этот путь, поскольку он занимает очень много сил и времени (говорю из опыта).
К слову про research, а именно про research engineering...в ближайшем будущем я планирую опубликовать на Хабре статью с реализацией ChatGPT с нуля (с теорией и кодом), показав как устроены изнутри и создаются его компоненты: токенизатор, flash attention, GPT, RL (PPO) и так далее (спойлер: большая часть проекта уже сделана).
WebPeople
15.06.2025 21:38А какие должны быть базовые навыки, чтобы приступить к обучению? Понятно, что все не перечислить, но хотя бы самое важное.
Просто бывает такое, что человек сам не замечает, что у него уже есть приличный "багаж" знаний и навыков за спиной, поэтому он может писать, что "математика потом", ООП потом и т.д. Потому что напрямую все это не пригодилось, т.к. все уже есть "готовое" в библиотеках. А ведь просто развернуть какую-нибудь готовую нейросетку из опенсорса на своем железе - может стать непреодолимой задачей для новичка. И то что мелочь для одного, то для другого проблема
Tim_23
15.06.2025 21:38Про дата саенс ничего не сказали )
Я бы начал с цифровой обработки сигналов , классических книг п этой теме. Согласен с тем что многие курсы , которые обещают за полгода научить чему то , это трата времени . Тут поможет только опыт , а начинать надо с простой и примитивной базы .
nomhoi
15.06.2025 21:38Что бы я сделал, если бы сегодня начинал учить Data Science / ML?
Сюда нужно зайти: Learn Python, Data Viz, Pandas & More | Tutorials | Kaggle
proxy3d
Судя по вакансиям расклад все таки другой
1) Яндекс, подавляющее кол-во вакансий от HR это RAG проекты. Хотя описано про ML/AL как только начинаешь общаться, оказывается RAG.
2) Сбер, часть чисто ML по метрикам оценки разных систем, типа онлайн кинотеатра (условно). Большая часть это чисто RAG, langchain в обвязке Сбера. ML метрики для обучения LLM моделей. Ни новые архитектуры, ни новые решения или r&d.
3) Тинькофф - RAG и недавно присылали, что собираются делать систему на базе открытой для обучения ИИ управлять компом или приложением (забыл). Замахнулись на то, что сами слабо понимают. Опять взять опенсоурс и обучать.
4) ВК - тоже по-моему в основном RAG предлагают под соусом AI/ML. Либо считать ML метрики в разных системах.
5) МТС точно не помню, что то пытались они в синтез речи. Но судя по результатам , вышло хреново.
То есть все сводится к тому, что обучать в лучшем случае готовые решения. Но чаще всего работа с RAG. Или делать обвязку вокруг готовых ACR, TTS. Ничего нового.
В целом, сетки конечно есть, пытаются то VITs для синтеза речи обучить, то tacatron2. Тоже с остальным. То есть в реальности, работа в том, что делать обвязки, готовить данные по ML метрикам, внедрять RAG и так далее.
Это не хорошо не плохо. Наверное продуктовые компании так и должны делать. Но реальным AI/ML исследованиями заниматься там все равно не будешь. В лучшем случае оптимизировать текущие, перебирая токенизаторы и гиперпараметры, считая метрики для бенчмарок.
На фоне DeepMind или deepseek это выглядит очень печально.
einhorn
Вспоминаются критерии при отборе в гугл
Внедрял RAG в 2023 году = +10 очков
Внедрял RAG в 2025 году = -10 очков
SlavikF
А где посмотреть эти критерии?
einhorn
Где-то на реддите видел
Запомнилась только эта часть
einhorn
Если серьезно, то ничего плохого в повсеместном написании обвязок и RAGов нет
Практика показывает, что индустрия пока что не научилась нормально продукционализировать ИИ. Вот взять даже гугл - войсоверы и автосубтитры на ютубе - полное говно; над ИИ-саммари в поиске постоянно стебутся. Видать, толковых "внедрителей RAGов" им все-таки не хватает
Плюс, вы привели в пример российские компании. О каком серьезном R&D может идти речь, когда мощные GPU вообще нельзя завозить в страну?
akod67
Поясните пожалуйста мысль про полное г субтитров на ютубе. Включаю периодически английские, не сказал бы, что полное.
einhorn
Он справляется только на английском в спокойных видео, да и то ошибок намного больше, чем у виспера 2022 года
Не справляется с музыкой и громкими фоновыми звуками: сразу начинает выдавать дичь. С фильмами работать не способен
Пунктуация часто отсутствует
Работает только на нескольких самых популярных языках. Чем дальше - тем хуже. На русском уже ужасно. На каком-нибудь японском абсолютно несмотрибельно ни при каких условиях. На армянском - просто не умеет
Очень часто ютуб считает, что видео слишком сложное для транскрибации, и не делает субтитры вообще
Иногда ошибается даже в распознавании языка: принимает армянский за турецкий (они даже не родственны, хотя турецкий повлиял на армянский в ходе истории), а украинский за русский
Вдобавок, очень криво переводит субтитры. Сейчас можно переводить намного лучше
В общем, виспер 2022 года просто на голову выше, а ведь с тех пор ASR развивалось: ElevenLabs Scribe намного лучше виспера на сложных языках
Tim1970
Украинский и есть региональный диалект русского. Всё правильно ИИ понимает
proxy3d
Ни чего не имею против RAG. Речь шла о том, что из себя представляет на сегодня рынок AI/ML в России. Подавляющее число это RAG (который тоже требует метрик) либо расчет ML метрик для статистики. То что раньше считали в Excel, различные мат методы статистики, теперь перешло в ML. Но ML в продуктовых компаниях, где надо найти метрики по заказам ВкуссВилл и другие подобные, очень поверхностно затрагивает тему машинного обучения. А так вакансии RAG это сегодняшние вакансии AI/ML во всех крупных компаниях в РФ, недавно HR из СберЗдоровье писал, тоже RAG.
Мое личное мнение, что RAG это не совсем AI/ML, это что то среднее. Так как это работа с готовыми фреймворками LangChain (или подобных) с их API, а не с нейронками. Но при этом надо знать различные ML метрики, хотя их набор небольшой для оценки результата. Поэтому отчасти RAG можно отнести к ML.
Что касается R&D, то это не так. Речь не про просто обучение на готовых открытых моделях, как это делает Сбер или Тинькофф, а как DeepMind именно исследования. Тут не нужны видеокарты. Да и у Сбера приличное кол-во видеокарт, они сдают в аренды GPU сервера облачные. Здесь дело в самом подходе, приоритетах, мышлении.
40kTons
Вялотекуще интересовался ии ещё году в 19-20. Потом написал диплом по мл. Думал в мл перекатиться из разработки, но пока думал случился бум gpt, и стало казаться что в ближайшие годы работа в ml будет чем-то вроде адаптации llm под свои нужды и создании сервисов вокруг llm, а это не показалось чем-то интересным. Так и не перекатился в мл