EngX Code Review: начни писать код еще лучше и построй эффективный процесс код-ревью.

LLM: что это такое и какие открывает возможности

Какие существуют инструменты и техники для эффективного промпт инжиниринга? Чем сегодня хорош ChatGPT, а в чем ему еще предстоит совершенствоваться? Как ему этим помочь? На актуальные вопросы отвечает продуктовый менеджер Anywhere Club Леонид Ардаев и делится полезными ресурсами для изучения prompt engineering.

продуктовый менеджер Леонид Ардаев


Что такое LLM, или Large Language Models

— LLM — это языковые модели, работающие с большим количеством дополнительных параметров. То есть это модели, которые используют обширные данные и сети трансформеров для построения своей структуры, — поясняет Леонид, — Наверняка вам знакомы такие модели, как GPT-3, GPT-3.5 и, конечно же, GPT-4, который используется в чат-ботах OpenAI. Сегодня OpenAI не раскрывает детали об объеме информации и параметров, с которыми работает GPT-4, но есть основания считать, что на данный момент это одна из самых больших моделей.

Есть и другие менее популярные модели, которые, однако, уступают OpenAI во многих тестах. Это, например, Jurassic 1 и Jurassic 2 от израильской компании AI21 Labs. Или чат-бот Google Bard на модели PaLM-2, которая совсем недавно появилась во всеобщем доступе.

Есть несколько интересных разработок от NVIDIA (NeMo, Picasso и BioNeMo), которые созданы для целого спектра различных применений — от генерации текста и видео до научных исследований. В своей следующей версии они, скорее всего, будет обладать наибольшим числом параметров, что позволит ей учитывать больше деталей при генерации контента.

Разнообразие языковых моделей велико, и каждая из них имеет свои особенности и преимущества, а также особые сферы применения.

Еще больше о ChatGPT

— GPT (Generative Pre-trained Transformer) — это модель языкового моделирования (LLM), а ChatGPT — продукт, основанный на модели GPT и предназначенный для ведения диалогов с человеком на естественном для него языке, — дает определение Леонид, — ChatGPT способен поддерживать диалоги, запоминая предыдущие высказывания и отвечая на них таким образом, чтобы быть похожим на разумный человеческий диалог. Модель обучается на больших объемах текстовых данных и использует архитектуру трансформера для генерации ответов.

Сильные стороны ChatGPT

  1. Способность находить информацию быстро и релевантно (в большинстве случаев). В отличие от поисковых систем, у которых тысячи разработчиков и которые все же могут иметь проблемы с поиском очень важной или специфичной информации, ChatGPT может хорошо справиться с такими запросами благодаря своей способности учитывать последовательность запросов и в принципе другому подходу к обработке запросов. Это делает его полезным инструментом для проектов, связанных с поиском информации. LLM может находить сложные запросы, которые могут отсутствовать в виде keywords в тексте.
  2. ChatGPT также отлично работает с текстами, способен их генерировать и суммировать в больших объемах. Он может принимать структурированный или неструктурированный текст и создавать краткое содержание или резюме в соответствии с запросом.
  3. ChatGPT проявляет отличные навыки в области перевода. Даже для сложных языков, которые читаются справа налево или слева направо, их перевод на другие языки через кириллицу и английский может быть более точным и качественным, чем при использовании традиционных инструментов, таких как Google Translate. ChatGPT правильно распознает и воспроизводит специфические символы и учитывает спорные моменты благодаря своей базе знаний, которая охватывает большой объем информации из интернета.
  4. Способность генерировать код. Он может легко создавать JSON-структуры на основе предоставленных данных и автоматически определять, куда вставить соответствующие значения. Например, если мы предоставим ему резюме (CV) и запросим конвертацию его в формат JSON без предоставления множества контекста, ChatGPT сможет сгенерировать структуру с разделением на секции и правильными названиями полей. Он также хорошо справляется с повторяющимися задачами, если последовательность запросов запрограммирована соответствующим образом.
  5. Role playing. Например, ChatGPT можно использовать в качестве тренера по английскому языку или по определенной предметной области. Если попросить его представиться кем-то и вести разговор на естественном языке, он отлично играет эту роль и может хорошо взаимодействовать с контекстом. Это позволяет создавать интересные и реалистичные ситуации для обучения или тренировки ответственных переговоров.
