Что народ делает на базе ChatGPT

 Публичный пост
7 сентября 2023  893

Самые наблюдательные из нас, возможно, заметили в этом году некоторый рост интереса к ChatGPT.

ChatGPT - это LLM (Large Language Model). Она такая не одна, сейчас почти каждая большая корпорация делает свои альтернативы (даже Сбер, лол).

Мы тут с пацанами играли в стартап (не полетело), и я потратил пару недель чтобы погрузиться в тематику. Рассказываю в чём "фишка" LLM, а так же как их уже используют или планируют использовать хитрые разработчики.

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

Китайская комната и сильный ИИ

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

Главный посыл - что если машина с виду умеет осмысленно разговаривать, то это не значит что у неё есть интеллект в том виде в котором мы ожидаем. Она могла просто научиться имитировать то как мы разговариваем и бездумно повторять.

Так вот, то что в 1980 году было знатным набросом, в 2010-х кто-то случайно принял за инструкцию. Так на свет появилась GPT-архитектура, где ты учишь бездушную машину угадывать следующий токен.

(Архивное фото: секретная архитектура ChatGPT)
(Архивное фото: секретная архитектура ChatGPT)

Как это всё работает

Все популярные сейчас LLM работают по одной и той же схеме:

  1. На вход в модель подается текст
  2. Текст преобразуется в токены*
  3. LLM смотрит на токены и угадывает какой должен идти следующим**
  4. Токены преобразуются обратно в слова

* У каждой модели есть свой "словарь" токенов - пронумерованный список разных слогов (целых слов, знаков препинания, чисел). Токенизация - это когда человеко-читаемый текст по этому словарю переводят в последовательность "номеров" из словаря.

** Чтобы получить от LLM не одно слово а нормальный ответ, третий шаг повторяется пока моделька не решит что она всё сказала.

Главный твист: этого достаточно

(Вот тебе и превосходство кожаных мешков)
(Вот тебе и превосходство кожаных мешков)

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

Все, кто успел потыкать ChatGPT видят, что машина-то способна рассуждать и приходить к новым мыслям, давать советы и принимать решения. Машина научилась думать.

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

Генератор внутреннего монолога

Сейчас вы мне скажете "Да не, ты чо, она валится на простых вопросах вроде базовой математики, куда уж там до того чтобы она думала".

А проведите мысленный эксперимент: ну-ка, назовите с ходу и не думая, сколько будет 13x47? Начали думать в духе "ну 10x47 это 470, а 3x47 это 141"?

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

Если интересно, можете заодно заценить вот это видео - там энтузиаст погонял GPT4 по тестам на логику, дав сначала подумать, и поднял процент решённых задач с ~75% до 89% (что уже уровень около человека).

Покоряемые рубежи

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

Вопросы к всезнайке

Ну тут вы и сами всё видели - к ChatGPT можно придти почти с любым вопросом, и он с ходу про него знает что-нибудь полезное.

Работа с текстом

(Хлеб и масло любого LLM - базовые задачи по обработке текста)
(Хлеб и масло любого LLM - базовые задачи по обработке текста)

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

Примеры:

  • Напиши краткий пересказ текста
  • Напиши теги для текста
  • Ответь на вопрос, прочитав текст
  • Перепиши текст, добавив туда немного шуток про пиратов
  • Соответствует ли этот комментарий правилам клуба?

То есть тот же ChatGPT можно отлично использовать как личного секретаря или редактора - он вам в теории и дайджесты новостей писать может, и подсвечивать то что лично вам интересно, и официальное письмо написать.

Использование инструментов

(ChatGPT после апдейта в котором добавили Function calling)
(ChatGPT после апдейта в котором добавили Function calling)

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

Например, вместо того чтобы считать в уме сколько будет "13x47" можно же просто взять калькулятор и спросить у него. Вместо того чтобы выдумывать сегодняшние новости можно сходить на сайт новостей и прочитать их. Вместо того чтобы мечтать выключить свет можно сходить к умной лампочке и сказать ей выключиться. Ну вы поняли.

Где-то тут же рядом находится "память агентов" - например можно в качестве одного из инструментов дать модели "блокнот", чтобы она могла записывать туда вещи которые надо сделать.

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

  • Умный дом, который можно попросить делать вечером прохладнее и он запомнит
  • Карманный прумптер, которого можно попросить сгенерировать картинку и он сам сходит в нужные модели и выдумает промт который даст хороший результат
  • Полноценный личный секретарь, который и о встречах напомнит и на стрижку запишет

