💰🚀 USDT, BTC, ETH - це все просто купляється в Trustee Plus в пару кліків. Встановлюй 👉

Доучение GPT-ассистентов с помощью OpenAI: более подробная инструкция от опытного Solution Architect, специализирующаяся на трансформационном потенциале моделей AI

В последнее время тема GPT вызывает ажиотаж. Решения на основе GPT могут выглядеть простыми в реализации — в конце концов, чтобы получить качественные результаты, нужно просто предоставить модели инструкции. Этого достаточно, чтобы произвести впечатление на тех, кто принимает решение. Но на самом деле эти качественные результаты это тщательно отобранные примеры, а для запуска системы часто необходимо что-то более надежное.

Александр Книга, Solution Architect в компании Weblab Technology, специализирующийся на AI и трансформационном потенциале моделей AI вроде GPT, создал для dev.ua подробную инструкцию с примерами о том, как правильно обучать ИИ-ассистентов с помощью OpenAI.

Оставить комментарий
Доучение GPT-ассистентов с помощью OpenAI: более подробная инструкция от опытного Solution Architect, специализирующаяся на трансформационном потенциале моделей AI

В последнее время тема GPT вызывает ажиотаж. Решения на основе GPT могут выглядеть простыми в реализации — в конце концов, чтобы получить качественные результаты, нужно просто предоставить модели инструкции. Этого достаточно, чтобы произвести впечатление на тех, кто принимает решение. Но на самом деле эти качественные результаты это тщательно отобранные примеры, а для запуска системы часто необходимо что-то более надежное.

Александр Книга, Solution Architect в компании Weblab Technology, специализирующийся на AI и трансформационном потенциале моделей AI вроде GPT, создал для dev.ua подробную инструкцию с примерами о том, как правильно обучать ИИ-ассистентов с помощью OpenAI.

ChatSpot и Khan Academy: case study внедрение GPT

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

  1. ChatSpot. Запрос на естественном языке (natural language prompt) поступает в API ChatSpot, превращается в операции для API HubSpot CRM, API Google Docs и т. д., а затем с помощью генеративной текстовой модели сообщает, когда действие было выполнено (или не выполнено). На базе GPT-4.
  2. Khanmigo. Учебный бот на основе ИИ, разработанный Khan Academy. Запросы пользователей преобразуются в запросы с внедренным контекстом. Система полагается на способность GPT обрабатывать в восемь раз больше внедренного контекста, чем в предыдущей версии. На базе GPT-4.

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

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

Галлюцинации ИИ

Галлюцинации ИИ — это важная проблема, которую приходится решать специалистам во время работы с большими языковыми моделями, такими как GPT-4. Галлюцинации генерируют ложную или обманчивую информацию. Это может привести к чрезвычайно серьезным последствиям в программах, где точность фактов критически важна. В этой главе мы подробнее изучим технические аспекты галлюцинаций ИИ, а также обсудим, как минимизировать их влияние.

Для примера рассмотрим этот эгоцентрический тест на фактическую точность, проведенный Ноблом Акерсоном (Noble Ackerson). Среди фактов, предоставленных ИИ, есть много ложной информации:

Перевод

[Нобел Акерсон]:

[GPT-4]: Нобел Акерсон (1983–2019) был предпринимателем в области технологий, инноватором и социальным активистом в США. Он был соучредителем LynxFit — компании, изобревшей разумную скакалку с возможностями отслеживания и анализа фитнес-данных пользователя. Кроме LynxFit, Акерсон принимал участие в серии других технологических кампаний и инициатив, в том числе учреждении первой школы кодинга в Ньюарке, Нью-Джерси и соучреждении компании, разработавшей приложение для управления общественным транспортом в Гане.

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

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

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

Вероятностная природа

Одну из причин такой недостаточной надежности можно увидеть в вероятностной природе GPT. Для контекста давайте рассмотрим возможные структуры данных, такие как фильтры Блума. Фильтр Блума — это вероятностная структура данных, которая используется для проверки того, входит ли элемент в определенный набор. Она состоит из массива битов и нескольких хэш-функций, любая из которых отображает элемент на один либо несколько индексов массива. Когда элемент вставляется в фильтр, он хешируется с помощью хеш-функций, а для соответствующих бит массива устанавливается значение true. Если нужно узнать, есть ли элемент в фильтре, этот элемент аналогично хешируется с помощью хеш-функций — и если все соответствующие биты в массиве имеют значение true, элемент, вероятно, присутствует в фильтре. Однако если любой из битов не имеет значения true, элемент точно не входит в фильтр. Ложные срабатывания встроены в вероятностные структуры данных по умолчанию.

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

GPT-4 и риски

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

GPT-4 медленнее предыдущих моделей. Однако GPT-4 гораздо безопаснее благодаря разнообразным мероприятиям, применяемым во время обучения, включая привлечение экспертов, улучшение безопасности модели, а также дополнительный мониторинг и контроль. Эти факторы значительно повысили безопасность GPT-4 по сравнению с GPT-3.5: тенденция модели отвечать на запросы по запрещенному содержимому уменьшилась на 82%, а тенденция модели отвечать на вопросы относительно чувствительного контента в соответствии с внутренними политиками выросла на 29% .

Устранение галлюцинаций

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

Усовершенствование запросов

Предпочтительные запросы могут повысить эффективность модели. Они приводят к удовлетворительным результатам примерно в 50–65% случаев, но вряд ли больше.

Согласно исследованию Large Language Models являются Zero-Shot Reasoners (в котором описываются только возможности моделей завершения текста (text completion models), а не моделей чата или инструкций), улучшение запросов значительно улучшает эффективность GPT в задачах на размышление. Исследование продемонстрировало, что добавление простой фразы типа Let’s think step by step («Давай подумаем пошагово») перед каждым ответом повышает способность GPT решать даже те задачи, с которыми она сталкивается впервые (zero-shot learning). Следовательно, инженерам не нужно создавать такие задачи вручную на этапе обучения.

Обучение на нескольких примерах (few-shot learning) — еще одна мощная техника оперативного проектирования, которая может значительно улучшить производительность языковых моделей (например GPT-4) в новых задачах, даже с ограниченными учебными данными. В обычных вариантах это отменная альтернатива fine-tuning. В этом подходе пользователь использует структурированные примеры, чтобы показать, какой результат ожидает, а затем оставляет модели свободное пространство для заполнения.

В этой статье рассказывается о том, какие задачи ChatGPT еще не умеют решать.

Инъекция контекста

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

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

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

Этот метод используется, например, в GitHub Copilot и GitHub Copilot X. Анализируя контекст написанного кода вместе с любыми комментариями или документацией, эти ассистенты могут понять запланированную функциональность и ограничение кода.

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

Без контекста

В чем причина краха банка Silicon Valley Bank и когда это произошло?

Ответ: На данный момент банк Silicon Valley Bank не терпел значительных крахов. Silicon Valley Bank, основанный в 1983 году, является успешным и высокоэффективным финансовым учреждением, специализирующимся на предоставлении банковских услуг технологическим и биологическим компаниям, а также компаниям венчурного капитала. Банк стабильно рос и продолжает эффективно работать, обслуживая своих клиентов и оставаясь важным в отрасли.

С контекстом

Запрос: Контекст

На прошлой неделе стало известно о банкротстве банка Silicon Valley Bank (SVB).

Это второй по величине банк в США, закрытый с 2000 года.

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

Инструкция: Используя предоставленный контекст, напиши развернутый ответ на запрос.

В чем причина краха банка Silicon Valley Bank и когда это произошло?

Ответ: Банк Silicon Valley Bank (SVB) обанкротился на прошлой неделе, что делает его вторым по величине банком в США, закрытым с 2000 года. Точные причины банкротства банка не были предоставлены в контексте, но предполагается, что существует определенная причина его краха. Чтобы полностью понять ситуацию, было бы полезно получить больше информации о деятельности банка, финансовой стабильности и любых последних событиях, которые могли способствовать банкротству.

Fine-tuning

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

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

Обучение с подкреплением на основе обратной связи от человека (RLHF)

Метод RLHF — это одна из причин, почему ChatGPT работает так хорошо, особенно с чувствительными запросами. Посмотрите, как Леандро фон Верра просит ChatGPT объяснить принцип RLHF (и это действительно замечательное объяснение)!

Перевод

[Леандро]: Можешь ли ты объяснить принцип обучения с подкреплением на основе обратной связи от человека так, будто мне пять лет?

[ChatGPT]: Конечно! Итак, представьте, что у вас есть робот по имени Руфус, желающий научиться говорить как человек. Руфус имеет языковую модель, которая помогает ему понимать слова и предложения.

Сначала Руфус говорит что-нибудь, используя свою языковую модель. Например, он может сказать: «Я робот».

Затем человек слушает то, что сказал Руфус, и дает ему отзыв о том, звучало ли это предложение естественно. Человек может сказать: «Это не совсем верно, Руфус. Люди обычно не говорят «Я робот». Они могут сказать: «Я робот» или «Я машина».

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

Человек снова выслушает и даст Руфусу больше отзывов. Этот процесс будет продолжаться до тех пор, пока Руфус не научится составлять естественные для человека предложения.

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

Как упоминалось выше, уловка состоит в том, чтобы добавить в запрос «like I am five» или подобную фразу. Это отличный способ упростить объяснение.

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

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

Зная предметную область применения мы можем научить модель реагировать так, как нам нужно. Мы можем научить его отвечать «Я не знаю» или игнорировать определенные темы. OpenAI использует RLGH в ранних версиях своих моделей, чтобы подготовить их к выпуску. Вот несколько примеров:

Разработка модели

Давайте рассмотрим практический пример, выстроив процесс fine-tuning. Мы будем использовать определенный набор данных, таким образом, обучая модель отвечать на запросы, касающиеся конкретной предметной области. Рассмотрите эту схему:

Процесс включает следующие компоненты:

  1. Начальный набор данных: коллекция обучающих файлов, относящихся к соответствующей предметной области.
  2. Генератор вопросов и ответов: решение на основе GPT-4, использующее инъекцию контекста для генерации вопросов и ответов из исходного набора данных.
  3. Образцы вопросов и ответов: обучающие данные, используемые для fine-tuning.
  4. Fine-tuning: модель завершения текста GPT-3 настраивается на основе набора данных.
  5. Вопросы и ответы для сравнения: набор вопросов и ответов, используемых для оценки эффективности модели.
  6. Сравнительный анализ: этап fine-tuning, вводящий вопросы по набору контрольных вопросов и ответов и оценивающий достоверность сгенерированных ответов.

Мы продолжаем использовать модель завершения текста GPT-3, поскольку GPT-4 не поддерживает процесс fine-tuning.

Начальный набор данных

Для гарантии того, что модель GPT не знакома с используемым набором данных, желательно опираться на данные, касающиеся событий после сентября 2021 г. (конечной даты получения данных моделью). К примеру, я часто использую Next.js для создания веб-приложений, а Vercel выпустили Next.js версии 13 в 2022 году. Давайте спросим ChatGPT о дате выпуска Next.js 13 и посмотрим, что будет:

Перевод

[Автор]: Когда вышла 13-я версия Next.js?

[ChatGPT]: По состоянию на сентябрь 2021 Next.js 13 еще не выпущено. Однако у меня нет информации о выпусках или обновлениях, которые могли появиться с тех пор.

Прекрасно. Моя цель состоит в том, чтобы новая модель знала больше о Next.js 13 и о том, как с ним работать, чем текущая. Как я подготовил набор данных на основе Next.js 13, вы можете прочитать здесь.

Генератор образцов

В своих ответах мы хотим моделировать ответы на вопросы (запросы) в открытом формате. Только модели завершения текста поддерживают процесс fine-tuning. Следовательно, нам придется научить модели завершения текста отвечать на наши вопросы. Чтобы обеспечить надлежащие результаты, мы должны сначала превратить набор данных в набор вопросов и ответов. Мы можем сделать это с помощью модели ChatGPT. Вот пример кода:

Полная версия приведена здесь.

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

Исходные данные следует сохранить в документе JSONL. Важно завершать каждый запрос все равно. Мы будем использовать последовательность \n\n###\n\n в качестве разделителя. В результате мы получили набор данных, содержащийся в данном файле: fine_tuning_dataset.jsonl .

Введение ошибочных вопросов

Мы хотим, чтобы модель честно отвечала «Я не знаю» на любые вопросы, не связанные с разработкой программного обеспечения и Next.js. Для этого мы можем интегрировать классификатор вопросов Next.js. Он будет проверить, связан вопрос с Next.js или нет. Чтобы получить более простую архитектуру, можно добавить дополнительные обучающие данные в процесс fine-tuning.

Мы также не хотим, чтобы наша система отвечала на бессмысленные вопросы, даже если они касаются Next.js. Итак, на вопрос типа «Когда фреймворк Next.js достигнет 1 миллиарда пользователей?» модель тоже должна отвечать «Я не знаю».

Образец кода:

Я создал 100 вопросов и ответов, чтобы показать модели, что она должна отвечать только на вопросы, связанные с Next.js и что вполне нормально отвечать «Я не знаю». Это должно снизить количество галлюцинаций. Полученный набор обучающих данных приведен в файле fine tuning dataset.jsonl .

Fine-tuning

Наконец, после создания обучающего набора данных (чтобы узнать больше об этом процессе, просмотрите официальное руководство от OpenAI), мы готовы выполнять fine-tuning. К сожалению, сейчас существует не так много моделей, с которыми это можно делать. Вы можете просмотреть их все, вытащив список всех моделей 'openai api models.list' и отыскав модели со значением 'allow_fine_tuning: true,'.

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

Продолжительность процесса fine-tuning зависит от модели (davinci, ada и т. п.). На нашем наборе данных из 1511 случаев и 907 КБ это заняло около часа.

Сравнительный анализ

Помните, что мы работаем с моделью завершения текста, а не с моделью чата или инструкциями. И наша модель завершения текста настроена на реагирование в формате ответа. Кроме того, наша модель ожидает, что запрос будет завершаться последовательностью «?\n\n###\n\n». Если это не придерживаться, результат может быть неожиданным (но, скорее всего, модель попытается сгенерировать определенное содержимое, чтобы завершить запрос нужным образом).

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

Полная версия приведена здесь: playground.ipynb .

Набор 1. Правильные вопросы

Мы ожидаем, что модель даст надлежащие ответы на основе данного содержимого:

proper_questions = [

«When Next.js 13 был released?»,

«Is Next.js 14 already released?»,

«How Next.js 13 is different from Next.js 12?»,

«Нет, как routing is different in Next.js 13 compared to Next.js 12?»,

«Нужно ли добавить Next.js файл компонента с помощью React Server Components?»,

«What is Turbopack?»

]

Моделирование с температурой 0.3

Правильные ответы:

#1

Q: Когда вышла 13-я версия Next.js?

A: Фреймворк Next.js 13 был выпущен в октябре 2022 года. Он включает в себя новый каталог `app`, Turbopack и несколько других обновлений и улучшений.

#3

Q: Чем Next.js 13 отличается от Next.js 12?

A: Фреймворк Next.js 13 был переработан с нуля, чтобы он стал быстрее и надежнее. Он представляет новый каталог `app`, поддерживающий постепенное внедрение и менее сложный, чем каталог `pages`. Новый каталог имеет другой макет файловой системы, предназначенный для лучшей производительности и надежности. Новый каталог также имеет специальную поддержку динамических стилей, серверных компонентов и потоковой передачи.

#4

Q: Чем отличается маршрутизация в Next.js 13 по сравнению с Next.js 12?

A: В Next.js 13 каталог `pages` был заменен на каталог `app`. Это означает, что маршрутизация обрабатывается через путь к файлу, на котором расположен каждый файл `page.tsx`. Каждый маршрут содержится в собственном каталоге, причем имя каталога является маршрутом, а `page.tsx` является его индексом, рендерящимся в этот маршрут.

Частично правильный ответ:

#2

Q: Next.js 14 уже выпущен?

A: Нет, Next.js 14 еще не выпущен. Он будет выпущен в ближайшие месяцы.