Как использовать ChatGPT в контент-маркетинге

Слабые стороны ChatGPT

  1. Неспособность давать оценочные суждения. Это означает, что он не может оценивать что-либо в терминах «хорошо» или «плохо» или иметь эмоциональную окраску в своих ответах. При этом у OpenAI есть механизмы, которые стараются ограничить выдачу неприемлемых или неверных ответов с точки зрения этики.
  2. Так называемые галлюцинации (hallucinations). Поскольку ChatGPT обучается на публично доступной информации, которая может содержать ошибки или быть неверной в целом, есть риск того, что модель может генерировать неправильные или неточные ответы. Если модель получает неверные данные, она может вернуть комбинацию, которая кажется более вероятной, но на самом деле является ошибочной. Это особенно заметно в логических вопросах или задачах, требующих математических расчетов. Важен осторожный подход и модерирование ответов бота, прежде чем принимать их за правду.
  3. Возможность допускать фактические ошибки при генерации текста. Хотя модель способна генерировать качественные тексты, она не является источником абсолютно точной информации.
  4. Склонность ChatGPT к стереотипированию (Bias). Поскольку модель обучается на большом объеме публичных данных, она может проявлять предпочтения или склонность к наиболее вероятным ответам. Это может приводить к тому, что модель будет упорно придерживаться своей точки зрения по определенному вопросу, даже если она не является абсолютно точной. Это вызвано тем, что модель формирует свои ответы на основе имеющихся данных. Для преодоления этой проблемы важно проверять ответы.
  5. Проблема внимания к деталям, особенно когда предоставляется большой промпт. Модель с бесплатным доступом GPT3.5-turbo, на базе которой построен ChatGPT, способен держать в краткосрочной памяти объем около 4000 токенов, или приблизительно 3000 слов. Платная модель GPT4 способна обрабатывать уже 32000 токенов. На рынке уже появились модели, такие как Claude от Anthropic, способная "запоминать" до 100 000 токенов, что по объему равно небольшому литературному роману. Если промпт слишком длинный, модель может потерять некоторые детали и допустить ошибку в ответе. Внимательность к деталям и контроль размера промпта могут помочь избежать таких ошибок.

Конечно, у ChatGPT пока что намного больше ограничений, но, когда они будут сняты — это вопрос времени. Сейчас просто нужно помнить о них и стараться обходить.

Основные правила составления промтов

— Prompt engineering — важный аспект взаимодействия с моделью ChatGPT, — считает Леонид, — Чтобы получить точный и правильный ответ, необходимо тщательно составить запрос. Промпт для модели не может быть таким же, как для человека. Человек способен интерпретировать невербальные сигналы и додумывать неявные намерения. Однако модель такой способности не имеет. Ей требуется достаточный контекст и ясное понимание задачи. Если модели не предоставить эту информацию, она все равно вернет ответ, но скорее всего он не будет соответствовать ожиданиям и запросу пользователя.

  1. Главное правило, которое следует запомнить, связано с необходимостью быть достаточно специфичным при формулировке промпта. Важно указывать конкретные детали и вероятности, чтобы получить точный ответ от модели. Если промпт не содержит достаточно информации или предоставляет неверифицированные данные, модель может дать ничем не подкрепленный ответ или предложение, основанное на имеющейся информации. Однако, когда мы предоставляем модели более точные сведения, она способна дать более обоснованный и взвешенный ответ, основанный на этом контексте.
  2. Важно знать, что у моделей есть настройки, которыми можно управлять при работе с ними через платформу Playground или другие облачные среды, использующие движок OpenAI. Один из примеров — параметр «температура». Он определяет вариативность ответов модели. Высокая «температура» позволяет модели генерировать разнообразные и креативные ответы, принимая во внимание вероятности соответствия запросу. Считается, что ChatGPT работает с фиксированной «температурой» 0,7, что предполагает разнообразие в ответах бота на один и тот же вопрос. Снижение «температуры» делает модель более предсказуемой и стабильной, но может ограничить вариативность ответов. Поэтому важно обращать внимание на выбор температуры, особенно при стремлении получить фиксированный и точный ответ.
  3. При работе с ChatGPT нужно разбивать большие промпты на маленькие части, особенно при сравнительном анализе или сложных задачах. Это помогает избежать потери контекста и получить более точные результаты. Можно разделить задачу на несколько подзадач, обработать их отдельно, а затем сравнить полученные результаты с тем, с чем нужно сравнивать. При этом важно помнить об ограничениях в размере промпта для каждой модели. Если он превышен, то ту чать, которая не помещается, модель начнет «забывать».
  4. Стимулирование «размышления». ChatGPT может учиться в процессе взаимодействия. Предоставление модели небольшого контекста и ясного понимания того, что является правильным или неправильным, позволяет ей запомнить эту информацию и выдавать ответы в ожидаемом формате с большей вероятностью. Это подходит для решения более сложных проблем и обеспечивает большую уверенность в получаемых результатах. К этому же правилу стоит отнести и предоставление примеров.
Generative AI for Managers
Lead agile teams, make data-driven decisions, and improve project outcomes with generative AI.
View coursearrow-right-blue.svg

Инструменты и техники для эффективного промпт инжиниринга

  1. Dyno IDE и Wale IDE. Эти инструменты позволяют тестировать и контролировать результаты запросов через OpenAI API, а также использовать небольшие датасеты для использования переменных в цикле запросов. Используя их, можно сгенерировать несколько ответов с разными настройками, такими как температура и размер ответа. Сравнивая и анализируя результаты, можно выбрать наиболее подходящий ответ. Эти среды полезны для тестирования и подбора оптимальных промптов.
  2. Встроенный Playground в OpenAI также предоставляет возможность настройки запросов и использования дополнительных функций для достижения стабильных результатов.
  3. DocsGPT — мод, основанный на OpenAI. Этот инструмент позволяет использовать файлы в качестве контекста для генерации ответов. Docs.GPT позволяет отвечать на вопросы, используя информацию из загруженных файлов. Это удобный инструмент для построения справочных чат-ботов на базе LLM.
  4. Кроме того, существует расширение для браузера, которое позволяет ChatGPT получать данные из Интернета. Это ограничение уже снято в платных версиях популярных ботов, но бесплатный ChatGPT по-прежнему ссылается на знания до сентября 2021 года. С помощью этого расширения ChatGPT может обращаться к поисковым системам и предоставлять ответы, основанные на сведениях, полученных из интернета.

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

ChatGPT подключили к интернету: что это значит?

Полезные ресурсы для изучения prompt engineering

— Уже существует множество дополнительных ресурсов, которые можно использовать для более глубокого изучения prompt engineering и применения его в практике, — делится Леонид:

1. На платформе LinkedIn Learning можно найти курсы, посвященные HRGPT и prompt engineering, которые предоставляют профессиональное и более углубленное объяснение этих концепций. Например:

Получи лицензию LinkedIn Learning за 4 шага

2. Ресурс Learn Prompting предоставляет полезные материалы для более тщательного изучения процесса составления промптов.

3. Различные IDE (интегрированные среды разработки) предлагают широкие возможности и постоянно обновляются, предоставляя полезный контекст и инструменты для эффективного создания промптов. Они также интегрируются с различными языками программирования и фреймворками для решения конкретных задач.

ChatGPT не заменит человека: мнение эксперта об IT-хайпе
Материалы по теме
Следи за новостями на любимых платформах