Панда П., Сычева А. В.
ChatGPT. Мастер подсказок, или Как создавать сильные промты для нейросети
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
© ООО Издательство "Питер", 2024
* * *
Введение
Даже если вы далеки от технологических трендов, все равно у вас мало шансов ни разу не услышать о нейросетях и прорывах в области искусственного интеллекта (ИИ).
Нейросети то, нейросети се… Нейросети массово лишают работы художников. Нейросети обучают управлению самолетом. Нейросети внедряют в чат-боты, чтобы вживую общаться с клиентами. Этих новостей сегодня так много и число их растет настолько быстро, что даже самый ленивый человек хотя бы мельком, но обратит внимание.
А уж тот, кто не ленив и готов увидеть перспективы применения ИИ в бизнесе, работе, образовании, развлечениях и многом другом, и вовсе смотрит в оба глаза.
В этой книге мы не станем замахиваться на понятие «нейросети вообще», давать сложные и долгие объяснения или делать другие заумные вещи, которые 95 % читателей просто не поймут и начнут зевать.
Наша цель куда проще: мы возьмем один вид нейромоделей (генерация контента) и постараемся подружить вас с ним, перевести ваше общение с ИИ из формата «Что ТЫ такое?» в формат «Привет, поработаем?». Благо у нас (авторов данной книги) для этого есть и наработки, и кое-какой опыт, и собственный инструментарий. Приступим.
LLM и GPT как часть ИИ
ChatGPT – лишь часть глобального явления под названием «искусственный интеллект». Думаем, будет правильно, если мы опишем структуру этого явления, пусть даже самую суть, – чтобы вы могли понять его.
Если же вам нужно еще больше информации, то вы всегда можете спросить ИИ или найти в поисковиках. Это очень просто. Итак, начнем.
Искусственный интеллект (ИИ; от англ. artificial intelligence, AI) – компьютерная технология, которая помогает выполнять задачи, требующие творческого подхода, логического мышления, аналитических способностей и прочих признаков, которыми обладает только человек.
ИИ отличается от обычных программ тем, что может обучаться на основе опыта, менять выводы в зависимости от контекста, анализировать сложные вводные и многое другое.
Архитектура ИИ отчасти похожа на строение человеческого мозга с его нейронными связями. Разница только в том, что в ИИ эти связи – искусственные. Чем сильнее развиваются технологии, чем больше опыта и возможностей накапливается у ИИ и его разработчиков, тем «умнее» становится ИИ, тем больше улучшается качество искусственных связей.
Нейросети – нечто вроде подкласса ИИ. Скажем, если ИИ вообще – это семейство кошачьих, то нейросети – это и гепарды, и львы, и пумы, и домашние рыжие Васьки.
Нейросети опираются на общие принципы работы ИИ, но при этом могут кардинально различаться по уровню задач. Есть разные подвиды нейросетей наподобие рекуррентных, многослойных и т. п., но в данной книге мы не будем о них говорить.
Мы будем рассматривать нейросети по уровню задач. Например, нейросети:
• для распознавания голоса;
• для создания изображений;
• для работы с информацией (контентом) и т. п.
А вот уже внутри одного направления нейросетей (например, контентных) и находится то, с чем конкретно мы будем работать, – LLM.
LLM (от англ. Large Language Model, большие языковые модели) – это обученные модели для выполнения конкретных задач. LLM можно сравнить с ребенком: чем больше с ним общаются, чем больше фактов он узнает, тем больше учится и развивается, пытается анализировать, находить закономерности, работать с вводными данными и делать выводы.
Разные LLM можно обучать совершенно по-разному. Одни из них огромны и тратят колоссальное количество аппаратных ресурсов, для работы им нужны большие залы, наполненные самыми мощными и современными серверами. Другим же LLM хватит и самых простых «бытовых» мощностей.
Одни LLM узкоспециальны и обучаются под конкретную задачу: например, сводить оборот на основе документов одной компании. Другие готовы обслуживать население целых стран и выполнять тысячи разных задач.
Например, YandexGPT, Google Bard и версии GPT от OpenAI – «родственники». Это модели для работы с информацией (контент, написание кода, анализ текстов и т. п). Но чем больше мастерства, сил, средств, наконец, вложено в развитие конкретной LLM, тем радикальнее могут различаться результаты: по уровню знаний, внутренней архитектуре, объему контекста и т. д. При этом цели и задачи однотипных LLM примерно похожи.
А вот если вы хотите, например, рисовать, то нужны LLM наподобие Stable Diffusion, «Кандинский» или Midjourney. Для обработки видео вам понадобятся другие модели. И т. д.
Теперь, когда мы немного разобрались, поговорим о линейке конкретных LLM-моделей – GPT (ChatGPT).
GPT – передовая линейка генеративных нейромоделей для работы с информацией, которую разрабатывает компания OpenAI. Здесь есть небольшой нюанс: известный многим термин ChatGPT (если уж совсем дотошно) – не совсем верное название для всей серии LLM. Так называется лишь знакомый нам интерфейс для работы, похожий на обычный чат.
А вот GPT-3, 4, 5… – это номера конкретных версий моделей компании, где каждая следующая опережает предыдущую по целому ряду показателей.
В этой книге мы будем оперировать словами ChatGPT, «ИИ», «нейросеть», «модель» и т. п., имея в виду в первую очередь GPT от OpenAI. Просто потому, что на момент написания книги это явный лидер, который задает тон.
Но вообще мы создаем книгу универсального промтинга, не привязываясь к конкретному номеру модели и даже к конкретной LLM (что такое промтинг, мы расскажем чуть позже). Самый смак в том, что эти правила одинаковы для всех аналогичных LLM, поэтому подойдут и для других моделей. Почему – об этом еще поговорим, а пока продолжим.
Линейка моделей GPT сегодня опережает другие похожие решения. В OpenAI и начали раньше, и денег, видимо, хватало, и люди там талантливые. Словом, лидеры.
ChatGPT[1] постоянно развивается, всегда на несколько шагов впереди. Пока другие LLM доходят до его вчерашнего уровня, он уже машет рукой из завтрашнего дня.
Общение человека с ChatGPT ведется с помощью текстовых запросов (prompts), которые мы далее будем называть промтами или подсказками.
В тексте они обозначаются вот таким шрифтом.
Суть работы модели выглядит так: человек вводит промт и получает ответ. Главное ее отличие от работы обычных программ в том, что GPT способна создавать ответы в таком виде, как если бы их давал человек.
Например, зададим ChatGPT задачу для пятого класса:
Реши задачу: из автобуса на остановке вышло 6 пассажиров, а вошло 11. На следующей остановке вышло 8, вошло 9. Сколько пассажиров стало в автобусе, если вначале в автобусе было 24 пассажира?
Ответ модели, по сути, идентичен ходу мыслей обычного школьника (скопировано дословно).
Для решения этой задачи нужно проследить изменение количества пассажиров в автобусе на каждой остановке.
Изначально в автобусе было 24 пассажира. После первой остановки вышло 6 пассажиров, а вошло 11. Таким образом, количество пассажиров увеличилось на 11 – 6 = 5.
24 + 5 = 29 пассажиров после первой остановки.
На следующей остановке вышло 8 пассажиров, а вошло 9. Снова посчитаем изменение количества пассажиров: