готовый ответ из контекста, который может быть представлен в виде текста или таблицы. Вторая разновидность – это модель с «открытой книгой» (open-book generative Q&A), которая использует предоставленный контекст для генерации ответа. Ее работа напоминает первый подход с той разницей, что модель здесь извлекает не дословный ответ из контекста, а использует контекст для генерации ответа своими словами. Последняя разновидность – это модель генерации ответов на вопросы с «закрытой книгой» (closed-book generative Q&A). Здесь вы не предоставляете никакого контекста в своих входных данных, кроме самого вопроса, а модель генерирует наиболее вероятный ответ в соответствии со своими «познаниями».
До недавних усовершенствований в технологии LLM задача «ответ на вопрос» обычно решалась методом «открытой книги» при наличии доступа к бесконечному множеству запросов и ответов. Более новые модели, такие как GPT‐3, оценивались в чрезвычайно строгих условиях «закрытой книги», где модели не предоставлялся никакой дополнительный контекст, а также ей не разрешалось ни в каком виде обучаться по наборам данных, используемых для оценки. В популярные датасеты [12] для оценки моделей Q&A входят простые вопросы (см. http://mng.bz/E9Rj) и поисковые запросы Google (см. http://mng.bz/NVy7). В качестве примера можно привести такие вопросы: «Какой политик получил Нобелевскую премию мира в 2009 году?», «Какую музыку сочинил Бетховен?».
Еще одно применение моделей, которое тесно связано с данной предметной областью, – понимание прочитанного. В этой задаче модели показывается несколько предложений или абзацев, а затем ее просят ответить на конкретный вопрос. Чтобы наилучшим образом имитировать человеческие качества, LLM часто тестировали по вопросам в разных форматах на понимание прочитанного, включая вопросы с множественным выбором, диалоги и абстрактные наборы данных. Давайте рассмотрим пример с набором входных данных, включающих диалог16. Задача состоит в том чтобы дать правильный ответ на вопрос, учитывая как контекст, так и происходящий диалог: «Джессика решила посидеть в своем кресле-качалке. Сегодня у нее был день рождения, ей исполнялось 80 лет. Во второй половине дня должна была приехать ее внучка Энни, и Джессика была очень рада ее увидеть. Ее дочь Мелани вместе со своим мужем Джошем тоже должны были приехать. У Джессики был…» Если первый вопрос диалога «У кого был день рождения?», правильный ответ будет «У Джессики». Затем модели задают следующий вопрос: «Сколько ей исполнялось лет?» – на который она должна ответить: «80».
Одним из наиболее ярких примеров модели, разработанной для генерации ответов на вопросы, была модель Watson от IBM Research. В 2011 году компьютер Watson соревновался в популярном игровом шоу Jeopardy! с двумя крупнейшими победителями за все время существования телешоу и победил17.
1.4.3. Программирование
В последнее время генерация программного кода стала одним из самых популярных применений LLM. Такие модели принимают входные данные на естественном языке и пишут фрагменты кода на заданном языке программирования. Несмотря на то, что в этой области все еще предстоит решить определенные проблемы, такие как безопасность, прозрачность и лицензирование, разработчики и инженеры с разным уровнем квалификации ежедневно используют инструменты с поддержкой LLM, чтобы повысить свою производительность.
Инструменты для генерации кода появились в середине 2022 года, когда был выпущена GitHub CoPilot. Программа CoPilot, которую называют «Ваш напарник-программист с искусственным интеллектом», была запущена в июне 2022 года и распространялась по системе подписки (см. https://github.com/features/copilot). Основанная на модели Codex, разработанной OpenAI, она быстро стала использоваться в роли виртуального помощника в «парном программировании» [13], чтобы повысить продуктивность разработчиков. Codex – это версия GPT‐3, для которой была проведена тонкая настройка для решения задач программирования на более чем десяти различных языках. GitHub CoPilot предлагает продолжение кода по мере ввода, автоматически заполняет повторяющийся код, показывает альтернативные варианты и преобразует комментарии в код. Разработчики находили для себя различные творческие и неожиданные способы использования «программиста с искусственным интеллектом», например: он помогал неносителям английского языка, готовил к собеседованиям по программированию, тестировал код и многое другое. В тот же месяц, в июне 2022 года, Amazon анонсировала выпуск аналогичного инструмента под названием CodeWhisperer, который описывается как помощник по программированию на основе искусственного интеллекта для повышения производительности разработчиков за счет генерации рекомендаций по коду и проверки безопасности (см. https://aws.amazon.com/codewhisperer/). Стоит отметить, что эти инструменты программирования продвигаются как «напарники-программисты» или «помощники по программированию», цель которых – дополнить человека, а не заменить его. Хотя CoPilot и CodeWhisperer, как правило, дают хорошие рекомендации, они не могут продумывать программы целиком так, как это делает человек, и иногда могут допускать глупые ошибки. В главе 6 мы подробно обсудим идею повышения производительности с помощью машин.
GPT‐4, итерация моделей класса GPT, выпущенная в марте 2023 года, была протестирована на различных задачах программирования18. Leetcode – это популярная платформа, где собраны задачи по программированию, например по структурам данных или алгоритмам, которые часто приходится решать при прохождении технических собеседований. Хотя GPT‐4 относительно хорошо справляется с простыми задачами на Leetcode, средние или сложные задачи даются ему с трудом, следовательно, многие работы по программированию по-прежнему нуждаются в участии человека.
1.4.4. Генерация контента
Чрезвычайно перспективным и широко используемым применением LLM является генерация контента. Способность генерировать для новостей текст, напоминающий написанный человеком, традиционно использовалась для оценки работы LLM. В задаче давались название и подзаголовок или первое предложение, учитывая которые необходимо было сгенерировать развернутую статью, а результат оценивался по критерию «насколько вероятно, что статья написана машиной»: чем лучше статья была сгенерирована, тем сложнее установить ее машинное «авторство». Существует вариант задачи – также имеющий отношение к потенциально неправильному использованию LLM, обсуждаемому в разделе 1.5.2, – когда качество новостной статьи определяется тем, способны ли люди отличить созданный машиной контент от созданного человеком. Этот вариант аналогичен тесту Тьюринга, но здесь проверяется способность создавать контент, а не вести диалог. GPT‐3 и другие разновидности LLM продолжают создавать новостные статьи, которые человеку трудно идентифицировать как написанные машиной.
Как упоминалось в предыдущем подразделе, использование возможности генерации контента вышло за пределы только написания новостных статей. Благодаря повышению доступности сложных диалоговых агентов люди используют LLM для создания контента в различных жанрах, стилях и форматах, включая создание планов маркетинговых кампаний, сообщений в блогах и электронных письмах, постов в социальных сетях и многое другое. В область создания генеративного контента также вошли несколько стартапов, в том числе Jasper AI, Anthropic AI, Cohere, Runway, Stability AI и Adept AI. В следующей главе мы подробно обсудим использование LLM для генерации контента, а также рассмотрим любые потенциальные риски.
1.4.5. Логические рассуждения
Новым и интересным применением LLM является использование их способности «рассуждать» – делать выводы или заключения на основе новой или существующей информации. Недавней, но уже распространенной логической