Использование в пайплайне обычных приложений

(Заставляем модель делать то что нам нужно)
(Заставляем модель делать то что нам нужно)

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

Если ты просишь модель прочитать текст и ответить "да/нет", а она тебе отвечает "знаешь чувак я всего лишь ИИ ассистент и...", то от этого не очень много пользы.

Так вот, яйцеголовые придумали всякие способы контролировать и ограничивать вывод моделей таким образом, чтобы получались всегда нужные им результаты. Например, фиксировать какие-то варианты ответов или даже типы данных (например, заставлять модель выплюнуть число там где спрашиваем рейтинг фильма). Примеры таких штук - LMQL, Guidance.

Также, как грибы после дождя, повылазили десятки разных фреймворков, позволяющих быстрее собирать приложения с использованием LLM и катить их скорее в прод. Примеры: LangChain, HayStack.

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

Гипотетические примеры:

  • Робо-модератор, который читает все комменты и всегда помнит все правила сообщества
  • Персональный сборщик новостей, который будет читать указанные тобой источники и писать тебе дайджест с самый важным
  • Авто-менеджер, который сидит во всех рабочих чатах и помогает коннектить людей которым нужно что-то обсудить

Автономные агенты

(Кибер-сашка, найди лёгкий способ заработка!)
(Кибер-сашка, найди лёгкий способ заработка!)

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

Это такие ребята как AutoGPT и BabyAGI, JARVIS (да, как в железном человеке) и в целом они все работают плюс-минус одинаково:

  1. Принимаем на вход задачу текстом
  2. Разбиваем на более простые задачи, задаём уточняющие вопросы
  3. Начинаем делать простые задачи, используя внешние инструменты и какой-нибудь подход чтобы лучше думалось (chain-of-thought, tree-of-thought, etc)
  4. Крутимся до посинения или пока задача не будет решена

Это всё богатство пока ещё не супер-хорошо работает (как если ты Сашку из "5Б" класса попросишь что-то сложное сделать), но планы тут по настоящему грандиозные. Люди активно целятся в то, чтобы нормально работали промпты в духе "Найди самый простой легальный способ зарабатывать 1000$ в день"

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

7 комментариев 👇

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

Работает все это невероятно круто и очень помогает.

  Развернуть 1 комментарий

А не придумали еще такой приложухи?

«Где-то тут же рядом находится "память агентов" - например можно в качестве одного из инструментов дать модели "блокнот", чтобы она могла записывать туда вещи которые надо сделать.»

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

А было бы круто иметь на входе только Inbox задач, которые AI сама уже раскидывает по приоритетам, видам и срокам. Если не хватает ей каких-то данных спрашивает тебя.

Классно было бы в итоге утром получать на почту todo лист сгенерированный AI.

  Развернуть 1 комментарий

@ganha, по ощущению - все примеры которые я привёл либо кто-то уже запилил, либо активно пилят 5-10 разных стартапов.

Про personal assistant кажется особенно много вещей, потому-что близко к "легко достижимому" и все смотрели железного человека и хотят так же.

Гугл подкидывает Trevor AI, Taskade. В Todoist завезли через интеграции (раз, два)

Сам не пробовал, но вангую что уже к концу этого года для этих задач будут хорошие тулзы.

  Развернуть 1 комментарий
Anton Timofeev Тимлид команды бэк-энда 8 сентября 2023

Активно использую чат-гпт с первых дней релиза, и за это время прошёл несколько волн энтузиазма и разочарований.
Мне кажется, что главная проблема технологий на основе БЯМ - UX. Всё бросились пилить сырые стартапы (я сам не исключение), которые интересны как идея, но пользоваться ими тяжело. Особенно это относится к платформам вокруг агентов, много шума, но мало реальной пользы.
С самим ChatGPT тоже есть проблемы, в последних релизах работать с кодом стало невозможно. Ленивый стал, гад)

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

  Развернуть 1 комментарий

@festinuz, извини, тестил Markdown, не вдупляю как картинку вставить в коммент. Как ты это делаешь, демон?)

  Развернуть 1 комментарий

Либо вот так: ![](ссылка_на_картинку)

Либо просто скопируй картинку в буфер обмена и вставь в текст через Ctrl+V, тогда она загрузится в клуб, а в тексте появится такая же ссылка как в примере выше

P.S. Можно тестировать markdown создав черновик поста - при сохранении черновика он отобразится в том виде в котором его все видят

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб