Junior ML-инженер | Собеседование | karpov.courses
Учитесь ML с нами:
Симулятор ML: bit.ly/3L8JT1c
Курс Start ML: bit.ly/3T9vrs0
Курс Hard ML: bit.ly/41ZdhwP
Героем нового интервью на позицию Junior ML инженера стал Вадим - выпускник Start ML и участника Симулятора ML.
У Вадима не было опыта в IT до программ karpov.courses. Мы предложили ему принять участие в mock-собеседовании и выяснить, насколько он готов к входу в новую профессию. А провёл интервью Богдан Печёнкин, автор Симулятора.
LinkedIn Вадима: / vadimbaev
0:00 Введение и знакомство
2:55 Uplift-моделирование
5:50 Модель оттока
08:06 Метрики для дисбаланса классов
11:32 Расчёт доверительного интервала площади под PR кривой
12:35 Принцип работы бутстрапа
15:26 Обратная связь по бутстрапу
16:52 Оценка метрики, если нет возможности брать выборки, но есть обученные модели и их оценки
19:00 Схемы кросс-валидации
20:55 Влияние смещения и разброса на качество модели
22:43 Основные компоненты A/B теста
25:42 P-value и гипотезы
27:27 Необходимое количество данных
29:31 Проведение симуляций
32:40 Градиентный бустинг
35:00 Что произойдёт, если убрать первое дерево в градиентном бустинге
36:45 Различия в построении деревьев
40:10 Оценка предсказаний регрессионной модели
43:48 Deploy ML-сервисов
47:20 Web-фреймворки
48:13 Фиксация версии библиотек
50:00 За какими метриками можно следить после deploy
51:33 Как быть, если модель не посчитала предсказание, а ответ нужен быстро
53:12 Моделирование прогноза спроса
55:36 Практика
1:06:15 Обратная связь
Пікірлер: 62
Скоро Джуны должны будут уметь по воде ходить и воду в вино превращать
мужик такой хороший, дай Бог ему чтоб получилось все
1. Всё правильно сказал Вадим про расставление приоритетов при обучении, режим и пр. Только так можно продуктивных результатов без стресса добиться. 2. да, всегда есть недоработки, но дорогу осилит идущий. 3. В целом, прояснились моменты проведения интервью. Благодарю всю вашу команду за работу!!!!
Так много интересных и умных людей в ваших собесах это очень здорово. Те кто решился на такое крутое изменение в жизни просто молодцы!
Вадим молодец. Интервью интересное. Смело лайкаем👍 Таймкоды: 0:00 - Вступление 0:40 - Вадим, расскажи о себе 3:04 - Uplift-моделирование в резюме 3:46 - Расскажи про uplift-моделирование 5:09 - К какой задаче ml мы можем свести uplift? 5:17 - Что если на выходе не купит/не купит, а сколько денег получим 5:51 - Маркетолог пришёл, сказал построить модель оттока. Твои действия. 6:40 - Как соотносятся задача uplift-моделирования и прогноза оттока? 7:35 - У нас есть вероятности ухода пользователей. Как обработать данные, чтобы сделать по ним выводы? 8:07 - Метрики для дисбаланса классов 8:34 - За что отвечает каждая из этих метрик? Какая между ними закономерность? 11:34 - Площадь под PR-кривой: как мы можем быть уверены, что в следующем месяце она останется приемлемой? 12:36 - Как работает бутстрап? Как настроить доверительный интервал? 15:30 - Обратная связь по бутстрапу 16:54 - Одна модель обучена 5 раз на 5 фолдах. Как оценить метрику? 19:01 - Схемы кроссвалидации 20:07 - У нас нет временной зависимости, k-fold. Мы решаем, на сколько фолдов бить. Как принимать решение? 20:55 - Мы сравниваем модели. Как по-другому называется точность оценки? А какое ещё есть свойство? 21:16 - Мы замеряем финальное качество модели. Нас интересует схема валидации с меньшим смещением или с большим разбросом? 21:47 - А если модели похожи? 22:45 - Из каких компонентов состоит А/Б тест? 23:47 - Что такое ошибка первого рода? 24:25 - Ошибки первого и второго рода применительно к группам А и Б 25:43 - р-value, нулевая гипотеза 27:29 - Как мы в А/Б тестах считаем, сколько данных нам нужно и какую разницу тестить 29:31 - Как проводить симуляции? Как понять, что все готово к А/Б тесту? 31:02 - Как будет выглядеть распределение p-value? 31:23 - Что такое мощность? 31:29 - Симуляция А/Б теста - ответ 32:18 - Какое распределение p-value в этот раз? 32:37 - Градиентный бустинг 35:11 - Что будет, если мы уберём первое дерево в градиентном бустинге после обучения всех деревьев? 36:48 - catboost, xgboost, lightgbm - в чем отличия построения одного дерева? 40:08 - Мы обручили модель (градиентный бустинг, регрессия). Она дала предсказание на данных. Как оценить уверенность модели в нем? 43:47 - Как происходит deploy модели? 44:54 - Стажёр обучил модель в jupyter-notebook. Как заставить ее приносить нам деньги? 47:20 - Какие web-фреймворки есть на python? 48:17 - Как фиксируются версии библиотек? Зачем это надо? 49:30 - Обратная связь по деплою 50:02 - Мы задеплоили модель. За какими техническими метриками будем следить? 51:03 - Что если нет требований к real-time ответу? Нужно ли следить за временем ответа? 51:38 - У нас real-time сервис, а модель не выдала результат. Что мы можем заготовить взамен? 53:15 - Прогроз временного ряда. С каких моделей начать? 55:36 - Кодинг-секция. Fizzbuzz задача. 1:05:57 - Обратная связь по интервью 1:10:41 - Что ты узнал для себя?
@karpovcourses
Жыл бұрын
спасибо, добавили в видео!)
Шикарное видео! Огромное спасибо! про МЛ очень хорошо поговорили, но видно что можно и еще больше обсудить. Про кодинг бы побольше надо, конечно, а то одна задачка всего изевая, хочется больше реальных кейсов собезных задач посмотреть, может вообще интервью сделать в 2 этапа? Пойду записываться в ML-симулятор, всем любви!
Спасибо, очень ценно✊ Пойду смотреть ваш симулятор)
Отличные вопросы. Широко по темам. Интервьюируемый хорошо показал себе.
Ждал, когда Богдан уже просто скажет "вот тебе ручка, продай мне ее"
@uberkinder
Жыл бұрын
вот тебе ML проект, продай Мне его 🤣
Итак. Посмотрел, понравилось, кандидат выступил хорошо. Я сам, как человек, прошедший только курс по Data Sciece от Ян...кс Практикума и без опыта в IT скажу, что программа у Старт МЛ выглядит поинтереснее, правда не знаю, что там под капотом. В яп много практики, но теория так себе, порой совсем печаль, нет разделов по бэкенду и деплою, чисто дс, скл, нлп, кз, статистика вскольз. Если бы я обратил на курс старт мл внимание раньше, наверное пошел бы туда. По мере выступления Вадима сам старался отвечать, многое понимаю, но не смог объяснить как положено. Сам днем работаю, вечером учусь на остатке сил и понимаю Вадима, была бы возможность, бросил бы работу и готовился бы с поиску новой. Спасибо за отличное интервью. Надеюсь, Вадим получил заветный оффер)
@AnotherSapiens
27 күн бұрын
Эх, у меня также) Но уж не совсем так все плохо) В целом тоже хорошо)
В туфляяяях с пакеееетом… отличное видео ! Но конечно кодинг секцию посильнее хотелось бы видеть )
Круто 💪
Капец столько вопросов, на аналитика дай бог 5 вопросов когда Карпов вью брал))
Круто, молодецы!
MOOC интересно посмотреть еще
Бустим видео) пишем комменты.
Такое ощущение, что вопросы задаются согласно контексту ваших курсов и вашего симулятора.
@karpovcourses
Жыл бұрын
Наоборот!) Преподаватели делают симуляторы и курсы исходя из тех вопросов, которые они задают людям на собеседованиях.
Жесть он крут
На ML инженера секция кодинга из одной мемной задачи уровня "а вы точно знаете, как работает if"?) До этого момента все годно было, но без какой-либо проверки навыков программирования из интервью можно убрать "-инженер" в названии позиции.
@uberkinder
Жыл бұрын
Я согласен что coding skills first при принятии решения о найме. Но с другой стороны, инженер это не тот кто просто умеет писпть код, а тот кто способен задизайнить сложную систему со всеми нюансами и трейд-оффами - и имплементировать её
@hr3nk
Жыл бұрын
@@uberkinder как я понимаю, и могу быть не прав, скрытый смысл секции кодинга - не столько проверка того, насколько ты знаешь все синтаксические приколы используемого языка, или сколько задачек с литкода ты зазубрил, самое важное - показать умение рассуждать об алгоримическом дизайне решения (вряд ли конечно кто-то так это называет, но идея именно такая). А про системный дизайн - это отдельное интервью, и тем более джун позиция - какие-то принципиальные моменты можно спрашивать, но у человека вряд ли вообще есть релевантный опыт, чтобы с учетом всех действительных ньансов рассуждать. То есть для меня джун-инженер - это прежде всего чувак, который может критически анализировать даваемую ему задачу и реализовывать, но не заниматься высокоуровневым дизайном систем.
Привет, подскажите будет ли подобное по Junior Data Engineer?
@karpovcourses
Жыл бұрын
Обязательно сделаем
Все же в этом собеседовании масса вопросов из маркетинга, которые к инженеру ml отношения не имеют. Зачем ему обьяснять про отток клиентов? Еща из data science масса вопросов. Понятно что проффесия на стыке всего этого, но желательно разделять дата саентиста и мл инженера.
@user-bf6ud9br2q
Ай бұрын
Бизнес должен зарабатывать и задача сотрудника - помочь в этом бизнесу, а не просто сидеть пилить модельки
@atlant1707
Ай бұрын
@@user-bf6ud9br2q для такого бизнеса можно охранника или грузчика со склада поставить на эту должность) При всем уважении к профессиям с физическим трудом, каждый должен заниматься своим делом, иначе эффективные менеджеры грохнут любое дело.
Эх тайм коды бы
@karpovcourses
Жыл бұрын
Добавим, но чуть позже!
ну кодинг легчайшая))
Вообще не совсем понятно почему собес называется Junior, ибо вопросы многие совсем не джуновские. Джун по определению человек либо без опыта, либо с минимальным опытом, а вы его тут спрашиваете про деплой сервисов и веб фреймворки. Кажется что правильнее джуна по основам погонять, математику поспрашивать, на самом деле даже по одной Линейной регрессии можно достаточно погонять, чтобы понять готов человек или нет. Хорошо что хотя бы про LLMки и прочие нейроннки не спрашивали)
@user-bf6ud9br2q
Ай бұрын
Вы не прям понимаете современный трудовой рынок в мл В контексте бигтеха - яндекс, Сбер и тп это вопросы на стажера
@alexshumilov3175
Күн бұрын
@@user-bf6ud9br2q это не так, я буквально зимой успешно прошел все этапы в яндех на мид+ позицию и там были вопросы примерно того же уровня что и в этом интервью
@user-bf6ud9br2q
Күн бұрын
@@alexshumilov3175 вопросы по теории примерно на одном уровне, на мид позиции и выше просто начинают спрашивать мл дизайн В тот же я*декс проходил на стажера 2 мл+код секции, спрашивали даже глубже чем в этом интервью
Березутский пошёл в айтишники)
Очень сильный джун
@sanpavlovich9726
4 ай бұрын
ага, но судя по линкедину на данный момент до сих пор без работы( Рыночек такой сейчас
@diggerdog001
2 ай бұрын
@@sanpavlovich9726 какой
Кроме бустинга, регресси и оценки моделей вопросов для ml-инженера не было. Зачем мне знать про a/b тесты? Это довольно специфичная штука, которая далеко не везде внедрена правильно и она нужна аналитикам в первую очередь. Холесь бы видеть следующие вопросы на собесе: реализация CART с нуля и тут же разница межу inf gain и gini, регуляризации, аугментация и синтез данных, adam, relu, back propagation. По питону вопросы по ооп, асинхронке, тестам. По sql про индексы и оптимизацию запросов, и че-нить по hadoop.
@uberkinder
Жыл бұрын
В работе реального ML инженера который приносит бизнесу деньги само машинное обучение и моделирование занимает 5-20% времени. A/B тесты это не специфический, а чуть ли не единственный инструмент оценить эффект твоей работы на бизнес метрики. Цель любой ML системы - улучшить онлайн метрики (повысить прибыль, ретеншн, качество поиска и тд), а оффлайн метрики лишь прокси к ним (= точность модели). Моделировать в юпитер-тетрадке можно бесконечно долго но это не то что бизнесу и вам принесет X денег каждые Y дней. Поэтому у нас фокус парадоксально не на моделях и мы так много говорим и думаем о том какой ML сервис будет оказывать регулярный импакт
@hopelesssuprem1867
Жыл бұрын
@@uberkinder Если я разрабатываю алгоритмы компьютерного зрения и тащу их в прод, то зачем мне a/b тесты и оценка метрик на бизнес? По-нормальному этим должен заниматься аналитик: тестировать гипотезы, рисовать дэшборды, оценивать разные бизнес-метрики и показывать результаты руководству. Я слышал, что в компаниях, где не хватает людей, скидывают эту работу на ml-щиков, но лично я бы таким не занимался.
@uberkinder
Жыл бұрын
нейросети это инструмент и если ты не понимаешь экономику бизнеса в котором работаешь и какие метрики важны/не важны, ты не будешь знать, куда прикладывать усилия, в какую сторону воевать
@uberkinder
Жыл бұрын
тебя нанимают не модельки обучать и заниматься рисерчем а чтобы ты приносил бабки
@hopelesssuprem1867
Жыл бұрын
@@uberkinder экономика бизнеса? Это что за вода?). Расскажу реальный пример: я делал сервис по офлайн-диаризации, который потом внедрялся в аналитическую систему, что позволило сэкономить n-тыс.р. и никто у меня за а/б тесты и прочее не спрашивал - вот конкретный пример с конкретным результатам. То что ты привел - это работа нормального аналитика, который знает классический ml, но это не ml-инженер. Дело в том, что в этой области до сих пор никто нормально не может разделить должности с обязанностями, поэтому и возникает такая каша.
Костюм топ
Честно говоря довольно бесполезное видео.
@uberkinder
Жыл бұрын
Скажите пожалуйста, что бы вы посоветовали изменить, чтобы следующие выпуски были полезнее?
@bogdanns2
Жыл бұрын
@@uberkinder да ну, отличное видео) хорошие вопросы, парень отлично отвечает
@cult.mramor
Жыл бұрын
Не знаю, лично для меня видео оказалось полезным, хотя уже сам работаю в данной индустрии👍
"Пишешь код не бегло"... wat
@user-pf9bz1oo6w
Жыл бұрын
Ну это правда, эту задачу джун должен за примерно 1-2 минуты писать, наверное
@miremax0
Жыл бұрын
@@user-pf9bz1oo6w джун хз, но просто если до остального особо не докопаться, то тут попробовать можно))
@user-pf9bz1oo6w
Жыл бұрын
@@miremax0 я хз о чем вообще говорить, джун должен уметь писать код, джун это штатный сотрудник, блин... написание кода это основное занятие, куда более важное чем знание любой теории, этот чувак его не умеет/не умел на момент создания видео писать
@yuriye9792
Жыл бұрын
@@user-pf9bz1oo6w джун не должен писать код быстро, а сначала понять поставленную задачу, а потом ее корректно реализовать с учетом вычислительной сложности, а скорость нарабатывается количеством решенных задач. я такую задачу давно решал, но с ходу решил ее за 5 минут и не вижу в этом ничего зазорного. надеюсь не обидел)