Если вы хотите повысить квалификацию в области генеративного ИИ, в Google Cloud Skills Boost есть Путь обучения генеративному ИИ. В настоящее время он состоит из 10 курсов и обеспечивает хорошую основу для теории генеративного ИИ.

Когда я сам проходил эти курсы, я делал заметки, так как лучше всего узнаю, когда записываю. В первой части серии блогов я поделился своими заметками по курсам с 1 по 6. В этой части 2 серии блогов я продолжаю делиться своими заметками по курсам с 7 по 10.

Продолжим курс 7.

7. Механизм внимания

В этом курсе вы узнаете о механизме внимания, лежащем в основе всех моделей-трансформеров, который лежит в основе всех моделей LLM.

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

Механизм внимания – это метод, который позволяет нейронной сети сосредоточиться на определенных частях входной последовательности, присваивая веса различным частям входной последовательности, при этом наиболее важным частям присваивается наибольший вес.

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

Модель внимания отличается от традиционной модели от последовательности к последовательности двумя способами:

  1. Он передает больше скрытых состояний от кодировщика к декодеру.
  2. Он добавляет дополнительный шаг к декодеру внимания перед тем, как выдать результат.

Чтобы сосредоточиться только на наиболее важных частях ввода, декодер:

  1. Просматривает набор полученных кодировщиком скрытых состояний (по одному для каждого слова).
  2. Каждому скрытому состоянию присваивается оценка.
  3. Умножает каждое скрытое состояние на его мягкий максимальный балл, тем самым усиливая скрытые состояния с наивысшими баллами.

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

Описание: Механизм внимания используется для повышения производительности архитектуры кодер-декодер.

8. Модели трансформаторов и модель BERT

Примечание для читателя: это, вероятно, самый технический курс серии.

Этот курс посвящен моделям трансформаторов и модели BERT.

Языковое моделирование развивалось с годами. Недавние достижения включают использование нейронных сетей для представления текста, такого как Word2vec и N-grams, в 2013 году. В 2014 году помогли последовательные модели, такие как RNN и LSTM. для улучшения моделей машинного обучения в таких задачах, как перевод и классификация текста. В 2015 году появились механизмы внимания и основанные на них модели, такие как Трансформеры и модель Берта.

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

Преобразователь — это модель кодировщик-декодер, использующая механизм внимания.

Кодер кодирует входную последовательность и передает ее декодеру, а декодер декодирует представление для соответствующей задачи.

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

Существует несколько вариантов преобразователей: кодировщик и декодер (например, Bart), только декодер (например, GPT-2, GPT-3), только кодировщик (например, BERT).

Представления двунаправленного кодировщика от трансформаторов ( BERT) — одна из обученных моделей преобразователя:

  • Разработано Google в 2018 году и обеспечивает Google Search.
  • Натренирован на 1 миллион шагов.
  • Обучены на разных задачах, что означает, что у него есть многозадачная цель.
  • Он может обрабатывать длинные контексты ввода.
  • Он обучался на всей Википедии и корпусе книг.

BERT обучался в 2-х вариантах:

  1. База BERT с 12 слоями преобразователей с ~110 миллионами параметров.
  2. Большой BERT с 24 слоями преобразователей с ~340 миллионами параметров.

BERT обучается двум различным задачам:

  1. Моделирование маскированного языка. Предложения маскируются (обычно 15%), а модель обучается предсказывать замаскированные слова.
  2. Предсказание следующего предложения. При наличии двух наборов предложений модель стремится изучить взаимосвязь между ними и предсказывает, может ли второе предложение быть следующим предложением после заданного первого предложения (задача бинарной классификации).
  • Встраивание токенов — это представление каждого токена в виде встраивания во входное предложение (т. е. слова преобразуются в векторные представления).
  • Встраивание сегмента — это специальный токен (SEP), который разделяет два разных фрагмента предложения. Это помогает BERT различать ввод в заданной паре.
  • Встраивание позиций позволяет BERT изучить векторное представление для каждой позиции слова в предложении.

BERT также может решать проблемы классификации текста (например, похожи ли эти два предложения?)

