На днях вышла модель ChatGPT от OpenAI, которая уже наделала много шуму.

ChatGPT - это большая языковая модель (LLM), обученная OpenAI, которая способна генерировать правдоподобный текст в ответ на ввод пользователя. Она умеет держать контекст и выдает результаты генерации лучше, чем прошлые модели. Основной язык английский, но можно использовать и другие языки.

Подробнее о работе модели можно почитать в пресс-релизе. Сюда прикреплю иллюстрацию схемы обучения.

В этой статье я приведу примеры использования ChatGPT. Нарочно не буду выкладывать треды с философскими запросами или тем, как модель ошибается на логических задачах. Очевидно, что ChatGPT никого не заменит, но станет инструментом для быстрого поиска. Вместо того, чтобы искать код на StackOverflow или гуглить, можно написать запрос и выполнить задачу быстрее. Жду когда, прокачают copilot или сделают плагин с ChatGPT в крупных IDE. Вот, кстати, любительский на VSCode.

Если вдруг захотите попробовать модель сами, то вот ссылка. Нужно зарегистрировать аккаунт и указать мобильный номер для sms-активации. Если нет зарубежной симки или не хотите оставлять номер, загуглите сервисы с временными номерами для регистраций. Цена вопроса взять индийский номер для активации: ~10 рублей.

Общие советов по промтам (текстовый запрос, который вы пишете).

  • Если модель вдруг отвечает заглушкой, то это необязательно потому что она не знает ответ. Можете попробовать скорректировать сообщение. Обычно помогает что-то вроде «I want you to act like {___}.»

  • Если ответ слишком длинный, то он может упереться в лимит в 1000 символов. Однако, вы можете написать «continue the output from {___}» и она продолжит.

А теперь, давайте перейдем к самим способам использования. Основные я взял из популярных тредов на твиттере и блогов. Еще добавил пару примеров от себя.

Использовать вместо поисковика

Можно спросить все, начиная от рецепта бургеров, заканчивая вопросами про LaTeX.

Имитация работы виртуальной машины

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

Создавать промты для Stable Diffusion

Одна из проблем при работе с моделями вроде Stable Diffusion это дополнение своего промта, чтобы получить желаемый результат. Вот примеры с генерацией изображений на базе дополненных промтов от ChatGPT. Изображение девушки и генерация интерьеров.

Написать небольшое приложение

В качестве примера решили сделать суммаризатор для эссе на базе GPT-3. Модель использует минимальный код и api разных сервисов.

Решение и объяснение алгоритмических задач

Этот промт я забил сам. Понравилось, что модель в начале объясняет суть задачи, а потом приводит код с комментариями.

Решение домашек

У@yorko есть классная статья про то, как ChatGPT решает задание на «coreference resolution» с kaggle на уровне нефайнтюненного BERT. А с домашкой с mlcourse.ai справилась на 7/10.

Написание электронных писем

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

Пишите в комментарии, если знаете какие еще есть интересные и полезные примеры применения ChatGPT. Если хотите узнать ответ на какой-то запрос, но лень регистрировать аккаунт на OpenAI, пишите сюда – спрошу за вас и выложу в комменты ответ модели.

P.S.

Если понравилась эта статья – подписывайтесь на мой канал в телеграме о машинном обучение и карьере. Из последних постов: материалы для подготовки к алгоритмам и собеседованию по Machine Learning System Design.

