Самые наблюдательные из нас, возможно, заметили в этом году некоторый рост интереса к ChatGPT.
ChatGPT - это LLM (Large Language Model). Она такая не одна, сейчас почти каждая большая корпорация делает свои альтернативы (даже Сбер, лол).
Мы тут с пацанами играли в стартап (не полетело), и я потратил пару недель чтобы погрузиться в тематику. Рассказываю в чём "фишка" LLM, а так же как их уже используют или планируют использовать хитрые разработчики.
Кстати, если сидите под камнем, то гляньте чо вастрик уже рассказывал:
Китайская комната и сильный ИИ
В винтажном 1980 году какой-то Джон Сёрл решил набросить на обсуждения искусственного интеллекта, и придумал "Китайскую комнату" - мысленный эксперимент, где в комнате сидит не знающий китайского человек, которому в одно окошко подаётся китайский текст, а в другое он должен отдать бумажку с ответом в виде иероглифа.
Главный посыл - что если машина с виду умеет осмысленно разговаривать, то это не значит что у неё есть интеллект в том виде в котором мы ожидаем. Она могла просто научиться имитировать то как мы разговариваем и бездумно повторять.
Так вот, то что в 1980 году было знатным набросом, в 2010-х кто-то случайно принял за инструкцию. Так на свет появилась GPT-архитектура, где ты учишь бездушную машину угадывать следующий токен.
Как это всё работает
Все популярные сейчас LLM работают по одной и той же схеме:
- На вход в модель подается текст
- Текст преобразуется в токены*
- LLM смотрит на токены и угадывает какой должен идти следующим**
- Токены преобразуются обратно в слова
*
У каждой модели есть свой "словарь" токенов - пронумерованный список разных слогов (целых слов, знаков препинания, чисел). Токенизация - это когда человеко-читаемый текст по этому словарю переводят в последовательность "номеров" из словаря.
**
Чтобы получить от LLM не одно слово а нормальный ответ, третий шаг повторяется пока моделька не решит что она всё сказала.
Главный твист: этого достаточно
Оказалось, что не так уж и важно действительно ли это сильный ИИ или хитрый робот просто притворяется.
Все, кто успел потыкать ChatGPT видят, что машина-то способна рассуждать и приходить к новым мыслям, давать советы и принимать решения. Машина научилась думать.
На самом деле процесс по которому работают LLM оказался очень похож на то как у людей формируются мысли - слово за словом, по очереди.
Генератор внутреннего монолога
Сейчас вы мне скажете "Да не, ты чо, она валится на простых вопросах вроде базовой математики, куда уж там до того чтобы она думала".
А проведите мысленный эксперимент: ну-ка, назовите с ходу и не думая, сколько будет 13x47? Начали думать в духе "ну 10x47 это 470, а 3x47 это 141"?
Так вот, оказывается модели выдают гораздо лучший результат, если сначала просить их немного подумать. Например, даже в официальной документации ChatGPT ребяты рекомендуют для сложных задач сначала давать модели порассуждать.
Если интересно, можете заодно заценить вот это видео - там энтузиаст погонял GPT4 по тестам на логику, дав сначала подумать, и поднял процент решённых задач с ~75% до 89% (что уже уровень около человека).
Покоряемые рубежи
Так вот, все задачи которые раньше не автоматизировались, потому-что в какой-то момент кому-то надо подумать, - теперь под угрозой.
Вопросы к всезнайке
Ну тут вы и сами всё видели - к ChatGPT можно придти почти с любым вопросом, и он с ходу про него знает что-нибудь полезное.
Работа с текстом
Помните наши любимые со школы задания по русскому языку, вроде пересказа текста? Так вот, это идеальный тип задач для моделек: прочитай текст и сделай с ним что-то.
Примеры:
- Напиши краткий пересказ текста
- Напиши теги для текста
- Ответь на вопрос, прочитав текст
- Перепиши текст, добавив туда немного шуток про пиратов
- Соответствует ли этот комментарий правилам клуба?
То есть тот же ChatGPT можно отлично использовать как личного секретаря или редактора - он вам в теории и дайджесты новостей писать может, и подсвечивать то что лично вам интересно, и официальное письмо написать.
Использование инструментов
Но одной обработкой текста сыт не будешь, поэтому в какой-то момент яйцеголовые догадались что можно дать модели доступ к внешним инструментам и кратко объяснить для каких задач эти инструменты стоит использовать.
Например, вместо того чтобы считать в уме сколько будет "13x47" можно же просто взять калькулятор и спросить у него. Вместо того чтобы выдумывать сегодняшние новости можно сходить на сайт новостей и прочитать их. Вместо того чтобы мечтать выключить свет можно сходить к умной лампочке и сказать ей выключиться. Ну вы поняли.
Где-то тут же рядом находится "память агентов" - например можно в качестве одного из инструментов дать модели "блокнот", чтобы она могла записывать туда вещи которые надо сделать.
В общем тут уже идут серьёзные применения, где языковая модель это по факту текстовый интерфейс к любой программе. Гипотетические примеры:
- Умный дом, который можно попросить делать вечером прохладнее и он запомнит
- Карманный прумптер, которого можно попросить сгенерировать картинку и он сам сходит в нужные модели и выдумает промт который даст хороший результат
- Полноценный личный секретарь, который и о встречах напомнит и на стрижку запишет
Использование в пайплайне обычных приложений
Это как использование инструментов, только наоборот.
Если ты просишь модель прочитать текст и ответить "да/нет", а она тебе отвечает "знаешь чувак я всего лишь ИИ ассистент и...", то от этого не очень много пользы.
Так вот, яйцеголовые придумали всякие способы контролировать и ограничивать вывод моделей таким образом, чтобы получались всегда нужные им результаты. Например, фиксировать какие-то варианты ответов или даже типы данных (например, заставлять модель выплюнуть число там где спрашиваем рейтинг фильма). Примеры таких штук - LMQL, Guidance.
Также, как грибы после дождя, повылазили десятки разных фреймворков, позволяющих быстрее собирать приложения с использованием LLM и катить их скорее в прод. Примеры: LangChain, HayStack.
Всё это месиво из кода написанного студентами и учёными довольно сырое и плохо похоже на код здорового человека, но оно уже сейчас позволяет довольно легко строить приложения в которых модельки решают какие-то конкретные задачи.
Гипотетические примеры:
- Робо-модератор, который читает все комменты и всегда помнит все правила сообщества
- Персональный сборщик новостей, который будет читать указанные тобой источники и писать тебе дайджест с самый важным
- Авто-менеджер, который сидит во всех рабочих чатах и помогает коннектить людей которым нужно что-то обсудить
Автономные агенты
Отдельная группа культистов решила не ждать дальнейшего развития технологий, и собрать свой личный сильный ИИ из того что уже есть под рукой.
Это такие ребята как AutoGPT и BabyAGI, JARVIS (да, как в железном человеке) и в целом они все работают плюс-минус одинаково:
- Принимаем на вход задачу текстом
- Разбиваем на более простые задачи, задаём уточняющие вопросы
- Начинаем делать простые задачи, используя внешние инструменты и какой-нибудь подход чтобы лучше думалось (chain-of-thought, tree-of-thought, etc)
- Крутимся до посинения или пока задача не будет решена
Это всё богатство пока ещё не супер-хорошо работает (как если ты Сашку из "5Б" класса попросишь что-то сложное сделать), но планы тут по настоящему грандиозные. Люди активно целятся в то, чтобы нормально работали промпты в духе "Найди самый простой легальный способ зарабатывать 1000$ в день"
Сейчас сложно сказать насколько такой подход заработает, но ребята из этих сообществ дышат энтузиазмом и хорошо проводят время. Как говорится, настоящий сильный ИИ - это друзья которых мы нашли по дороге.
Я сейчас учу язык и использую GPT как личного тьютора по всем вопросам. Можно спрашивать любые языковые вопросы, играть в словарные игры, просить объяснять значения слов, фраз,просить генерить анки-карточки с примерами, и так далее. Столько, на сколько тебя самого с этим хватит. В приложении работает еще и войс ввод, с распознаванием любых языков и миксом языков во фразе.
Работает все это невероятно круто и очень помогает.
А не придумали еще такой приложухи?
«Где-то тут же рядом находится "память агентов" - например можно в качестве одного из инструментов дать модели "блокнот", чтобы она могла записывать туда вещи которые надо сделать.»
А то никак не могу себя заставить вести список задач где-нибудь в Todoist, тк их же надо не только записывать но и структурировать.
А было бы круто иметь на входе только Inbox задач, которые AI сама уже раскидывает по приоритетам, видам и срокам. Если не хватает ей каких-то данных спрашивает тебя.
Классно было бы в итоге утром получать на почту todo лист сгенерированный AI.
Активно использую чат-гпт с первых дней релиза, и за это время прошёл несколько волн энтузиазма и разочарований.
Мне кажется, что главная проблема технологий на основе БЯМ - UX. Всё бросились пилить сырые стартапы (я сам не исключение), которые интересны как идея, но пользоваться ими тяжело. Особенно это относится к платформам вокруг агентов, много шума, но мало реальной пользы.
С самим ChatGPT тоже есть проблемы, в последних релизах работать с кодом стало невозможно. Ленивый стал, гад)
😱 Комментарий удален его автором...
😱 Комментарий удален его автором...
😱 Комментарий удален его автором...