Примечание для читателя. К курсу также прилагается практическое руководство Модели-трансформеры и модель BERT: лабораторное пошаговое руководство.

9. Создайте модели подписей к изображениям

Примечание для читателя: это был мой наименее любимый курс с деталями, которые я не так хорошо изучил.

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

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

Мы передаем изображения в кодировщик для извлечения информации из изображений и создания векторов признаков, а затем векторы передаются в декодер для создания подписей.

В качестве энкодера мы используем классический InceptionResNetV2 от Keras.

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

Декодер имеет несколько шагов, включая уровень внимания:

  1. Слой внедрения создает вложения слов.
  2. Слой GRU (который является разновидностью рекуррентных нейронных сетей, но запоминает последовательность).
  3. Уровень внимания, который смешивает информацию текста и изображения.
  4. Добавить слой + слой нормализации слоя.
  5. Плотный слой.

Обзор цикла логического вывода выглядит следующим образом:

  1. Сгенерируйте начальное состояние GRU и создайте токен start.
  2. Передайте входное изображение кодировщику и извлеките вектор признаков.
  3. Передайте вектор декодеру и генерируйте заголовки, пока он не вернет токен end или не достигнет max_caption_length.

Примечание для читателя. К курсу также прилагается практическое руководство Создание моделей подписей к изображениям: практическое руководство.

10. Введение в Generative AI Studio

В этом курсе вы узнаете, что делает Generative AI Studio и ее различные варианты.

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

Vertex AI – это платформа разработки машинного обучения в Google Cloud, которая помогает создавать, развертывать модели машинного обучения и управлять ими.

В настоящее время Generative AI Studio поддерживает модели языка, зрения и речи:

  • Язык: Создайте подсказку для выполнения задач и настройки языковых моделей.
  • Видение: создавайте и редактируйте изображения на основе подсказки.
  • Речь: создание текста из речи или речи из текста.

В Generative AI Studio: Language вы можете:

  1. Подсказки дизайна для задач, относящихся к вашему варианту использования.
  2. Создавайте диалоги, указывая контекст, который указывает, как должна реагировать модель.
  3. Настройте модель для варианта использования и разверните ее в конечной точке.

1. Дизайн подсказок

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

В подсказке произвольной формы вы просто сообщаете модели, что вы хотите (например, создать список предметов для похода).

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

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

Лучшие практики быстрого проектирования:

  • Будьте лаконичны.
  • Будьте конкретными и четко определенными.
  • Задавайте по одной задаче за раз.
  • Попросите классифицировать вместо того, чтобы генерировать.
  • Включите примеры.

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

Есть несколько параметров модели, с которыми вы можете поэкспериментировать:

  • Различные модели на ваш выбор.
  • Температура. Низкая температура означает выбор слов с высокой вероятностью для предсказуемых слов. Высокая температура означает выбор низких возможностей и более необычных и креативных слов.
  • Top K: модель возвращает случайное слово из набора tok K возможных слов. Позволяет вернуть несколько слов.
  • Top P: модель возвращает случайное слово из набора слов с суммой вероятностей, не превышающей P.

2. Создавайте беседы

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

Вы можете настроить те же параметры (температуру и т. д.), как и при разработке подсказок.

Google предоставляет API и SDK для создания собственного приложения, нажав View Code, а затем используйте этот код в своих собственных приложениях.

3. Настройте модель

Если качество откликов модели не является высоким или постоянным даже после быстрого проектирования, вам может потребоваться настроить модель.

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

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

Примечание для читателя. Затем в инструкции показано, как настроить модель из VertexAI. Существует также Начало работы с лабораторией Generative AI Studio, которую вам необходимо пройти самостоятельно для прохождения курса, но для этого требуется 5 кредитов.

Это конец моих заметок для Пути обучения генеративному ИИ. Если у вас есть вопросы или отзывы, или если вы столкнетесь с другими хорошими курсами GenAI, не стесняйтесь, дайте мне знать в Твиттере @ meteatamel.

Первоначально опубликовано на https://atamel.dev.