Почему вам не удастся стать «великим» специалистом по данным?.
Эта работа приведет к тотальной автоматизации, ежедневно упраздняя миллионы рабочих мест. Эта работа создаст сверхсильного богоподобного Альтрона, который однажды уничтожит всех людей.
А теперь покинем фантастический мир голливудских мифов и спустимся на грешную землю. Задержитесь со мной на несколько минут. Думаю, что смогу объяснить вам, как стать если не “великим”, то хотя бы “хорошим” специалистом по данным. Честно говор?
Почему вам не удастся стать «великим» специалистом по данным?...
Эта работа приведет к тотальной автоматизации, ежедневно упраздняя миллионы рабочих мест. Эта работа создаст сверхсильного богоподобного Альтрона, который однажды уничтожит всех людей.
А теперь покинем фантастический мир голливудских мифов и спустимся на грешную землю. Задержитесь со мной на несколько минут. Думаю, что смогу объяснить вам, как стать если не “великим”, то хотя бы “хорошим” специалистом по данным. Честно говоря, не уверен, достоин ли сам называться “хорошим”. Но по опыту знаю, что от специалистов всегда ждут ценных рекомендаций, верно? Однако легче раздавать советы, чем следовать им. Что ж, давайте попробуем.
Кто такой специалист по обработке данных? Что он знает и умеет? К примеру, я занимаюсь инжинирингом, не имея университетского диплома бакалавра наук (мои экзаменационные оценки в школе оставляли желать лучшего). Для себя я определил науку о данных простыми словами. Это область пересечения трех важных навыков: информатики, математики + статистики и знания предметной области. Здесь важно как уметь принимать решения, основанные на данных, так и разрабатывать алгоритмы, которые делают это за нас. В последнем варианте преимущество ленивого парня. Вместо того, чтобы ломать голову над трудной задачей (например, анализируя мультимножество данных, определять, какие из них представляют собаку, а какие — кошку), он может автоматизировать ее, разработав модель, которая все сделает сама. По структуре эта модель будет похожа на человеческий мозг. Круто, не так ли? Тем не менее, нам, вероятно, никогда не проникнуть в тайну “природного человеческого разума”. Тема эта довольно спорная. Не будем слишком самоуверенными в нашем стремлении к крутости поставим тут точку.
Какой бы веб-ресурс вы ни использовали сегодня, будь то Instagram, Youtube, Google Search или Snapchat, всюду рулит наука о данных — от создания новостной ленты до прогнозирования решений. Везде вы замечаете эту волшебную палочку. Как будущие инженеры и менеджеры, вы не будете вручную разрабатывать пользовательские рекомендации в компании, у которой миллиарды клиентов (в том числе из стран, названия которых вы никогда даже не слышали). Не зная ни слова по-японски и по-корейски, вы разработаете автопереводчик с японского на корейский, и он выполнит перевод с ошеломляющей правильностью и эффективностью. Черт возьми, вы справитесь с этим лучше, чем выпускник университета, который специализировался на переводе с японского на корейский. Мне жаль его/ее. В этом сила науки о данных. Вам не нужно понимать данные, достаточно научить машину понимать их за вас. Машины — наши рабы, не так ли?
Наука о данных — это машина Судного дня, даже в зачаточном состоянии. В течение сотен лет люди медленно осваивали статистику и математику только с одной целью — предсказывать будущее. Теперь то, на что всего десять лет назад уходило несколько месяцев, делается студентом, изучающим науку о данных, за несколько часов. Стоит ли запрыгивать на ходу в этот невероятный поезд науки о данных? Вспомним одно из главных правил этики: то, что блестит, еще не золото.
Наука о данных, как и искусственный интеллект в целом, предоставляет уникальные возможности только для нескольких человек. Большинство людей, занятых в этой сфере, — просто хорошие специалисты. Лишь немногие из них действительно преуспевают в том, что они делают. Конечно, вы, должно быть, думаете, что все дело в опыте, и с годами каждый хороший специалист превращается в великого. Но все не так просто.
За наукой о данных стоят две противоположные идеи, наверняка знакомые большинству из вас:
- Верный способ покорения науки о данных — совершенствование математических навыков. Только освоив линейную алгебру и выполнив множество исчислений, можно считать себя энтузиастом искусственного интеллекта.
- Кому нужна математика? Для решения большинства задач достаточно овладеть Python с библиотеками и репозиториями Github. Это скорее работа по “настройке кода”, а не математическая.
Я не согласен с обоими утверждениями. Математика позволяет понять взаимодействие между входными данными и параметрами, которые изучает модель. Она также облегчает понимание и усвоение результатов сложных современных исследований. Она помогает преобразовывать архитектуру, избегая случайных изменений и многочисленных ошибок рассогласования. Но мир математики необъятен. Стараясь углубиться в него, вы, вероятно, будете отставать от коллег по цеху и лишитесь многих стрел в своем арсенале во время поиска работы. Математика требует от вас погружения, в то время как библиотеки и быстродействующие проекты позволяют масштабироваться. Будьте готовы к компромиссу между шириной и глубиной (BFS vs DFS). Оптимизируйте свои гиперпараметры: время, отведенное для достижения поставленной цели, и склонность к математике в целом. К сожалению, поиск по сетке не доступен для жизни, разве что в какой-то параллельной вселенной.
Специалисты, занимающиеся новыми данными, осознают угрозы современной цивилизации. Человеку не охватить все специальные сферы знаний (компьютерное зрение, обработку естественного языка, обучение с подкреплением, цепи Маркова, машины Больцмана и т. п.), не угнаться за достижениями в каждой из них. На это просто нет времени (Кроме того, откуда нам взять столько вычислительной мощности?). Индустрия искусственного интеллекта постоянно развивается, с каждой секундой набирая обороты вычислительной мощности. Вопрос в том, как вы сможете все переварить? В конце концов, вам придется смириться с тем, что нельзя достичь совершенства во всем сразу. Кроме того, нет смысла смотреть продвинутые видео по нейросетям или читать статьи на Медиуме, если вы не разрабатываете реальные проекты.
Что касается практической стороны, не стоит интересоваться новыми исследованиями, пока вы не знакомы с азами кодирования. Только не начинайте с грандиозных проектов с огромной вычислительной мощностью, создайте работающее устройство для пакета размером 1.
Ян Лекун, Йошуа Бенжио и Джеффри Хинтон, лауреаты премии Тьюринга (Нобелевской премии по информатике) 2019 года, работали десятилетиями, прежде чем стали великими в своей области. Я ничего не придумываю, они сами об этом рассказывали. И все же вы верите, что можете узнать все о LSTM, почитав 10 минут блог парня, работающего в технологической компании. Существует огромная разница между правильным и оптимальным решениями проблемы ИИ. Одно делает тебя хорошим, другое — великим. И да, оптимальность означает не только изменение архитектуры модели, но и получение как можно большего объема первичной информации из входного материала. Никакая настройка модели или гиперпараметров не может преодолеть недостатки данных в такой степени, как корректная обработка данных. Чтобы понимать данные на интуитивном уровне, вероятно, необходимо использовать визуализацию. Большинство прорывов носят скорее интуитивный характер и совершаются только в том случае, если вы можете визуализировать проблему в реальном мире. Попробуйте объяснить свое решение коллеге, не занимающемуся наукой о данных, и посмотрите, как это работает.
Для решения реальных социальных проблем, которые вас интересуют, необходимы умение и терпение при поиске нужной информации. Это часто недооценивается людьми, занимающимися наукой о данных, которые ненавидят синтаксис HTML и ленивы в извлечении некоторых данных из Интернета. Хотите провести анализ вспышек малярии в различных штатах Индии и найти решение этих проблем? Попробуйте наскрести сведения с некоторых допотопных правительственных веб-сайтов; это будет довольно забавная задача и реальная ценность для сообщества.
Чтобы получить работу специалиста по обработке данных в большинстве технологических фирм, вам просто нужно быть хорошим специалистом. Совсем не обязательно быть великим. Собеседования не особенно сложны. Работодатели в основном обращают внимание на средний уровень понимания концепций и проекты в вашем резюме. При встрече вам зададут несколько десятков стандартных вопросов, чтобы определить ваше потенциальное место в команде программистов.
Стать великим специалистом позволит набор из следующих качеств:
- увлеченность своим делом;
- стремление и способность решать реальные проблемы по улучшению жизни людей;
- правильное понимание и интуиция, лежащие в основе реализуемых проектов;
- эффективное обучение и тестирование ваших алгоритмов;
- объяснимость решений, которые принимают ваши модели.
К этому стоит добавить соответствие формата данных определенным требованиям, знание предметной области и довольно большую вычислительную мощность моделей.
Искусственный интеллект — это обширная сфера с различными субполями, выбор которых зависит от ваших целей. Ниже я привел несколько практических советов, основанных на моем личном опыте и наблюдениях моих друзей-коллег:
- Не игнорируйте соревновательное программирование. Если вы не можете воплотить свои идеи в код, вас нельзя назвать человеком, который разбирается в компьютерных науках, а тем более, специалистом по обработке данных. Знание структур данных, алгоритмов и временных сложностей — must have науки о данных и разработчика.
- У каждой части конвейера искусственного интеллекта свое назначение и свои “великие” исследователи — аналитики данных, инженеры и специалисты по обработке данных. Если вы мечтаете стать известным аналитиком или инженером, знание баз данных и языка SQL является обязательным. Более того, любому специалисту по обработке данных полезно приобрести SQL-навыки, чтобы не нуждаться в посторонней помощи.
- Вычислительная мощность может быть большой головной болью при выполнении проектов в области науки о данных. Чтобы решить эту проблему, либо используйте бесплатные ресурсы, такие как Kaggle и Colab, либо стажируйтесь там, где обеспечивают облачную вычислительную мощность. Стажировки очень важны для осознания пропасти между тем, что вы предлагаете, и тем, что хотят потребители.
- Пройдите несколько курсов по линейной алгебре и исчислению. Кроме того, реализуйте все, что вы изучаете, читая лекции по компьютерному зрению, обработке естественного языка и т. д. Хорошие курсы профподготовки часто доступны на Udacity и других независимых ресурсах. Математические курсы предлагают на Youtube (Стэнфорд, Калифорнийский университет в Беркли, Массачусетский технологический институт) и Coursera. Решение задач и выполнение домашних заданий — это обязательное условие.
- Не менее важно читать исследовательские работы, а также блоги ИИ-команд Facebook, Google, Uber и т. д. Они раскроют вам подходы к решению реальных задач и расширят ваш кругозор. Обращайтесь к обоим источникам и постарайтесь найти баланс между ними.
- Диверсифицируйте свои проекты с точки зрения охвата различных областей. Это даст вам более полное понимание вещей и резюме, способное впечатлить многих работодателей.
Можете рассматривать эти советы как руководство по получению “хорошей” работы специалиста по обработке данных в большинстве компаний. Отнеситесь к ним со всей серьезностью и прислушивайтесь к рекомендациям более умных людей, чем я. Тогда ваши шансы постепенно продвинуться и стать “великим” увеличатся.
Помните, что лучшее время для посадки дерева было несколько лет назад. Другое подходящее время — прямо сейчас. И все же не стоит упорствовать в том, чтобы стать непременно “великим” специалистом по данным. Потому что довольно легко быть, как я, просто “хорошим”.
Наверное, я много хвастался. Напоследок хотел бы дать вам последний совет, который я получил от своего очень компетентного наставника и который применим независимо от того, занимаетесь ли вы наукой о данных или нет: “Не тратьте впустую свою студенческую жизнь. Это прекрасная возможность учиться. Работайте сообща с другими и меняйте мир к лучшему”.