Вы заинтересованы в изучении генеративного искусственного интеллекта, но беспокоитесь о математике? Не волнуйтесь! В этом руководстве мы разберем учебную программу и лучшие способы изучения генеративного ИИ, даже если вы работаете в другой области или отделе. Мы сделаем сложные концепции простыми для понимания, чтобы вы могли с уверенностью отправиться в путешествие по генеративному искусственному интеллекту.
Важность генеративного ИИ
Объем мирового рынка искусственного интеллекта (ИИ) в 2022 году оценивался в 454,12 млрд долларов США, а к 2032 году ожидается, что он достигнет около 2 575,16 млрд долларов США, при этом совокупный годовой темп роста (CAGR) составит 19% с 2023 по 2032 год.
По данным PwC, к 2037 году искусственный интеллект создаст в Великобритании 15,7 миллиона новых рабочих мест и заменит 7 миллионов. Это приводит к чистому приросту в 8,7 миллиона рабочих мест, что составляет около 22% нынешней рабочей силы. Эти новые рабочие места будут сосредоточены на таких человеческих навыках, как творчество, сочувствие и решение проблем, особенно в таких секторах, как образование, здравоохранение и социальные услуги.
Теперь давайте углубимся в детальную разбивку учебной программы.
1. Математика для машинного обучения
Прежде чем освоить машинное обучение, важно понять фундаментальные математические концепции, лежащие в основе этих алгоритмов.
- Линейная алгебра. Это важно для понимания многих алгоритмов, особенно тех, которые используются в глубоком обучении. Ключевые понятия включают векторы, матрицы, определители, собственные значения и собственные векторы, векторные пространства и линейные преобразования.
- Исчисление. Многие алгоритмы машинного обучения включают оптимизацию непрерывных функций, что требует понимания производных, интегралов, пределов и рядов. Многомерное исчисление и концепция градиентов также важны.
- Вероятность и статистика: они имеют решающее значение для понимания того, как модели учатся на данных и делают прогнозы. Ключевые понятия включают теорию вероятностей, случайные величины, распределения вероятностей, ожидания, дисперсию, ковариацию, корреляцию, проверку гипотез, доверительные интервалы, оценку максимального правдоподобия и байесовский вывод.
📚 Ресурсы:
- 3Blue1Brown — Сущность линейной алгебры: серия видеороликов, которые дают геометрическое представление об этих концепциях.
- StatQuest с Джошем Стармером — Основы статистики: предлагает простые и ясные объяснения многих статистических концепций.
- Интуиция статистики AP от г-жи Аэрин: список статей Medium, в которых представлена интуиция, лежащая в основе каждого распределения вероятностей.
- Иммерсивная линейная алгебра: еще одна наглядная интерпретация линейной алгебры.
- Академия Хана — Линейная алгебра: отлично подходит для начинающих, поскольку объясняет концепции очень интуитивно.
- Академия Хана — Исчисление: интерактивный курс, охватывающий все основы исчисления.
- Академия Хана — Вероятность и статистика: Преподносит материал в доступном для понимания формате.
2. Python для машинного обучения
Python — это мощный и гибкий язык программирования, который особенно хорош для машинного обучения благодаря своей читабельности, согласованности и надежной экосистеме библиотек обработки данных.
- Основы Python: понимание базового синтаксиса Python, типов данных, обработки ошибок и объектно-ориентированного программирования имеет решающее значение.
- Библиотеки обработки данных: знание NumPy для числовых операций, Pandas для манипулирования и анализа данных, Matplotlib и Seaborn для визуализации данных является обязательным.
- Предварительная обработка данных. Сюда входит масштабирование и нормализация функций, обработка недостающих данных, обнаружение выбросов, категориальное кодирование данных и разделение данных на обучающие, проверочные и тестовые наборы.
- Библиотеки машинного обучения. Крайне важно знание Scikit-learn, библиотеки, предоставляющей широкий выбор контролируемых и неконтролируемых алгоритмов обучения. Важно понимать, как реализовать такие алгоритмы, как линейная регрессия, логистическая регрессия, деревья решений, случайные леса, k-ближайшие соседи (K-NN) и кластеризация K-средних. Методы уменьшения размерности, такие как PCA и t-SNE, также очень полезны для визуализации многомерных данных.
📚 Ресурсы:
- Real Python: обширный ресурс со статьями и руководствами как для начинающих, так и для продвинутых пользователей Python.
- freeCodeCamp — Изучите Python: длинное видео, которое дает полное введение во все основные концепции Python.
- Справочник по Python Data Science: бесплатная цифровая книга, которая является отличным ресурсом для изучения pandas, NumPy, matplotlib и Seaborn.
- freeCodeCamp — Машинное обучение для всех: Практическое введение в различные алгоритмы машинного обучения для начинающих.
- Udacity — введение в машинное обучение: бесплатный курс, охватывающий PCA и некоторые другие концепции машинного обучения.
3. Нейронные сети
Нейронные сети являются фундаментальной частью многих моделей машинного обучения, особенно в области глубокого обучения. Для их эффективного использования необходимо полное понимание их конструкции и механики.
- Основы: сюда входит понимание структуры нейронной сети, такой как слои, веса, смещения, функции активации (сигмовидная, танх, ReLU и т. д.).
- Обучение и оптимизация: ознакомьтесь с обратным распространением ошибки и различными типами функций потерь, такими как среднеквадратическая ошибка (MSE) и перекрестная энтропия. Изучите различные алгоритмы оптимизации, такие как градиентный спуск, стохастический градиентный спуск, RMSprop и Adam.
- Переобучение. Крайне важно понимать концепцию переобучения (когда модель хорошо работает на обучающих данных, но плохо на невидимых данных) и различные методы регуляризации, чтобы предотвратить его. Методы включают отсев, регуляризацию L1/L2, раннюю остановку и увеличение данных.
- Внедрение многоуровневого персептрона (MLP). Создайте MLP, также известную как полностью подключенная сеть, с помощью PyTorch.
📚 Ресурсы:
- 3Blue1Brown — Но что такое нейронная сеть?: это видео дает интуитивное объяснение нейронных сетей и их внутренней работы.
- freeCodeCamp — ускоренный курс глубокого обучения: это видео эффективно знакомит со всеми наиболее важными концепциями глубокого обучения.
- Fast.ai — Практическое глубокое обучение: бесплатный курс, предназначенный для людей с опытом программирования, которые хотят узнать о глубоком обучении.
- Патрик Лобер — Учебные пособия по PyTorch: серия видеороликов для начинающих, желающих узнать о PyTorch.
4. Обработка естественного языка (НЛП)
НЛП — это увлекательная отрасль искусственного интеллекта, которая устраняет разрыв между человеческим языком и машинным пониманием. От простой обработки текста до понимания лингвистических нюансов, НЛП играет решающую роль во многих приложениях, таких как перевод, анализ настроений, чат-боты и многое другое.
- Предварительная обработка текста: изучите различные этапы предварительной обработки текста, такие как токенизация (разделение текста на слова или предложения), стемминг (приведение слов к их корневой форме), лемматизация (аналогично стеммингу, но с учетом контекста), удаление стоп-слов и т. д.
- Методы извлечения функций: познакомьтесь с методами преобразования текстовых данных в формат, понятный алгоритмам машинного обучения. Ключевые методы включают «мешок слов» (BoW), частоту терминов, обратную частоте документов (TF-IDF) и n-граммы.
- Внедрение слов. Внедрение слов — это тип представления слов, который позволяет словам со схожим значением иметь схожие представления. Ключевые методы включают Word2Vec, GloVe и FastText.
- Рекуррентные нейронные сети (RNN). Понимание работы RNN — типа нейронной сети, предназначенной для работы с данными последовательностей. Изучите LSTM и GRU — два варианта RNN, способные изучать долгосрочные зависимости.
📚 Ресурсы:
- RealPython — НЛП с SpaCy в Python: Исчерпывающее руководство по библиотеке spaCy для задач НЛП в Python.
- Kaggle — Руководство по НЛП: несколько блокнотов и ресурсов для практического объяснения НЛП на Python.
- Джей Аламмар — Иллюстрация Word2Vec: хороший справочник для понимания знаменитой архитектуры Word2Vec.
- Джейк Тэ — PyTorch RNN с нуля: Практическая и простая реализация моделей RNN, LSTM и GRU в PyTorch.
- Блог Колы — Понимание сетей LSTM: более теоретическая статья о сети LSTM.
- Gokul Raja github: курс НЛП с дорожной картой и блокнотами для изучения больших языковых моделей (LLM).
5. Архитектура-трансформер
Модель Трансформера, представленная в статье «Внимание — это все, что вам нужно», представляет собой архитектуру нейронной сети, лежащую в основе больших языковых моделей. Оригинальную статью трудно читать, и она даже содержит некоторые ошибки, поэтому рекомендуется использовать альтернативные ресурсы.
- Механизмы внимания. Поймите теорию, лежащую в основе механизмов внимания, включая самовнимание и внимание масштабированного скалярного произведения, что позволяет модели сосредотачиваться на различных частях входных данных при получении результата.
- Токенизация. Узнайте, как преобразовать необработанные текстовые данные в формат, понятный модели, что включает в себя разделение текста на токены (обычно слова или подслова).
- Архитектура Трансформера. Погрузитесь глубже в архитектуру Трансформеров, узнайте о их различных компонентах, таких как позиционное кодирование, многоголовое внимание, сети прямой связи и уровни нормализации.
- Стратегии декодирования: узнайте о различных способах, которыми модель может генерировать выходные последовательности. Общие стратегии включают жадное декодирование, поиск луча и выборку top-k.
📚 Ресурсы:
- Иллюстрированный трансформер Джея Аламмара: это наглядное и интуитивное объяснение модели трансформера.
- Обнимающее лицо — Курс НЛП: Отличный мини-курс, выходящий за рамки архитектуры Трансформера.
- Гарвард — Трансформатор с аннотациями: отличная подробная статья об оригинальной статье о Трансформере.
- Введение в Transformer от Рэйчел Томас: дает хорошее представление об основных идеях архитектуры Transformer.
- Stanford CS224N — Трансформеры: более академическое изложение этой архитектуры.
6. Предварительно обученные языковые модели
Предварительно обученные модели, такие как BERT, GPT-2 и T5, — это мощные инструменты, которые могут решать такие задачи, как классификация последовательностей, генерация текста, обобщение текста и ответы на вопросы.
- BERT: Понимание архитектуры BERT, включая концепцию двунаправленного обучения, которая отличает его от предыдущих моделей. Узнайте о тонкой настройке BERT для таких задач, как классификация последовательностей, распознавание именованных объектов и ответы на вопросы.
- GPT-2: Понимание архитектуры GPT-2, предназначенной только для декодера, и ее целей предварительного обучения. Научитесь использовать его для генерации текста.
- T5: модель T5 — это универсальная модель для решения самых разных задач: от классификации текста до перевода и обобщения. Узнайте, как обучать и использовать T5 для решения нескольких задач, а также узнайте о подходе «настройки префиксов», используемом с T5.
- Оценка LLM: узнайте, как оценить эффективность этих моделей для вашей конкретной задачи, включая соответствующие показатели для различных задач, такие как точность, оценка F1, оценка BLEU или недоумение.
📚 Ресурсы:
- Иллюстрированный BERT Джея Аламмара: еще один отличный визуальный путеводитель по архитектуре BERT.
- Обнимающее лицо — BERT: Обзор и список практических ресурсов для различных задач.
- Иллюстрированный GPT-2 Джея Аламмара: подробное иллюстрированное руководство по архитектуре GPT-2.
- Документ Т5: оригинальный документ, в котором представлена модель Т5 и многие важные концепции современного НЛП.
- Hugging Face — Блокноты-трансформеры: список официальных блокнотов, предоставленных Hugging Face.
- Обнимающее лицо — Метрики: все метрики в хабе Обнимающее лицо.
7. Расширенное языковое моделирование
Чтобы отточить свои навыки, научитесь создавать вложения с помощью преобразователей предложений, хранить их в векторной базе данных и использовать контролируемое обучение с эффективным использованием параметров или RLHF для точной настройки LLM.
- Трансформаторы предложений. Трансформаторы предложений — это модели, которые могут создавать семантически значимые внедрения для предложений, абзацев или текстов. Узнайте, как хранить и извлекать эти вложения, используя соответствующую базу данных векторов для быстрого поиска по сходству.
- Точная настройка языковых моделей. После понимания и использования предварительно обученных моделей следующим шагом является их точная настройка на наборе данных для конкретной предметной области. Это позволяет модели быть более точной для определенных задач или областей, таких как анализ медицинских текстов или анализ настроений для обзоров фильмов.
- Методы обучения с эффективным использованием параметров: изучите более эффективные способы обучения или точной настройки ваших моделей, не требуя огромных объемов данных или вычислительных ресурсов, таких как LoRA.
📚 Ресурсы:
- SBERT.net: библиотека Python для реализации преобразователей предложений, со множеством примеров.
- Сосновая шишка — Трансформаторы предложений: Мини-книга о НЛП для семантического поиска в целом.
- Обнимающее лицо — RLHF: сообщение в блоге, знакомящее с концепцией RLHF.
- Hugging Face — PEFT: еще одна библиотека от Hugging Face, реализующая различные методы, такие как LoRA.
- Эффективное обучение LLM от Фила Шмида: внедрение LoRA для тонкой настройки модели Flan-T5.
8. LLMOпс
Наконец, погрузитесь в операции с моделями на большом языке (LLMOps), узнайте, как выполнять оперативное проектирование, создавать платформы с помощью LangChain и Llamaindex и оптимизировать логические выводы с помощью весового квантования, сокращения, дистилляции и многого другого.
- Точная настройка LLaMA. Точная настройка инструкций стала чрезвычайно популярной после (случайного) выпуска LLaMA. Размер этих моделей и особенности их обучения инструкциям и ответам усложняют задачу и часто требуют методов обучения с эффективным использованием параметров, таких как QLoRA.
- Создание фреймворков LLM: LLM — это новый строительный блок в проектировании системы, где остальная часть архитектуры обрабатывается такими библиотеками, как LangChain и LlamaIndex, что позволяет вам запрашивать векторные базы данных, улучшая память модели или предоставляя различные инструменты.
- Методы оптимизации для вывода. По мере роста размера LLM становится все более важным применять методы оптимизации, чтобы гарантировать эффективное использование моделей для вывода. Методы включают весовое квантование (4-битное, 3-битное), сокращение, дистилляцию знаний и т. д.
- Развертывание LLM. Эти модели можно развернуть локально, например llama.cpp, или в облаке, например, вывод генерации текста или vLLM Hugging Face.
📚 Ресурсы:
- Курс по генеративному искусственному интеллекту начального уровня: в этом курсе будут рассмотрены LLM, генеративный искусственный интеллект, тонкая настройка, RLHF.
- Краткий курс Advanced Gen AI: В этих курсах по глубокому обучению AI (langchain, оперативное проектирование, RAG, оценка и мониторинг Gen AI)
- Полный курс LLMOPS: этот курс охватывает все этапы LLMOPS.
- Курс Cohere LLM: этот курс LLM на основе блога охватывает практически основы LLM.
- MLExpert — Тонкая настройка Альпаки: Руководство по тонкой настройке LLaMA на пользовательском наборе данных.
- Обнимающее лицо — LLM.int8(): введение в умножение 8-битных матриц с помощью LLM.int8().
- Обнимающее лицо — QLoRA: сообщение в блоге, знакомящее с QLoRA и ноутбуками для ее тестирования.
- Канарейки — AutoGPTQ: Простое руководство по использованию AutoGPTQ.
- Новые архитектуры для приложений LLM: обзор стека приложений LLM.
- Сосновая шишка — LangChain AI Handbook: Отличная бесплатная книга о том, как освоить библиотеку LangChain.
- Практическое руководство по использованию LlamaIndex: официальные руководства, позволяющие узнать больше о LlamaIndex.
В заключение я изложил план действий по пониманию сложного мира генеративного искусственного интеллекта и LLM (обучение языковой модели). Мы углубились в основные концепции, реальные приложения и постоянно развивающийся ландшафт этой передовой области.
Возможность стажировки
Но вот что самое интересное: мы не останавливаемся на достигнутом. В Gathnex мы всегда стремимся воспитать следующее поколение энтузиастов и профессионалов в области искусственного интеллекта. Вот почему мы рады объявить о нашей предстоящей программе стажировок по генеративному искусственному интеллекту.
Мы активно планируем и готовимся к запуску этой инициативы по стажировке, где вы сможете получить практический опыт, поработать над передовыми проектами и поучиться у экспертов в этой области. Независимо от того, являетесь ли вы студентом, недавним выпускником или человеком, желающим окунуться в мир искусственного интеллекта, наша программа стажировок предложит ценную возможность расти и вносить свой вклад в эту область.
Итак, если вы так же увлечены искусственным интеллектом, как и мы, и хотите стать частью нашего пути, следите за обновлениями. Следуйте за нами, добавьте наш сайт в закладки и следите за дальнейшими объявлениями. Будущее генеративного искусственного интеллекта светлое, и мы хотим, чтобы вы стали его частью.
Благодарим вас за то, что вы являетесь важной частью нашего сообщества, и нам не терпится отправиться вместе с вами в это захватывающее путешествие по стажировке!
Источник :
- https://roadmap.sh/guides/introduction-to-llms
- https://roadmap.sh/guides/free-resources-to-learn-llms
- https://github.com/mlabonne/llm-course
- https://github.com/gokulrajar15/nlp-tutorial/tree/master
- https://skillmapper.com/home/collections/466/LLM-Learning-Roadmap-From-Beginner-to-Advanced-
Кредиты: Млабонн