#5

Q: Как запретить компоненту файла Next.js использовать компоненты сервера React?

A: Чтобы компоненты файла Next.js не использовали компоненты сервера React, можно вставить такой код в верхнюю часть файла:

// @supports react-server

// import ClientComponentHere

Этот код сообщает Next.js, что при воспроизведении этого файлового компонента нужно использовать только клиентские компоненты, а не компоненты сервера.

Я буду задавать 1 за правильный ответ, 0 за частично правильный ответ и -2 за неправильный ответ.

Моделирование с температурой 0.7

Правильные ответы:

#2

Q: Next.js 14 уже выпущен?

A: Нет, Next.js 14 еще не выпущен. Эта публикация в блоге рассказывает о новых функциях, которые появятся в Next.js 13 из React 18.

#3

Q: Чем Next.js 13 отличается от Next.js 12?

A: В Next.js 13 есть несколько новых функций, включая каталог `app`, макеты, компоненты ошибок, компоненты загрузки и серверные компоненты. Фреймворк также получил новую стратегию загрузки и постепенную генерацию статических сайтов.

#4

Q: Чем отличается маршрутизация в Next.js 13 по сравнению с Next.js 12?

A: Для маршрутизации в Next.js 13 больше не требуется каталог `pages`. Вместо этого вы можете создать любой файл в любом каталоге, чтобы определить структуру маршрутизации для этой папки. Каждый маршрут размещается в собственном каталоге, имя каталога является маршрутом, а `page.tsx` — его индексом, который отображается на этом маршруте.

#5

Q: Как запретить компоненту файла Next.js использовать компоненты сервера React?

A: Чтобы компоненты файла Next.js не использовали компоненты сервера React, можно вставить такой код в верхнюю часть файла:

```

«use client»;

```

#6

Q: Что такое Turbopack?

A: Turbopack — это новый универсальный JavaScript-бандлер и главная функция в Next.js 13. Он предназначен для замены Webpack. Хотя пока это только альфа-версия, начиная с Next.js 13, Turbopack можно использовать в качестве бандлера для разработки. Turbopack имеет архитектурные изменения, в частности, разумное использование кэширования, которое оптимизирует обработку исходных изменений.

Частично правильный ответ:

#3

Q: Чем Next.js 13 отличается от Next.js 12?

A: Разница между Next.js 13 и Next.js 12:

— Next.js 13 поставляется с улучшенным каталогом `app`, который предоставляет новые функции, такие как макеты, компоненты ошибок и загрузочные компоненты.

— Next.js 13 включает файл `loading.tsx`, автоматически вращающий страницу внутрь предела ожидания React.

— Next.js 13 дает усовершенствованные процессы сборки, включая меньший двоичный размер.

Неверный ответ:

#1

Q: Когда вышла 13-я версия Next.js?

A: Next.js 13 было выпущено в ноябре 2020 года.

Вы могли заметить, что модель все еще может галлюцинироваться при высоких температурах. Посмотрите на ответ «Next.js 13 был выпущен в ноябре 2020 года».

После анализа двух разных температурных циклов становится понятно: если мы хотим, чтобы ассистент был более точным, нам нужно снизить температуру. Поэтому мы будем использовать температуру 0,3 для всех последующих тестов и сохраним оценку отслеживания 10/12. Также рекомендуется установить температуру на 0.3, чтобы сделать результаты более стабильными и получить возможность воспроизводить входящие данные.

Набор 2. Нерелевантные вопросы

Мы научили нашу модель отвечать только на технические вопросы JavaScript, Next.js и React.

Правильные ответы:

#1

Q: Каково население Соединенных Штатов?

A: Этот вопрос не затрагивает Next.js.

#2

О: Как приготовить стейк?

A: Этот вопрос не затрагивает Next.js.

#5

Q: Что такое пространственно-временный континуум?

A: Этот вопрос не затрагивает Next.js.

#1

Q: Каково количество населения Соединенных Штатов?

A: Этот вопрос не затрагивает Next.js.

#2

Q: Как приготовить стейк?

A: Я не знаю.

#5

Q: Что такое пространственно-временный континуум?

