Давайте уточним, что именно подразумевается под AI-инженером, так как в сети много путаницы по этому поводу.
Вкратце, AI-инженер — это программист, который специализируется на использовании и интеграции фундаментальных моделей генеративного AI, таких как Claude, GPT, BERT и другие.
Они не "строят" эти модели с нуля, как учёный данных или инженер машинного обучения; вместо этого они используют их для решения конкретной задачи.
Например, они могут встроить чат-бота на веб-сайт магазина, чтобы помочь покупателям быстрее найти нужный товар, или добавить помощника по кодированию в IDE, например Cursor.
Поскольку AI-инженеры — это специализированные программисты, им нужно знать фундаментальные практики разработки ПО и иметь глубокие знания о системах AI.
Этот набор навыков редкий, но сейчас пользуется высоким спросом из-за ажиотажа вокруг AI. Естественно, зарплата AI-инженеров очень высока, и многие компании платят около 200-300 тысяч долларов в год.
Как вы видите, это привлекательная карьера с большим потенциалом роста. Давайте теперь разберём, как именно вы можете стать AI-инженером.
Шаг 1: Точка входа
К сожалению, одна из реальностей состоит в том, что крайне сложно начать карьеру AI-инженера с нулевым опытом.
Это потому, что профессия требует достаточного мастерства в области данных, машинного обучения, разработки ПО и, естественно, AI.
Поэтому вам нужно сначала стать учёным данных или разработчиком ПО, по крайней мере на один год, прежде чем думать о переходе на должность AI-инженера.
Выбор между учёным данных и разработчиком ПО зависит от вас и вашего опыта.
Однако я лично рекомендую начать разработчиком ПО, так как это направление более тесно связано с ролью AI-инженера.
Вам не нужно верить мне на слово; Грег Брокман (CTO OpenAI) также согласен, что лучше сначала быть разработчиком ПО, а затем улучшать свои знания в области AI/ML.
Как разработчик ПО, вы должны приложить усилия к изучению инструментов и технологий, необходимых для того, чтобы стать AI-инженером:
- Python — весь экосистем AI/ML построен на Python, поэтому вы должны уметь писать качественный production-код на этом языке.
- SQL — AI работает с данными, а SQL — это язык данных.
- Инструменты разработки ПО — нужно знать такие вещи, как git для контроля версий, основы bash/zsh и понимание того, как создавать и использовать APIs.
- Технологии системного дизайна — система AI, которую вы в итоге создадите, должна масштабироваться, и вы, вероятно, развернёте её на облачных платформах вроде AWS, Azure, GCP, используя инструменты Docker и Kubernetes.
Ресурсы
- W3Schools Python Course (бесплатно) — отличный бесплатный ресурс.
- Harvard CS50 Introduction to Computer Science — вероятно, лучший курс введения в информатику и разработку ПО!
Временная шкала
Временная шкала зависит от того, сколько времени потребуется вам, чтобы получить работу разработчиком ПО или учёным данных.
Быть реалистичным: если у вас есть образование в STEM с хорошими знаниями, и вы действительно приложите усилия, вы сможете получить эти должности примерно за 6 месяцев.
Затем вы должны оставаться на этой должности около года, прежде чем пытаться перейти на должность AI-инженера, чтобы убедиться, что вы освоили основы.
В сети есть множество руководств о том, как начать карьеру разработчика ПО, и у меня есть несколько дорожных карт для того, чтобы стать учёным данных, которые вы также можете проверить.
Шаг 2: Основы AI/ML
Во время работы на полную ставку разработчиком ПО вам нужно будет повышать свои квалификации в области основ AI/ML, чтобы обеспечить быстрое продвижение на вашем пути.
Вам определённо не нужно понимание на уровне PhD по математике, поскольку вы не будете строить эти модели с нуля, но это даст вам основные знания для более глубокого изучения продвинутых тем позже.
Вот что вы должны знать:
- Основы математики — твёрдое понимание статистики, вероятности, линейной алгебры и анализа поможет вам понять, что происходит под капотом.
- Контролируемое обучение — знайте, как работают базовые алгоритмы, такие как линейная регрессия, деревья решений и метод опорных векторов.
- Неконтролируемое обучение — знайте, как работают базовые алгоритмы, такие как K-Means и K-Nearest-Neighbor.
- Нейронные сети — это основа LLM, и хорошее понимание таких тем, как обратное распространение ошибки, исчезающие градиенты и функции активации, позволит вам быстрее отлаживать модели AI в будущем.
- Основы LLM — хотя вы не будете строить LLM с нуля, вы будете работать с ними каждый день, поэтому хорошо бы иметь некоторые знания о том, как они работают. Вы должны изучить такие области, как трансформеры, автокодировщики, токенизация и вложения.
Ресурсы
- Mathematics for Machine Learning — лучшая универсальная книга, но довольно плотная.
- Hands-On ML with Scikit-Learn, Keras, and TensorFlow — если я должен был бы дать только одну книгу для изучения машинного обучения, это была бы она!
- Neural Networks: Zero to Hero — начинается относительно медленно, с построения нейронной сети с нуля. Однако в последнем видео показано, как построить собственный генеративный трансформер (GPT)!
Временная шкала
Изучение основ будет зависеть от того, насколько долго вы занимаетесь во время работы учёным данных/разработчиком ПО.
Рекомендация состоит в том, чтобы интегрировать эти концепции в вашу повседневную работу как можно больше.
Если я бы учил всё это вне рабочего времени, я бы ожидал, что это займёт 3-6 месяцев, если вы действительно приложите усилия.
Шаг 3: Концепции AI-инженерии
На данный момент настало время углубиться в конкретные концепции и идеи, которые вы будете использовать как AI-инженер в реальном мире.
Эта область быстро развивается, и каждый месяц появляется что-то новое для изучения. Здесь я буду перечислять вневременные фундаментальные концепции, так как они по далеко наиболее важны.
- AI APIs — сервисы, такие как OpenAI API, позволяют вам интегрировать мощные модели без необходимости строить их самостоятельно. Это самый быстрый способ начать создавать реальные приложения с возможностями AI.
- Инженерия подсказок — изучение того, как эффективно взаимодействовать с моделями AI, — это критически важный навык. Хорошо составленные подсказки могут значительно улучшить результаты модели и необходимы для получения согласованных результатов.
- Retrieval Augmented Generation (RAG) — поймите, как подключить LLM к внешним базам данных, таким как Pinecone, и использовать соответствующую информацию для улучшения точности ответов модели AI.