Предыстория:

  • Большие языковые модели в сочетании с несколькими возможностями искусственного интеллекта могут генерировать изображения и текст, а также приближаться/достигать производительности на уровне человека в ряде задач. Мир переживает революцию в искусстве (DALL-E, MidJourney, Imagine и др.), науке (AlphaFold), медицине и других ключевых областях, и этот подход играет свою роль в этой революции.
  • Контекстное обучение, популяризированное командой разработчиков GPT-3 LLM, принесло новую революцию в использовании LLM во многих задачах, для которых LLM изначально не был подготовлен. Это контрастирует с обычной тонкой настройкой, которая раньше требовалась для оснащения моделей ИИ для повышения производительности в задачах, для которых они не были обучены.
  • Благодаря контекстному обучению LLM могут постоянно корректировать свою работу над задачей в зависимости от подсказки — на основе структурированного ввода, который можно рассматривать частично как обучение в несколько приемов, а частично как тестовый ввод. Это открыло множество приложений.
  • Задача этой недели состоит в систематическом изучении стратегий, которые помогают генерировать подсказки LLM для извлечения соответствующих сущностей из описаний должностей, а также для классификации веб-страниц, учитывая лишь несколько примеров человеческих оценок. Вам также потребуется сравнить ответы и точность нескольких моделей LLM для заданных подсказок.

Обзор проекта:

  • Мы хотим построить систему для оценки новых артефактов по теме. Данные собираются с веб-страниц, твитов, постов в Facebook и т. д.
  • Диапазон оценок составляет от 0 до 10, где оценка 0 означает, что новость совершенно НЕ актуальна, а оценка 10 означает, что новость очень подходит.
  • Мы даем рекомендации, подходят ли модели LLM, такие как GPT3, для работы или нет.
  • Если наша рекомендация будет положительной, мы создадим конвейер MLOps, который поможет автоматизировать задачу использования разных LLM и разных тем, помимо возможности будущих улучшений.

Методологии:

  • Cohere API: ориентирован на модели. Каждая модель имеет разную мощность (т. е. параметры), которые можно использовать для разных задач. В Cohere есть три базовые модели: малая, средняя и большая. Cohere также поддерживает точную настройку базовых моделей для повышения производительности последующих задач или для обучения модели большому количеству информации, которую невозможно извлечь с помощью обучения за несколько шагов или быстрой разработки.
  • MLflow: это платформа с открытым исходным кодом для управления сквозным жизненным циклом машинного обучения. Он имеет следующие основные компоненты:
  • Отслеживание: позволяет отслеживать эксперименты для записи и сравнения параметров и результатов.
  • Модели: позволяют управлять моделями из различных библиотек машинного обучения и развертывать их на различных платформах обслуживания моделей и вывода.
  • Проекты: позволяют упаковывать код машинного обучения в повторно используемую, воспроизводимую форму, чтобы делиться с другими специалистами по данным или передавать в производство.
  • Реестр моделей: позволяет централизовать хранилище моделей для управления переходами стадий полного жизненного цикла моделей: от подготовки к производству, с возможностями управления версиями и аннотирования.
  • Обслуживание моделей: позволяет размещать модели MLflow в качестве конечных точек REST.
  • DVC: – это новый тип программного обеспечения для управления версиями данных, рабочими процессами и экспериментами, основанный на Git (хотя он может работать и автономно). DVC сокращает разрыв между установленными наборами инженерных инструментов и потребностями науки о данных, позволяя пользователям использовать преимущества новых функций, повторно используя существующие навыки и интуицию.

Типы используемых данных:

Есть два набора данных, которые вы будете использовать для этого проекта.

  • Данные 1:

Эти данные поступают от описанного выше клиента. Столбцы этих данных следующие:

  • Домен — базовый URL-адрес или ссылка на источник, из которого получен этот элемент.
  • Title — название элемента — содержание элемента
  • Описание — содержание элемента.
  • Body — содержание элемента.
  • Ссылка — URL-адрес источника элемента (иногда он может перестать работать).
  • Временная метка — временная метка, когда этот элемент был собран.
  • Analyst_Average_Score — целевая переменная — оценка, которую необходимо оценить.
  • Analyst_Rank — оценка как рейтинг
  • Reference_Final_Score — пока не актуально — это преобразованная величина.
  • Данные 2:
  • Данные представляют собой описания должностей (совместно названные сущности) и отношения между сущностями в формате JSON.

Внедрение Word:

  • Внедрение слов – это тип представления слов, который позволяет словам с похожим значением иметь аналогичное представление.
  • Word2vec – это модель векторного пространства с встраиванием слов, которая принимает в качестве входных данных лингвистический контекст слов в некотором корпусе текста и выводит N-мерное пространство этих слов, где каждое слово представлено в виде вектора размерность N в этом пространстве. Проекты моделей Word2vec расположены на плоскости, что очень трудно увидеть в необработанных данных. Слова можно проецировать на векторное пространство, чтобы легко увидеть семантические отношения различных типов слов.

Обучение в контексте:

  • Что такое контекстное обучение? Это способ использования языковых моделей для изучения задач с учетом нескольких примеров. Во время обучения в контексте мы даем LM подсказку, состоящую из списка пар ввода-вывода, которые демонстрируют задачу. В конце подсказки мы добавляем тестовый ввод и позволяем LM сделать прогноз, просто обусловив подсказку и предсказав следующие токены. Чтобы правильно ответить на два приведенных ниже запроса, модель должна прочитать обучающие примеры, чтобы выяснить распределение входных данных и выходных данных, сопоставление входных и выходных данных и форматирование.

Точная настройка:

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

Обучение с нуля

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

Однократное обучение:

  • Одноразовое обучение выполняет задачи классификации, используя прошлые данные. Технология распознавания лиц, включая проверку лица и идентификацию, обычно использует однократное обучение. Системы распознавания лиц изучают встраивание лиц, которое представляет собой богатое низкоразмерное представление признаков. Однократное обучение использует сиамский сетевой подход. В конце концов, сиамские сети сравнили со сравнительными функциями потерь, после чего было доказано, что тройная функция потерь лучше, и система FaceNet начала их использовать. Функции контрастной потери и потери триплетов теперь используются для высококачественных вложений лиц, которые стали основой для современного распознавания лиц.

Небольшое обучение:

  • Обучение с небольшим количеством выстрелов, также известное как обучение с небольшим выстрелом, использует небольшой набор примеров из новых данных для изучения новой задачи. Процесс обучения с несколькими шагами имеет дело с типом задачи машинного обучения, определяемой, скажем, E, и состоит из ограниченного числа примеров с контролируемой информацией для цели T. Обучение с несколькими шагами обычно используется OpenAI, поскольку GPT3 является ученик с несколькими выстрелами.
  • Есть два подхода к обучению за несколько выстрелов:
  • Подход на уровне данных: в соответствии с этим процессом, если данных недостаточно для создания надежной модели, можно добавить больше данных, чтобы избежать переобучения и недообучения. Подход на уровне данных использует большой базовый набор данных для дополнительных функций.
  • Подход на уровне параметров: Метод на уровне параметров должен ограничивать пространство параметров и использовать регуляризацию и правильные функции потерь для решения проблемы переобучения при обучении с несколькими выстрелами. Это позволит обобщить ограниченные обучающие выборки. Этот подход также может улучшить производительность модели, направив ее на обширное пространство параметров. Подход на уровне параметров полезен, потому что меньший объем обучающих данных не даст надежных результатов.

Быстрая разработка:

  • Что такое обучение на основе подсказок? Обучение на основе подсказок — это новая группа методов обучения модели машинного обучения. В подсказках пользователи напрямую указывают задачу, которую они хотят выполнить, на естественном языке, чтобы предварительно обученная языковая модель интерпретировала и выполнила ее.

Использованная литература: