Дорожная карта по изучению ИИ в 2024 году

Востребованность навыков работы с искусственным интеллектом растет как среди исполнителей, так и среди управленцев. С 2023 года компании в России стали в 7,8 раза чаще указывать в вакансиях опыт работы с ИИ и нейросетями. В статье представлена бесплатная учебная программа для программистов по изучению ИИ, разработанная совместно с Neuro.net

Дорожная карта по изучению ИИ в 2024 году

Разделы

Введение в обучение

Необходимая база

Основной инструментарий

Практические навыки

Введение в обучение

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

  • позволяет получить целостное представление о системе;
  • улучшает понимание взаимосвязи между различными элементами системы;
  • помогает быстрее освоить базовые принципы работы системы.

Для того, чтобы изучить ИИ важно учиться в рамках публичного обучения (Learning in Public). Эта концепция, зародившаяся в open source сообществах, где разработчики делились кодом, ошибками и даже провалами, создала прозрачную среду для обмена знаниями и создания программного обеспечения будущего.

Сегодня публичное обучение выходит за рамки кода. Это открытый обмен знаниями, опытом, успехами и неудачами с широкой аудиторией через различные форматы и платформы.

Итак, публичное обучение это:

  • писать блоги и учебные пособия; 
  • присоединяться к хакатонам;
  • задавать вопросы и отвечать на них в сообществах Discord; 
  • работать над сайд-проектами;
  • писать о том, что заинтересовало и удивило.

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

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

Цитата. Дмитрий Лукьянов, к.т.н., Data Science Team Lead Neuro.net

Необходимая теоретическая база

Необходимая теоретическая база

Математика

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

  • Линейная алгебра математический инструментарий для представления данных и манипулирования ими, где матрицы и векторы формируют язык алгоритмов для интерпретации и обработки информации.
  • Математический анализ механизм оптимизации в машинном обучении, позволяющий изучать алгоритмы и совершенствоваться за счет понимания градиентов и темпов изменений.
  • Вероятность и статистика основа для принятия решений в условиях неопределенности, позволяющая алгоритмам прогнозировать результаты и извлекать уроки из данных с помощью моделей случайности и изменчивости.

Что читать

Для изучения теории подойдут такие книги, как: 

  • Дайзенрот М.П., Фейзал А.А., Он Ч.С. «Математика в машинном обучении» (2020).
  • Николенко С. И., Архангельская Е. В. «Глубокое обучение. Погружение в мир нейронных сетей» (2018). 
  • Вьюгин В. В. Математические основы машинного обучения и прогнозирования (2022). 

Что смотреть

Изучение математики для понимания машинного обучения стоит начать с серии видео на Youtube-канале: Math for Machine Learning. Эта подборка позволит получить основные представления о связи науки и технологий. 

Нужен подход к линейной алгебре, основанный на программировании? Изучите бесплатный курс «Вычислительная линейная алгебра». Он включает онлайн-учебник и серию видеороликов, а также охватывает приложения (с использованием Python):

  • определение переднего плана на видео наблюдения;
  • категоризация документов;
  • алгоритм, обеспечивающий поиск Google;
  • восстановление изображения по компьютерной томографии и другое.

Обратите свое внимание и на такие бесплатные курсы на Youtube, как «Суть линейной алгебры» и «Суть математического анализа» от канала 3Blue1Brown. 

Как проверить знания

Проверить знания математики можно с помощью бесплатного тренажера «Основы математики для цифровых профессий» от «Яндекс Практикум» или теста на знание основ математики от GeekBrains. 

Программирование

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

Что читать

Для понимания темы стоит изучить курс «Основы программирования», на основе которого преподают в МГТУ им. Н.Э. Баумана. В учебнике изложены теоретические основы разработки ПО с использованием технологии структурного программирования. 

