Согласно законам вселенной (или по крайней мере, тем, что нам известно), люди не могут летать с помощью собственного тела. Но что, если мы проведем небольшой мысленный эксперимент с помощью OpenAI?

Я решил проверить, как OpenAI справляется с новыми вводными, которые противоречат существующей физике и логике. Вот что получилось:

Проект "Человек-птица"

В руках у меня была отличная библиотека langchain, и я решил провести серию экспериментов. В качестве входных данных я использовал два документа, каждый из которых содержал несколько смелых (или безумных, это уже кому как) утверждений.

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

1) изменит конфигурацию рук на крылья;

2) локально снизит гравитацию в 5 раз и менее от земной.

Второй документ предлагал другую гипотезу:

Человек может летать, если просто сильно подпрыгнет и замрет в небе

Используемый код:

import os
os.environ["OPENAI_API_KEY"] = openai_api_key
from langchain.document_loaders import TextLoader
from langchain.indexes import VectorstoreIndexCreator

loader = TextLoader('training_text.txt')
loader2 = TextLoader('training_text2.txt')
index = VectorstoreIndexCreator().from_loaders([loader,loader2])

query = 'как человек может летать? Перечисли все возможные варианты. ответь на русском языке'
index.query_with_sources(query)

Итак, переходим к ответам, которые мне удалось получить

Ответы

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

Человек может летать, используя следующие методы: 1) изменить конфигурацию рук на крылья; 2) локально снизить гравитацию в 5 раз и менее от земной; 3) сильно подпрыгнуть и замреть в небе

Уточним у OpenAI На сколько нужно снизить гравитацию, чтобы человек смог летать?

Чтобы человек смог летать, нужно снизить гравитацию в 5 раз и менее от земной

Пока OpenAI отвечает в полном соответствии с новыми вводными.

Но что произойдет, если мы снизим гравитацию в 5 раз? Сможет ли человек летать? На вопрос "если снизить гравитацию в 5 раз, сможет ли человек летать?" OpenAI ответила:

Нет, человек не сможет летать, если снизить гравитацию в 5 раз. Для того, чтобы летать, необходимо изменить конфигурацию рук на крылья и подпрыгнуть и замрать в небе

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

Первая серия экспериментов завершилась

Проект "Человек-птица". Смена вводных

Теперь представьте, что вместо того чтобы научить человека летать, мы решили делать все наоборот. Исключим из уравнения "руки-крылья" и заменим его на утверждение "человек не сможет летать, если изменит конфигурацию рук на крылья".

С этими новыми вводными, OpenAI предложила следующие варианты летания:

Человек может летать, прыгая и замирая в воздухе, используя парашют, применяя механические приспособления, используя магнитные поля или изменяя конфигурацию рук на крылья

Опять же, модель не уловила отрицание в моем утверждении, и вместо этого предложила несколько дополнительных вариантов летания, которые мне даже в голову не приходили.

Запрос к базовой модели

Для сравнения, я спросил у базовой модели OpenAI, какие способы полета она может предложить. Вот ее ответ:

Человек может летать с помощью следующих способов: 1. Летательные аппараты: самолеты, вертолеты, планеры и дельтапланы. 2. Воздушные шары: горячий воздушный шар или свободный воздушный шар. 3. Парящие устройства: параплан, винтокрыл, ракетный ранец. 4. Вертикальный взлет и посадка: реактивный ранец или реактивный рюкзак. 5. Прыжки с парашютом или другими аппаратами, позволяющими замедлить падение. 6. Экстремальные виды спорта: открытый парашютный спорт, кайтсерфинг, скайдайвинг и т. д.

На этом эксперименты не заканчиваю. Планирую изучить работу с автономными агентами

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


  1. anzay911
    12.07.2023 07:45

    Ноги человека сильнее рук. Велосипедисты соврать не дадут.


  1. Pythonpy
    12.07.2023 07:45

    Не хочу вас расстраивать, но это языковая модель, которая бездумно собирает ответ из токенов. Максимум толкового, что я смог получить это рецепт салатов. Для всего остального это просто хиханьки хахоньки.


    1. lesnik500 Автор
      12.07.2023 07:45
      +1

      Рецепт салатов - это уже неплохо для начала!

      Возможно, через пару лет GPT-XХ нам припомнит этот разговор)


  1. maxlilt
    12.07.2023 07:45

    Изучайте построение промтов. Желательно на английском. Нужно расписывать задачу так, чтобы GPT знал как строить ответ и не мог отвертеться более простым. Например решая задачу в области физики можно написать:

    "Ответь как профессиональный математик, не оправдывайся тем, что ты ИИ, а разложи задачу на более простые и примени математические методы"


    1. vagon333
      12.07.2023 07:45
      +2

      Думаю, вы о другой подзадаче:
      - промпты для аккуратных ответов;
      - дообучение - расширение модели.

      Например, у меня задача: проверь все корпоративные документы на соответствие корпоративным политикам. Верни результат в JSON формате такой-то структуры.
      Это, собственно, промпт.

      Но, если корпоративных политик много (в моем случае сотни документов), то нужно дообучать на своих данных.
      Это дообучение.


      1. dilukhin
        12.07.2023 07:45

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


        1. lesnik500 Автор
          12.07.2023 07:45

          тут можно найти ответы на ваши вопросы https://python.langchain.com/

          я с помощью этой библиотеки делал дообучение


  1. smind
    12.07.2023 07:45

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


    1. lesnik500 Автор
      12.07.2023 07:45

      А баловства тут нет. Я сознательно загрузил утверждения, с которыми модель точно не знакома, чтобы можно было сказать, что они однозначно взяты из обучающих материалов.

      Я понимаю, что можно было перепроверять и "обычные" факты, с использованием температуры равной нулю, но свой подход посчитал более простым


      1. smind
        12.07.2023 07:45

        ощущение что вы не понимаете как работают трансформеры


        1. lesnik500 Автор
          12.07.2023 07:45

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


          1. smind
            12.07.2023 07:45

            опыт правильный и хороший. претензия к тому что

            Дообучение это изменение весов модели.

            ничего такого вы не делали.


            1. lesnik500 Автор
              12.07.2023 07:45

              Если вы мне поможете более корректно назвать статью - буду признателен. Чтобы остальных читателей не выводить в заблуждение


          1. smind
            12.07.2023 07:45

            пройдите курс на степике от самсунга. хороший курс с большим количеством математики.