Рецепт

Как использовать ChatGPT и другие большие языковые модели

by human

Все вокруг много говорят про ChatGPT и про то, как он оставит людей без работы. А вы уже попробовали беседовать с большими языковыми моделями? Если нет - читайте инструкцию!

Обновлено 7 ноября 2023

TL;DR

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

  • Официальный сайт ChatGPT - через VPN с регистрацией по зарубежному SMS. Лучше всего купить подписку на GPT Plus - тогда вам будет доступна последняя версия модели ChatGPT-4, которая заметно лучше ChatGPT-3.5, которая доступна бесплатно.

Не забывайте про VPN, а то ваш аккаунт могут заблокировать!

  • Российские сервисы YandexGPT (доступен в Алисе в режиме “Давай придумаем”) и GigaChat
  • Открытая языковая модель OpenChat - в последнее время она становится моим фаворитом, т.к. работает без VPN и регистрации, при этом даёт очень неплохое качество ответов.
  • Google Bard - модель от Google, требуется VPN из определённых стран

Для более подробного обзора доступных вариантов - добро пожаловать в статью!

Коротко о больших разговорных языковых моделях

Большие языковые модели - это нейросетевые (как правило, трансформерные) модели, обученные на гигантских объемах текстов для задачи продолжения текстового запроса (промпта). Наиболее известная архитектура таких моделей - GPT, Generative Pre-trained Transformer. OpenAI в настоящий момент обучила модель GPT-4, но есть и ряд других моделей - ruGPT от Сбера, LLaMA от Facebook, GPT-J и др. Веса некоторых моделей (ruGPT, GPT-J) доступны для использования под теми или иными лицензиями, а некоторые модели (в частности, от OpenAI) закрыты, и доступны только в виде API.

Модели предсказания текста дополняют текстовый запрос так, чтобы получился цельный очень правдоподобный текст, похожий на то, что написал бы человек. У них нет цели отвечать на вопросы, поэтому запрос Что такое компьютер? вполне может быть продолжен другим вопросом: Зачем он нужен? Как он устроен?.

Чтобы модель стала вопрос-ответной, её надо доучить на вопрос-ответных парах. В этом случае большинство знаний о мире модель берёт из обычных текстов, а не вопрос-ответных парах лишь учится стилю ответа на вопросы. Вопрос-ответные модели - это нашумевший ChatGPT (на основе GPT-3.5/4), различные обученные сообществом модели на основе LLaMA (Alpaca и др.), или Dolly (от Databricks). Недавно появились также русскоязычные модели - Gigachat от Сбер, и Yandex GPT от Yandex.

Чтобы хорошо понять (на бытовом и философском уровне), как работают генеративные сети - рекомендую прекрасную статью Стефана Вольфрама What Is ChatGPT Doing … and Why Does It Work?

Ограничения языковых моделей

Во всех языковых моделях важное значение имеет размер контекста, т.е. максимальная длина промпта. Обычно размер контекста - 1024-4096 токенов, хотя в самой продвинутой версии GPT-4 он составляет 32К. Один токен - это как правило слово или часть слова, в среднем для GPT-3/4 для получения токенов нужно умножить количество слов на 1.5.

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

Что насчет русского?

Большинство упомянутых мною моделей (кроме ruGPT) обучены на большом корпусе английского языка, но также на значительно меньшем объеме других языков, включая русский. Из-за этого они могут (и иногда неплохо) общаться с пользователями на русском языке, но всё равно качество беседы на сравнится с английским. Кроме того, токенизатор GPT разбивает русские тексты на отдельные символы, из-за чего сильно сокращается размер контекста.

Хотя ChatGPT понимает русский “из коробки”, существует альтернативный вариант - перевести текст на английский с помощью нейросетевого переводчика, использовать ChatGPT на английском запросе, и затем перевести ответ назад на русский. Такой подход работает, однако при переводе может потеряться дополнительный смысловой контекст. На практике в каждой конкретной задаче стоит смотреть, какой подход будет работать лучше.