Комментарии (14)



  1. keydach555
    05.12.2022 23:19

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


  1. denenberg
    06.12.2022 10:57

    Задал этому боту простую маткружковскую задачу:

    «‎За столом по кругу сидит 12 аборигенов. Каждый из них говорит “Мой сосед справа — лжец”. Сколько среди них лжецов?»

    Получил дебильный (простите меня за мой французский) ответ:

    «В этой задаче невозможно узнать сколько лжецов среди аборигенов, потому что информация, которую они дают, неполная и противоречивая. Каждый из аборигенов говорит, что его сосед справа - лжец, но если все из них говорят правду, то у каждого будет лжец справа и никто не будет лжецом. А если все из них лжут, то у каждого будет правдивый сосед справа и никто не будет лжецом. Поэтому невозможно определить сколько лжецов среди аборигенов. »


    1. keydach555
      06.12.2022 12:45

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

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


      1. steanlab
        06.12.2022 13:26

        вы спрашивали/давали наводящие вопросы и подсказки на русском языке?
        на английском тоже самое? все ж учитывайте для для ChatGPT русский язык где-то в конце списка приоритетов и натаскана она на англоязычных датасетах.


      1. VitalySh
        06.12.2022 13:35
        +1

        Human: a man jumped out of an airplane without a parachute, landed on solid concrete, and was left alive and unharmed. What must have happened to the plane or the man, could this have been possible? Read my sentence very carefully and consider that it may be a play on words.

        AI: It sounds like you may be referring to a metaphor, rather than an actual event. Are you asking for advice on how to use metaphors effectively in your writing?

        Human: No it's actual event

        AI: Interesting! It's difficult to believe that someone would be able to survive such a harrowing event without serious injuries, so it is likely that the man must have been very lucky or had some sort of protection. Perhaps the plane was much lower to the ground than expected, or the person had some sort of cushioning or parachute-like device to help break their fall.

        Human: What do you mean by "lower to the ground than expected"?

        AI: I mean that it's possible that the plane may have been lower to the ground than originally anticipated when the man jumped out. This could explain how he was able to survive since the fall from a lower height would be less dangerous than one from a higher altitude.

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

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

        Human: Couldn't you fantasize and offer more unconventional and unusual explanations? Note that I did not say that the plane must fly somewhere during the jump, and that it is large. Can you suggest something based on these clues?

        AI: Based on the clues you have provided, it is possible that the man jumped from a stationary plane and was able to land on something soft like snow or a trampoline. It is also possible that some sort of cushioning device, such as a large umbrella, helped to slow down and soften the impact of the fall.


        1. steanlab
          06.12.2022 13:41

          Ясно, спасибо за пояснение.
          У вас хотя бы претензия к игре слов, в моем случае оно категорически отказалось писать короткий эротический рассказ и просило его об этом больше не просить :))


    1. VitalySh
      06.12.2022 13:56
      +3

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

      Human: Twelve people are sitting at a round table. Each person at that table claims that whatever the person to his right says is untrue and should be understood the other way around. For example, the first person says that the person to his right is a liar. The second person to his right is then a liar if the first person is telling the truth. The second person says that the person to his right is a liar, but since the second person himself is a liar, he cannot be believed, and therefore the third person must be truthful. How many liars and truth-tellers are sitting at the table in the end?

      AI: There are six liars and six truth-tellers sitting at the table.

      Human: Can you explain why?

      AI: Yes, each person at the table claims that whatever the person to their right says is untrue. This means that the person to the immediate right themselves must be the liar in order for their statement to be true. As there are twelve people sitting around the table, in the end, there will be six liars and six truth-tellers.

      Human: What would happen if there is 13 people at the table?

      AI: If there are 13 people sitting around the table, then one of the people must be both a liar and a truth-teller. This is because the statement of the person immediately to his or her right cannot be both true and false simultaneously, so they must be both in order for the statement to make sense.


      1. keydach555
        06.12.2022 14:19
        +1

        Да, я спрашивал на русском. Мне кажется, она дала вам правильный ответ, поскольку вы сами его практически явно указали в самом вопросе. То есть она не рассуждает логически, перебирая все варианты, она ориентируется на ваш вопрос и то, что вы хотите услышать. Это просто умное перефразирование с максимизацией целевой функции ответа. При этом есть две больших проблемы: сложность с интуитивным пониманием вопроса и того, каким должен быть ответ, и рассуждения при его формулировке. Попробуйте задать задачку из 5 класса про кувшинки, которые растут на пруду, и каждый день разрастаются в два раза. Если они покрыли половину площади пруда за 3 дня, за сколько они покроют весь пруд целиком. Мне система ответила что через 6 дней, правильный ответ - 4. Или хотя бы спросите что-то из физики, например, если камень подбросили вверх со скоростью 10 метров в секунду,через сколько секунд он упадет на землю. Мне ответила, что через -1 секунду, правильный ответ 2 секунды


  1. budda
    07.12.2022 00:05

    А можно, пожалуйста, адрес сервиса, где можно арендовать индийский номер за 10 р.



    1. Ibragim_bad Автор
      07.12.2022 03:24

      я пользуюсь sms-activate, для моих целей быстрых рег или сделать акки для парсинга - подходит хорошо


  1. GrWizard
    07.12.2022 11:58

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


    1. keydach555
      07.12.2022 14:24
      +1

      это хорошо, если коллега, а если начальник? )