#1 Получить повторений в

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

Овладение навыком должно быть вашей целью.

Покупайте себя, добиваясь успеха в том, что вы делаете.

Это заставило меня задуматься, что я могу сделать, чтобы стать более компетентным инженером машинного обучения. Я задал вопрос своим контактам в LinkedIn: Что я могу делать ежедневно, чтобы стать компетентным инженером по машинному обучению (или специалистом по данным)?. Я не совсем так это сформулировал, но это было так. по этим линиям.

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

Вот десять вещей, которые вы можете делать каждый день, чтобы улучшить свои инженерные навыки машинного обучения.

1. Привлекайте представителей

«Практика подразумевает практику, поэтому я обязательно буду тратить один час в день на выполнение нескольких повторений.

Вы знаете, как вы ходите в спортзал и делаете день ног, и у вас есть набор различных упражнений… как бы это выглядело в этом контексте?

У вас может быть день гиперпараметров». — Харприт Сахота

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

Например, взять курс Развертывание моделей машинного обучения на Udemy (не спонсируется). Этот курс посвящен созданию, упаковке и развертыванию моделей машинного обучения. Пройдите курс, следуя всем инструкциям. Когда вы закончите курс, получите другой набор данных — любой набор данных, это не имеет большого значения — и снова пройдите курс… но на этот раз примените все основные концепции к вашему новому набору данных.

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

Например, вы можете научиться создавать оптимальную модель, а затем заменять развернутую модель, не нарушая работу системы, — делать все, что делает ее похожей на реальный сценарий.

Работайте над этим по часу в день. Вы получаете своих представителей.

2. Читайте много книг

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

Даже если у вас нет амбиций стать предпринимателем, вы можете украсть этот совет — вы будете наемным сотрудником.

Если вы не знаете, с чего начать, ознакомьтесь с пятью книгами, которые, по моему мнению, должны прочитать все инженеры по машинному обучению. Микико Базели также поделилась несколькими замечательными книгами в нашем обсуждении на LinkedIn (не забудьте подписаться на нее):

3. Прочтите множество примеров использования машинного обучения

Проектирование систем машинного обучения — это процесс определения архитектуры программного обеспечения, инфраструктуры, алгоритмов и данных для системы машинного обучения, чтобы она удовлетворяла заданным требованиям [Источник: Стэнфордский курс проектирования систем машинного обучения]. Другими словами, это важно.

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

Вот цитата моего старого футбольного менеджера:

«Узнайте, как это делают профессионалы, а затем добавьте свой собственный стиль».

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

Говоря об уроках, полученных на местах… наш собственный Harpreet Sahota недавно поделился некоторыми уроками MLOps, которые наша команда в Comet усвоила, работая с лучшими командами машинного обучения в мире. Посетите бесплатный вебинар здесь!

4. Читайте исходный код лучших фреймворков

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

Как и чтение книг, чтение кода поможет вам расти быстрее, потому что вы учитесь у других — вы стоите на плечах гигантов. Вы активно изучаете новые способы делать вещи, а не пассивно получаете информацию.

Я бы даже пошел еще дальше: скопируйте код лучших фреймворков и ваших любимых разработчиков.

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

Пока я печатаю, я думаю о том, почему автор использовал одни слова вместо других и как это получается. Когда я закончу, я удалю весь документ. Я повторяю это до тех пор, пока полностью не пойму голос моего любимого автора.

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

5. Создайте свой собственный фреймворк

Работая над все большим количеством проектов, вы заметите, что код из прошлых проектов можно использовать в новых проектах. Используйте это как инициативу для создания собственного фреймворка. Именно это и сделали создатели курса развертывания моделей машинного обучения — создали фреймворк feature engine.

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

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

6. Выполняйте задания

Практики разделились во мнении о важности соревнований и испытаний — аргумент в том, что они не отражают реальные сценарии.

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

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

7. Изучите Git

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

8. Найдите наставника

Я поделился этим в LinkedIn несколько дней назад —

Нам всем нужны наставники.
Вот три типа наставников, которые у вас могут быть:

1. Прямой наставник: кто-то, кто доступен и собирается сесть с вами и показать вам, как именно он это сделал.

2. Непрямой наставник: 90 % наставничества можно передать на аутсорсинг книгам и другим формам материалов (например, видео на YouTube, курсы и т. д.).

3.Наблюдение и размышление. Люди, страстно увлеченные самоизобретением, будут рассматривать все, на что они смотрят, как метафорическое представление того, что они делают. Они живут по принципу «Я знаю, что ничего не знаю», так что все это урок.

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





9. Присоединяйтесь к сообществу

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

А может и нет, но опять же, кого это волнует.

Общайтесь с людьми, которые могут обогатить вас и которых вы можете обогатить. Чем больше мы делимся как сообщество, тем больше мы можем продвинуться в этой области. Надеюсь, однажды мы сможем договориться о лучших практиках для MLOPs.

Некоторые сообщества, к которым вы можете присоединиться, включают:

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

10. Улучшите свои навыки общения

В конце концов, вам нужно будет общаться.

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

Вам придется общаться с нетехническими членами команды и акционерами.

Независимо от того, где вы находитесь, общение имеет ключевое значение.

Улучшение вашей способности общаться — это универсальная черта, которую можно улучшить с любым навыком.

В итоге,

  1. Получить представителей в
  2. Читать много книг
  3. Прочтите множество примеров использования машинного обучения
  4. Читайте исходный код лучших фреймворков
  5. Создайте свой собственный фреймворк
  6. Выполняйте задания
  7. Изучите git
  8. Найти наставника
  9. Присоединяйтесь к сообществу
  10. Улучшите свое общение.

Оставьте комментарий, если считаете, что я пропустил что-то ценное.

Спасибо, что прочитали.

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



Примечание редактора. Heartbeat — это интернет-издание и сообщество, созданное участниками и посвященное предоставлению лучших образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение наших еженедельных информационных бюллетеней (Еженедельник глубокого обучения и Информационный бюллетень Comet), присоединиться к нам в Slack и следить за Comet в Twitter и LinkedIn, чтобы получать ресурсы, события и многое другое, что поможет вам быстрее создавать лучшие модели машинного обучения.