А эти книги — база для любого программиста. Их стоит прочитать, если путь в разработке только начинается:  

  • Гамма Э., Хелм Р. ,  Джонсон Р., Влиссидес Д. «Приемы объектно-ориентированного проектирования. Паттерны проектирования» (1994). 
  • Томас Д., Хант Э. «Программист-прагматик» (2020). 
  • Мартин Р. «Чистый код: создание, анализ и рефакторинг» (2021). 

Что смотреть

Изучение теории стоит начать с курса Сергея Терехова «Программирование с нуля». На канале размещены 15 видеоуроков, которые введут в тему даже тех, кто не понимает устройство компьютера. 

Кроме того, полезно обратить внимание на курс теории GeekBrains и видеолекции «Основы программирования»

Как проверить знания

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

Цитата. Дмитрий Лукьянов, к.т.н., Data Science Team Lead Neuro.net

Основной инструментарий

Основной инструментарий

Python

Python это универсальный язык программирования общего назначения. Он обладает лаконичным и читаемым синтаксисом, что делает его доступным языком как для начинающих, так и для опытных программистов. Это облегчает изучение основ искусственного интеллекта и машинного обучения, а также разработку сложных ИИ-приложений.

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

Что читать

Обязательно прочитайте шаблоны проектирования Python от Брэндона Роудса. Кроме того, полезно знать такие книги, как: 

  • Лейси Н. «Python, например» (2022). 
  • Лутц М. «Изучаем Python» (2019).
  • Бизли Д., Джонс Б. К. «Python. Книга рецептов» (2019).

Что смотреть

Новичкам стоит начать с изучения программирования на Python. Если вы уже освоили Python, обратите внимание на курс Дэвида Бизли «Расширенное владение Python». Он сосредоточен на методах программирования, которые используются в популярных библиотеках и фреймворках.

Как проверить знания

Для проверки знаний используйте тренажеры, например, от Каталога-курсов

Обращайте внимание на ИИ-инструменты и приложения. Сервис LLM Engine от Neuro.net позволяет уйти от обычных сценариев «конечного автомата» и сделать действительно интересный продукт на базе GPT-подобной модели.

PyTorch

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

Цитата. Дмитрий Лукьянов, к.т.н., Data Science Team Lead Neuro.net

Что читать

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

  • Пойнтер Я. «Программируем с PyTorch: Создание приложений глубокого обучения» (2021). 
  • Стивенс Э., Антига Л., Виман Т. «PyTorch. Освещая глубокое обучение» (2022).
  • Лю Ю. «Обучение с подкреплением на PyTorch. Сборник рецептов» (2020). 

Что смотреть

Обратите внимание на подробные учебные пособия на Youtube от Аладдина Перссона.  

Как проверить знания

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

Практические навыки

Практические навыки

Написание алгоритмов

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

Что читать

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

  • Григорьев А. «Машинное обучение. Портфолио реальных проектов» (2023). 
  • Паронджанов В. «Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления» (2014).
  • Уоррен (мл.) Г. С. «Алгоритмические трюки для программистов» (2014). 

Что смотреть

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

Обратите внимание на репозитории реализации фундаментальных моделей и алгоритмов машинного обучения на Python: 

Кодирование трансформера с нуля на PyTorch посмотреть на YouTube-канале Umar Jamil

Как проверить знания

Основной репозиторий курса MiniTorch доступен на GitHub. Там же по каждому уроку можно выполнять практические задания. Для этого необходимо заполнить инструкции TODO и пройти прилагаемый набор модульных тестов. 

Цитата. Дмитрий Лукьянов, к.т.н., Data Science Team Lead Neuro.net

Машинное обучение

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

Машинное обучение (Machine Learning) это подмножество искусственного интеллекта (ИИ), которое фокусируется на том, чтобы дать компьютерам возможность учиться без явного программирования. Алгоритмы машинного обучения анализируют данные, выявляют в них закономерности и используют эти закономерности для прогнозирования и принятия решений. Так, нейросеть Neuro ASR обучалась на основе звуковых дорожек с реальными голосами разных людей. 

Что читать

Обратите внимание на материал «Введение в архитектуры нейронных сетей». В нем Григорий Сапунов рассказывает о базовой терминологии и предоставляет понимание, что к чему в этой области, из каких «кирпичиков» собираются нейросети и как это использовать.

Прочитайте статью Себастьяна Рашки о понимании больших языковых моделей, где он перечисляет литературу, на которую стоит обратить внимание. Недавно он также опубликовал исследовательские работы к январю 2024 года: объединение моделей, смешение экспертов и переход к LLM меньшего размера. 

Прочтите блог Андрея Карпати, в котором представлен рецепт для обучения нейронных сетей.Также обратите внимание на его бесплатный курс «Нейронные сети: от нуля до героя», который завершается созданием токенизатора GPT. 

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

Книги раздела: 

  • Грессер Л., Кенг В. «Глубокое обучение с подкреплением: теория и практика на языке Python» (2022). 
  • Марченко А.Л. «Python. Большая книга примеров» (2023). 
  • Мюллер А., Гвидо С. «Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными» (2016).

Что смотреть

Для расширения кругозора, обратите внимание на такие блоги, как «Внедрение машинного обучения в производство» от Вики Бойкис и «Сделано с ML».

Чтобы получить навыки в обучении нейросетей, необходимо изучить модели и ИИ-инструменты в определенной предметной области. Например, исследовать механику преобразования текста в изображение в Midjourney. 

Изучите бесплатный курс от fast.ai. Он предназначен для людей с некоторым опытом программирования, которые хотят научиться применять глубокое и машинное обучение к практическим задачам. Курс состоит из 2-х частей:

  • часть 1, записанная в Университете Квинсленда, состоит из 9 уроков, каждый из которых длится около 90 минут;
  • часть 2 содержит более 30 часов видеоконтента, в котором специалисты реализуют алгоритм Stable Diffusion с нуля. 

Как проверить знания

Повторяйте опыт специалистов с курсов и повторяйте интерактивные эксперименты с машинным обучением. 

Применяйте то, чему вы научились, на соревнованиях по машинному обучению на таких платформах Bitgrit и Kaggle. Изучите решения победителей.

Настройка и интеграция LLM

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

Large Language Models — это большие языковые модели, которые являются типом искусственного интеллекта (ИИ), обученных на огромных массивах текстовых данных. 

В процессе получения навыка важно научиться грамотно выбирать подходящую модель, интегрировать ее в интерфейс, тестировать приложение и масштабировать его. Это позволит в будущем лучше взаимодействовать с LLM, т.к. в настоящий момент в большинстве случаев используется протокол от компании OpenAI (ChatGPT).

Что читать

Для повышения квалификации, прочитайте руководства по настройке (fine-tuning) нейросетей: Hugging Face и The GenAI Guidebook. Обратите внимание на книги: 

  • Келен О., Блете М. «Разработка приложений на базе GPT-4 и ChatGPT» (2024).
  • Тарик Р. «Создаем нейронную сеть» (2023). 
  • «ARDUINO: Искусственный интеллект и машинное обучение» (2024).

Что смотреть

На YouTube есть множество отличных видеоуроков, которые научат создавать чат-ботов и приложения с ИИ: 

Учитесь у профессионалов отрасли. Например, Neuro TTS — Text-To-Speech (синтез речи). Собственная разработка Neuro.net, которая позволяет роботам говорить голосами людей, на которых обучалась модель, и создавать индивидуальные голоса для любого бизнеса.

Как проверить знания

Для начала вы можете использовать шаблоны для создания систем и продуктов на основе LLM от Юджина Яна или редактируемые приложения искусственного интеллекта на платформе Vercel.

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

Главное в работе с искусственным интеллектом — много работать и всегда оставаться в курсе событий. Следите за новостями в мире ИИ, читайте обучающие статьи, смотрите видео и обращайте внимание на технические документы инновационных чат-ботов. 

Статью проверил: Дмитрий Лукьянов, к.т.н., Data Science Team Lead Neuro.net

Что будем искать? Например,ChatGPT

Мы в социальных сетях