Арсений Кравченко

Арсений Кравченко

Неделя
Sep 13, 2021 → Sep 19, 2021
Темы
Индустрия
ODS
Engineering
Computer Vision

Архив недели

Понедельник


Привет! Меня зовут Арсений, я senior ML engineer в Instrumental.ai и один из администраторов ODS.ai. До недавних пор жил и работал в Минске, в 2020 переехал в Варшаву. Еще у меня есть канал в телеграме t.me/partially_unsu….

10+ лет в IT, 6 лет занимаюсь ML, в последние годы в основном computer vision. Мое высшее образование оборвалось на втором курсе факультета журналистики БГУ, где я учился на пиарщика. Это мой ответ на вопрос "можно ли работать в около-DS без образования".

Занимался user acquisition в Wargaming (от мальчика на побегушках до продакта), устал от митингов, закрылся дома, через 8 месяцев пошел работать в Яндекс разработчиком с уклоном в датку. Потом Juno (его купил Gett, а потом перепродал в Lyft), WANNABY (примерка кроссовок и часов)

Сейчас удаленно работаю в Instrumental - это калифорнийская компания, которая делает большие черные ящики с камерами для фабрик. Самая простая аналогия - это дебаггер для mechanical/electrical инженеров с CV фичами типа unsupervised / few-shot anomaly detection.

План: поговорим о роли MLE и ее отличиях в от близких ролей, об образовании и самообразовании (от курсеры до kaggle), о митапах и конференциях, о карьере и деньгах, и закончим рандомными кулсторями.

🔥Тред (Арсений Кравченко)

Вторник


Итак, время поворчать. Одна из проблем отрасли - роли пока довольно размыты. Похожие роли (data scientist, data engineer, ML engineer, MLOps, research engineer, you name it) могут быть про одно и то же, а могут сильно отличаться.

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

Где-то data scientist пилит модельку и перекидывает свое поделие в jupyter ноутбуке коллегам, которые умеют в software engineering, со словами "я сделяль, занесите в прод".

В другой компании data scientist будет делать уже нормальный микросервис, с тестами, в докере, готовый к нагрузке и кривым запросам.

Аналогично и MLE: где-то они пилят все от моделек до прода, где-то только убирают говно за jupyter-ребятками. У нас в компании MLE занимается практически всем, от разбирательств, таки что нужно кастомерам, до on-call дежурств, если что-то развалилось в проде.

Вообще в Instrumental сильна идея, свойственная многим западным стартапам: сказать "it's not my job" - это фатальный зашквар. Потому по умолчанию предполагается, что MLE должен при необходимости делать все, чуть ли кнопочки на фронтенде двигать (на мой взгляд, это уже перебор).

Соответственно, чтобы затащить фичу в прод, надо 1) понять задачу, 2) сделать ее ML ядро, 3) обернуть в python сервис, 4) обновить API у сервисов-консьюмеров (а это обычно разные стеки), 5) потестить, задеплоить, еще раз потестить, 6) что-то еще, о чем я забыл.

В среднем получается, что MLE нужны скиллы и в ML, и в software engineering, в разных местах - в разных пропорциях. По моему скромному опыту, software engineering навыки в среднем оказываются полезнее.

Проще научить инженера читать статьи и утаскивать sota с гитхаба, чем машинлернера - делать production-ready системы, которые не будут разваливаться от каждого чиха.

Капитан Очевидность лишний раз напоминает, что software engineering и computer science - это разные вещи.

Дорогие читатели, как вы считаете, насколько широким должен быть спектр задач у машинлернеров?
🤔 18.5% MLE должны пилить ML
🤔 47.2% MLE - это такие фуллстеки
🤔 20.4% Что-то посередине
🤔 13.9% Да мне наплевать

🔥Тред (Арсений Кравченко)

Среда


Сегодня будем говорить про образование и самообразование в том или ином виде. Так уж получилось, что самое продвинутое из околотехнических тем, чему меня учили в формальной системе образования - это умножение матриц. Остальное пришлось собирать по кусочкам самостоятельно.

Кстати, чтобы получить зачет по "высшей математике" на факультете журналистики (да-да, такое было!), нужно было или уметь перемножать матрицы, или спеть деду-преподавателю песенку. Выбор очевиден.

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

Если меня вдруг читают молодые люди, которые не могут для себя решить, надо ли учиться в универе, то лучше учитесь. Я до сих пор изредка жалею, что забил.

Помимо универов и курсов для образования нужны (1) практика, (2) эксперты, которым можно задавать вопросы. Какую-то часть практики можно делать самостоятельно и с людьми в коммьюнити (kaggle, опенсорс, пет проекты). Но этого недостаточно.

Потому забегу вперед и затрону тему карьеры: первые N лет нужно выбирать такую работу, где вокруг тебя будут умники, а ты сам сможешь наступить на достаточное количество граблей в интересной тебе сфере.

Мне вот дико повезло с умниками - почти всегда вокруг меня оказывались прекрасные коллеги, у которых есть чему поучиться.

Пет проекты особенно хороши на начальных этапах карьеры или для освоения совсем незнакомых технологий. Дальше полезность снижается во многом из-за нехватки обратной связи: варясь в собственном соку, экспертом, очевидно, не станешь.

Kaggle - крутая штука для первичной прокачки в ML. Я когда-то зависал там довольно много, но, став мастером, несколько потерял интерес. Впрочем, раз в год захожу что-нибудь лайтово порешать - посмотреть по сторонам, расширить кругозор.

Kaggle круче пет проектов тем, что дает обратную связь в виде лидерборда, но плох тем, что является подмножеством задачи из реального мира. Немного старых (но по-прежнему актуальных) рассуждений на эту тему habr.com/ru/company/ods…

Пилить open source - полезно, порог входа повыше, зато и долгосрочная польза для человечества есть! Лучше всего вписываться в проекты средней величины: мелкие - это то же томление в собственном соку, крупные уже достаточно неповоротливы и потому feedback loop будет так себе.

В начале карьеры FOMO и прочите синдромы самозванца хороши и полезны, они мотивируют вгрызаться в новое знание. Дальше и без них неплохо живется: ну, не разобрал свежую статью, и фиг с ним - когда нужно будет, тогда и вникну. Можно позволить себе жить вне работы, весь этот WLB.

Но широта кругозора все равно важна, так что долгосрочно ищите себе нормальный трейд-офф между задротством и гниением, пацаны и пацанессы. Какие еще банальности про образование и т.н. "саморазвитие" я не затронул?

🔥Тред (Арсений Кравченко)

Четверг


Сегодня продолжим на тему карьеры, затронутую вчера. Итак, никакие сторонние активности типа Kaggle и опенсорса не заменят осмысленную работу на работе.

У меня два основных критерия в карьере: надо максимизировать количество умных людей вокруг и то, насколько лично меня прет этим заниматься. Пилить унылое говно за чемодан денег - неправильно в долгосрочной перспективе (если, конечно, есть неунылые альтернативы).

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

Как в прикладном ML некая устойчивость модели обычно важнее метрики на конкретном тестовом датасете, так и в карьере не надо оверфититься под одно измерение, будь то бабки, модный тайтл или хипстерский технологический стек.

Еще, напомню, есть концепция exploration-exploitation trade-off, она тоже применима к карьере не меньше, чем для многоруких бандитов.

Знаю немало людей, которые оставались в золотой клетке и в течение 3-5 лет теряли в профессионализме. Потом, конечно, им приходилось идти ночевать под мост и собирать бутылки. Или как-то иначе умерить амбиции, точно не помню.

Я дважды уходил с хорошей работы с потерей в деньгах более 30%, и многие крутили пальцем у виска "этот лысый совсем поехал кукухой". В обоих случаях mid term это было несомненно правильным решением, не жалел ни разу.

В прошлом году впервые отказался от оффера на $100k+/year удаленно (спасибо ковиду). А ведь я объективно туповат и ленив, и деревья балансировать едва умею, и в динамическое программирование не могу.

🔥Тред (Арсений Кравченко)

Пятница


Ладно, на сегодня у меня нет никаких конкретных тем, а пятница - хороший день для всякой бестолковой движухи! Потому устроим классическую игру: я напишу 10 фактов (7 правдивых и 3 ложных) и предлагаю дорогим подписчикам угадать, что из них правда, а что нет.

Однажды я дрался с женщиной на работе в ожидании митинга. Нормально так помахались, до крови!

Однажды я накосячил в конфигурации так, что компания недополучила примерно 250k$ в течение месяца, но никто не заметил.

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

Когда-то я делал минские Датафесты и сопутствующие митапы. На самом большом минском датафесте было больше 1000 человек из 13 стран.

Кстати, я подписался делать минский Датафест на слабо́: когда-то в пьяном виде на вечеринке после ICML Леша Натекин убедил меня, что это отличная идея, а потом соскочить было уже неловко!

Один из потенциальных докладчиков на Датафесте предлагал $1000 за то, чтобы включить его в программу.

Есть человек, которого я нанимал на двух работах по очереди. В свое время он занял мою позицию, когда я уходил. Когда-то перед этим он работал конюхом.

Знаю человека, который ходил в бар с женщиной из другой компании, чтобы получить у нее датасет для проекта, которым он занимался.

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

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

🔥Тред (Арсений Кравченко)

Воскресенье


Внезапно неделя подошла к концу, скоро придется отдавать аккаунт! Спасибо за реплаи и прочий интерес🙏, если хотели что-то еще сказать/спросить - самое время. Еще напомню, что аналогичную херню я иногда пишу в канале t.me/partially_unsu…

Ссылки