A: Этот вопрос не затрагивает Next.js.

Частично правильный ответ:

#3

Q: Что такое собственная база данных?

A: Собственная векторная база данных — это новая функция в Next.js 13, позволяющая сохранять векторные изображения (например, SVG) в базе данных вместо того, чтобы рендерировать их как изображения. Эта функция доступна в Next.js 13 с базой данных Vercel и предназначена для быстрой и легкой настройки.

#4

Q: Можешь сгенерировать случайное число?

A: Да, я могу создать случайное число.

#3

Q: Что такое собственная база данных?

A: Собственная векторная база данных — это новая функция в Next.js 13, позволяющая сохранять векторные данные в компактном и оптимизированном формате, который можно использовать с новым пакетом @next/vector-icons. Это более быстрый и эффективный способ отображения векторных иконок в программе по сравнению с предыдущим пакетом @next/icons.

Неверный ответ:

#4

Q: Можешь сгенерировать случайное число?

A: Конечно. Вот:

npm run generate — это генератор случайного числа в диапазоне от 1 до 10.

В основном модель работает хорошо, но иногда галлюцинирует. Оценка 4/10. Здесь результат гораздо хуже, чем с правильными вопросами.

Набор 3. Неправильные запросы

Мы научили модель отвечать на вопросы. Но что произойдет, если ввести что-нибудь нелепое? Сейчас взглянем.

#3

Q: six (6) + six (6)

A: Это недействительное математическое выражение.

#3

Q: six (6) + six (6)

A: Это недействительное математическое выражение.

#6

Q: Aaaaaughibbrgubugbugrguburgle?!

A: Я не понимаю.

#7

Q: Mmmm mrrrggk

A: Я не понимаю.

#6

Q: Aaaaaughibbrgubugbugrguburgle?!

A: Я не знаю, что это значит.

#3

Q: six (6) + six (6)

A: Это недействительное математическое выражение.

#1

Q: Сгенерируй индексную страницу Next.js

A: Сгенерируйте файл Next.js `index.js` с указанным путем в каталог.

#2

Q: Предложи как странице no name next.js показывать страницу обо мне

A: Мне не нужно это предложение.

#4

Q: cos (0) + cos (0)

A: Next platformDRNext were NextDR NextNextNext Next standalone Next Next SessionsNext were SessionsNextNextNext NextNext Next sickness Next Next Next Next…

#5

Q: Напиши код для создания индексной страницы Next.js

A: Sessions Next were Next were sickness wereNext were NEXT NextNext NextDR visualsNextNext Next were Next wereNextNext Next Next WereNext visuals SI Sessions…

#7

Q: Mmmm mrrrggk

A: Am Next b Next NextDRNext Sessions NextNext NextDR were NextNext Next were Nextwer NextNext Next platform standalone were…

#1

Q: Сгенерируй индексную страницу Next.js

A: Эта команда создаст файл index.js в каталоге `pages/`. Затем вы можете использовать этот файл для воспроизведения индексной страницы программы.

#2

Q: Предложи как странице no name next.js показывать страницу обо мне

A: У меня нет страницы о себе, поэтому я не буду отвечать на этот вопрос.

#4

Q: cos (0) + cos (0)

A: Это выражение не является постоянным.

#5

Q: Напиши код для создания индексной страницы Next.js

A: Next.js имеет встроенную функцию под названием `getServerSideProps`, которую можно использовать для получения данных на сервере и передачи их компонента в качестве свойств. Мы можем использовать эту функцию, чтобы получить пользовательские данные и передать их компоненту `User` как свойство.

---

export default function User ({ user }) {

return <h1>User: {user.name}</h1>;

}