Работаем с ChatGPT

Наиболее известной вопрос-ответной моделью является ChatGPT, поэтому поговорим, как получить к ней доступ.

Сайт OpenAI

Наболее “правильный” способ - это зарегистрироваться на сайте OpenAI. При этом есть тонкости при работе из России - придётся использовать VPN, а также использовать временный номер телефона для регистрации через SMS. В интернете есть пошаговые инструкции по регистрации, например вот.

ChatGPT Web UI

Следует отметить, что для использования GPT-4 потребуется платный аккаунт, который можно оплатить только карточками международных систем. Но GPT-3.5 работает без этого, и работает неплохо.

Телеграм-боты

К настоящему времени создано уже множество телеграм-ботов, которые на тех или иных условиях предоставляют доступ к ChatGPT без SMS и регистрации. Основная проблема - найти среди них те, которые под капотом действительно используют оригинальный ChatGPT, и дают достаточное обильный лимит запросов. Можно посмотреть, например:

Microsoft одним из первых встроил возможности ChatGPT в свой поисковик Bing, а также в браузер Edge. Чтобы получить доступ к соответствующим возможностям - нужно использовать VPN, браузер Microsoft Edge, и залогиниться в свой Microsoft Account.

Bing Chat UI

Особенностью Bing Chat является то, что основной его фокус - поиск информации в интернет! Поэтому он работает немного по-другому: на основании запроса пользователя делает укороченный запрос в интернет, потом обрабатывает полученные результаты и выдает единый ответ, со ссылками на первоисточники. Поэтому пользоваться Bing Chat очень удобно для генерации текстов статей, или для того, чтобы разобраться в какой-то теме.

Chrome Extensions

Если вам не хочется Edge, вы можете поискать расширения ChatGPT для Chrome - их много разных есть, например Merlin ChatGPT [установить]

EasyCode - VS Code Extension

Одним из вариантов использования ChatGPT без ключа может стать расширение EasyCode для Visual Studio Code. Это расширение, как становится понятным из названия, позволяет удобно работать с кодом - просить ChatGPT объяснить, что делают некоторые функции, или сгенерировать unit-тесты, или написать код. Но с помощью расширения можно делать и запросы к ChatGPT в свободной форме.

EasyCode in VS Code

Достаточно установить расширение, зарегистрироваться с e-mail и паролем (можно использовать temp-mail), ключи OpenAI и VPN не нужны.

Приложения с ChatGPT

Некоторые продукты уже используют возможности ChatGPT, и интегрируют их в свои приложения. Вот некоторые из них:

  • Поисковик you.com позволяет не только искать в интернет на основе ИИ, но и полноценно разговаривать с ChatGPT - это называется YouChat. Выбирайте соответствующий пункт и наслаждайтесь! Правда, как видно из примера ниже, на русский запрос иногда следует ответ на английском:

You.Com Chat UI

  • Чат-бот Theb.AI визуально очень похож на исходный сайт от OpenAI, при этом работает без регистрации и VPN. В качестве базовой модели используется GPT-3.5.

  • Notion содержит Notion AI. В бесплатной версии можно сгенерировать только 20 продолжений, но есть варианты.

  • ChatSonic - это бот, основанный на ChatGPT, который при этом умеет искать информацию в интернет. Бесплатный режим даёт сгенерировать около 10000 слов в месяц.

Ещё больше аналогов Вы можете найти в статье

Используем ChatGPT через API

Если Вы продвинутый разработчик, то сможете использовать ChatGPT через программный интерфейс - для этого нужно получить ключ для API на сайте OpenAI, пройдя описанный ранее процесс регистрации.

Для изучения того, как использовать ChatGPT для разных задач, очень рекомендую посмотреть курс ChatGPT Prompt Engineering for Developers от deeplearning.ai.

Prompt Engineering for Developers

Кстати, в рамках курса дают готовые jupyter-ноутбуки и возможность поэкспериментировать с ChatGPT API с помощью временного кода. Этим кодом также можно воспользоваться, чтобы получить ненадолго доступ к ChatGPT программно.