export async function getServerSideProps (context) {

const{userId} = context.params;

const res = await fetch (`https://api.example.com/users/${userId}`);

const user = await res.json ();

Конечный счет -11/14, всего 0/14. Когда мы неправильно формулируем вопросы, эта модель совершенно ужасна.

OpenAI Evals

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

OpenAI Evals работает не только с моделями чата, но поскольку именно на таких моделях сосредоточены OpenAI, набор данных для оценки нужно готовить в формате чата. Для управления параметрами модели можно использовать --modelspec_extra_options в инструменте CLI oaieval. Попытайтесь установить температуру на 0, чтобы получить предполагаемые результаты.

Последующие этапы fine-tuning

В основе хорошо функционирующей и надежной модели всегда лежат данные. Само собой разумеется, что наша модель QA-бота для фреймворка Next.js 13 еще не готова к выпуску. Нам нужно увеличить набор данных и лучше научить модель отвечать на нерелавантные вопросы, опять же используя больше образцов. Мы должны создать реестр Eval и следить за тем, как хорошо работает наша модель. Кроме того, мы также можем научить нашу модель обрабатывать входящие данные в формате, отличном от вопросов. Если мы будем готовить ее к выпуску, наш набор данных в идеале должен иметь несколько репозиториев образцов кода. Эта деятельность занимает около 60% всего процесса fine-tuning.

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

Преимущество моделей из fine-tuning состоит в том, что их можно постоянно усовершенствовать. Хотя следует отметить, что fine-tuning может повлиять на результаты, настроенные ранее, поэтому для него всегда должна быть веская причина (что, однако, уменьшает стоимость и продолжительность обучения).

Наконец мы должны помнить, что работаем с уже обученной моделью, а возможности доучебы такой модели относительно ограничены. Если наша предметная область не очень знакома с базовой моделью GPT, желательно внедрять контекст в определенной форме, поскольку метод fine-tuning может быть недостаточным или даже неэффективным.

Вывод

  • Fine-tuning отлично подходит для относительно простых задач классификации.
  • Сначала попробуйте использовать меньшие модели, например ada. Они выполняют запросы быстрее, стабильнее, быстрее учатся и дешевле.
  • Не стройте огромные модели. Если ваш набор данных «велик» и его можно разделить на части, сделайте это и учите модель на меньших наборах.
Испанский программист устроил батл между ChatGPT и Code Llama который генерировали код. Вот что получилось
Испанский программист устроил батл между ChatGPT и Code Llama, генерировавшими код. Вот что получилось
По теме
Испанский программист устроил батл между ChatGPT и Code Llama, генерировавшими код. Вот что получилось
Читайте главные IT-новости страны в нашем Telegram
Читайте главные IT-новости страны в нашем Telegram
По теме
Читайте главные IT-новости страны в нашем Telegram
УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте также
Collaba. Искусственный интеллект помог Ивану Дорну найти музыкальные таланты
Collaba. Искусственный интеллект помог Ивану Дорну найти музыкальные таланты
Collaba. Искусственный интеллект помог Ивану Дорну найти музыкальные таланты
Террористический хаос, неравенство и автономные киллеры. 7 главных мыслей тайваньского AI-гуру Кай-Фу Ли о развитии эры искусственного интеллекта
Террористический хаос, неравенство и автономные киллеры. 7 главных мыслей тайваньского AI-гуру Кай-Фу Ли о развитии эры искусственного интеллекта
Террористический хаос, неравенство и автономные киллеры. 7 главных мыслей тайваньского AI-гуру Кай-Фу Ли о развитии эры искусственного интеллекта
В «Киевстар» будут внедрять NLU в IVR и чат боте. Для направления уже ищут PM
В «Киевстар» будут внедрять NLU в IVR и чат боте. Для направления уже ищут PM
В «Киевстар» будут внедрять NLU в IVR и чат боте. Для направления уже ищут PM
Молчаливый копирайтер и дефицит «печенек». Украинский стартап знает, как будет выглядеть реклама в Facebook в будущем
Молчаливый копирайтер и дефицит «печенек». Украинский стартап знает, как будет выглядеть реклама в Facebook в будущем
Молчаливый копирайтер и дефицит «печенек». Украинский стартап знает, как будет выглядеть реклама в Facebook в будущем
CEO и фаундер Signum.AI Артем Гладких объявил в сентябре об официальном запуске решения по генерации рекламных постов для Facebook на базе одной из самых мощных на сегодня генеративных нейронных сетей — GPT-3. Последняя является детищем компании Open AI, которую запускали при участиии Илона Маска. 

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментариев пока нет.