Ещё одна прекрасная возможность - это визуальный конструктор Phygital.Plus. В этом конструкторе Вы не только сможете использовать ChatGPT саму по себе, но и комбинировать её с другими нейросетями для получения полезного конвейера обработки. Например, можно использовать ChatGPT для улучшения текстового запроса для рисования картинки, и затем сразу закинуть этот запрос в Stable Diffusion.

Ещё один вариант, близкий к API, но доступный простому пользователю - это использовать HuggingFace Spaces от yizhangliu, где вы можете также поэкспериментировать с “системной” частью запроса ChatGPT, отвечающей за его предварительную настройку до начала диалога. Кроме того, это простой способ попробовать ChatGPT без SMS и регистрации.

HuggingFace

Другие генеративные сети

Помимо ChatGPT, существует много других генеративных сетей, которые в том числе распространяются свободно, и которые можно использовать в своих проектах. Обзор таких сетей выходит за рамки данной статьи, но тем не менее я упомяну несколько возможностей, как можно сравнительно легко использовать другие генеративные модели:

  • Сбер обучает свою диалоговую модель GigaChat. Для доступа к ней необходимо залогиниться по SberID. Пока качество бесед с GigaChat оставляет желать лучшего (он слегка уступает ChatGPT на русском языке), но он быстро учится! И это при том, что размер самой модели в 10 раз меньше, чем у GPT-3.5!

  • Недавно вышла модель YandexGPT, которую можно попробовать с помощью Яндекс Алисы, сказав ей Алиса, давай придумаем. В настоящее время модель доступна с главной страницы ya.ru и из Яндекс-браузера.

  • Google выпустил модель Bard, которая сейчас доступна во многих странах,но не в России. Для использования бота понадобится VPN.

Bard

  • Модель Claude 2 от Anthropic - говорят, она прямо очень хороша! Из плюсов - она поддерживает загрузку документов, и может отвечать на вопросы по ним, из минусов - требует VPN, и не очень поддерживает русский язык (немного понимает, и даже говорит пару фраз, но что-то сложное отвечать отказывается)

  • Недавно вышла прекрасная открытая модель OpenChat, которая при небольшом размере в 7 миллиардов параметров может неплохо соперничать с ChatGPT, по крайней мере на тестовых датасетах. По моему опыту, она очень неплохо разговаривает на русском языке. Использовать модель удобно с сайте OpenChat.Team, а ещё можно попробовать её на HuggingFace

  • Модель StableLM от компании Stability.AI, создателей Stable Diffusion, также недавно обзавелась веб-интерфейсом chat.stability.ai. Что примечательно - эта модель доступна без VPN, однако потребуется аутентифицироваться через Google Account или GitHub.
  • Бот poe.com от создателей сервиса Quora позволяет вам из одного веб-интерфейса разговаривать сразу с несколькими языковыми моделями. Используйте режим Sage (это по сути тот же ChatGPT-3.5), или поговорите с Claude или DragonFly.

Также в последнее время становится модным использовать локально установленные модели на базе LLaMA, которые могут поместиться в любительские видеокарты с 8-16Gb VRAM, или даже работать на обычном CPU (правда, не очень быстро), или даже на Raspberry Pi! Но это уже тема для отдельной статьи!

Другие похожие статьи

Если у Вас что-то не получилось сделать по этой инструкции - не отчаивайтесь! Есть ещё много статей про то, как пользоваться ChatGPT - вот некоторые из них:

Заключение

Надеюсь, благодаря этой статье Вы найдете способ начать пользоваться ChatGPT или похожими моделями! Что бы Вы не делали - обязательно подумайте, как ИИ может облегчить Вам работу, или сделать её более эффективной. Нас ждёт будущее, в котором люди, усиленные возможностями ИИ, смогут решать задачи во много раз эффективнее тех, кто пока не придумал, как ИИ использовать. Будьте в числе первых!

Ну и обязательно помните, что никогда нельзя доверять нейросети

Диалоги и обсуждения