Тысячи учёных, программистов и просто энтузиастов по всему миру сейчас со всех сторон стараются подойти к главному изобретению в истории человечества, если оно будет сделано — это сильный ИИ (AGI, artificial general intelligence).
Один из подходов к созданию AGI — самообучение так называемых агентов, то есть автономных систем, способных найти решение для произвольных задач и улучшать его до бесконечности. Результаты первых экспериментов интересные.
Среди ранних экспериментов с агентами можно упомянуть Auto-GPT, BabyAGI, SuperAGI и проч. Судя по всему, текущее поколение агентов родилось из научной статьи Йохея Накадзимы (Yohei Nakajima) от 28 марта 2023 года.
Иллюстрация из оригинальной статьи со схемой работы агента
В минимальном варианте агент с самообучением — это скрипт для языковой модели (LLM), который выполняет поставленную задачу, затем автоматически составляет план по улучшению результата — и выполняет его по пунктам. Затем цикл рекурсивно повторяется. Например, один из первых агентов называется Auto-GPT. В левой части экрана мы видим промт, который составляется по автоматически генерируемому плану, в правой части — результат работы LLM, то есть программный код, который генерируется в первоначальном виде, а потом улучшается.
Конечно, всё это ранние версии, которые разработчики предпочитают нумеровать примерно как 0.01, то есть до реальных систем ещё далеко.
▍ Первые агенты
Auto-GPT, BabyAGI и тому подобные программы работают по одному рекурсивному принципу: после получения задачи создаётся список подзадач, которые по результатам выполнения обновляются. После публикации исходного кода два месяца назад система Auto-GPT сразу вошла в число самых популярных репозиториев на Github. Спустя два месяца у неё 139 тыс. звёзд и более 29,1 тыс. форков.
Принцип работы BabyAGI показан на КДПВ. Технически, это простой скрипт на Python, который выполняет определённую последовательность действий (промтов) внутри LLM. Если можно так выразиться, это «система управления задачами» (task management system, TMS) для LLM.
По умолчанию используется модель gpt-3.5-turbo
. В противном случае следует изменить параметр LLM_MODEL
или запускать промт напрямую. Для интеграции с Llama нужен пакет llama-cpp
и веса модели, после чего указать путь к конкретной модели в LLAMA_MODEL_PATH
— и можно запускать скрипт с параметром LLM_MODEL=llama
или -l
.
Для работы execution_agent()
и других функций скрипта требуется доступ к OpenAI API.
Доступ к API предоставляется бесплатно всем зарегистрированным пользователям OpenAI, нужно просто сгенерировать новый ключ в разделе API keys.
Функция execution_agent()
принимает два параметра: цель и задача. Затем отправляет запрос в API, который возвращает результат выполнения задачи. Промт состоит из описания задачи, цели и самой задачи. Результат возвращается в виде строки.
Функция task_creation_agent()
вызывает API для создания новой задачи на основе цели и результата предыдущей задачи. Функция принимает четыре параметра: цель, результат предыдущей задачи, описание задачи и текущий список задач. Затем отправляет промт в API OpenAI, который возвращает список новых задач в виде строк. Функция возвращает новые задачи в виде списка «словарей» (dictionaries), где каждый словарь содержит название задачи.
Функция prioritization_agent()
изменяет приоритеты задач в списке. Функция принимает один параметр — идентификатор текущей задачи. Она отправляет запрос в API OpenAI, который возвращает список задач с изменёнными приоритетами в виде нумерованного списка.
OpenAI API
Для хранения и получения результатов задач (контекст) в BabyAGI используются векторные базы данных Chroma/Weaviate. Коллекция Chroma/Weaviate создаётся на основе имени таблицы, указанной в переменной TABLE_NAME
. Результаты задач сохраняются с именем и любыми дополнительными метаданными.
Примечание. Существует возможность запустить BabyAGI в онлайновой IDE типа ReplIt, для этого в код требуется внести некоторые изменения. Но в целом он нормально работает и тоже рекурсивно улучшает написанный код, как Auto-GPT из примера выше.
Важно понимать, что скрипт рассчитан на непрерывную работу. Это может привести к высокой нагрузке на локальное оборудование или исчерпанию квоты на облачных сервисах/хостинге.
▍ ToddlerAGI, SuperAGI и проч.
ToddlerAGI — один из многочисленных клонов BabyAGI c новыми идеями:
Как видим на схеме, автор предлагает реализовать следующие концепции:
- Многочисленные инстансы ToddlerAGI работают с единой БД
- Каждый инстанс выбирает случайные проблемы из базы и обучается с подкреплением, то есть с обратной связью от человека.
За счёт большого пула проблем и параллельной работы неограниченного количества инстансов ToddlerAGI улучшаются возможности по самообучению системы для решения универсальных задач, таких как проблема глобального потепления (оно приведено в качестве примера на иллюстрации).
Ключевым элементом в разработке всех агентов является способность к самообучению. Если агент действительно автономный и научится самообучаться до бесконечности, то мы получим шанс на зарождение AGI. В апреле 2023 года была опубликована любопытная научная работа «Генеративные агенты: Интерактивные симулякры человеческого поведения», в которой 25 программных агентов заселяют песочницу в стиле игры The Sims. Пользователи могут наблюдать и вмешиваться в работу агентов, которые планируют свой день, обмениваются новостями, формируют отношения и координируют групповую деятельность:
И кто скажет, что живые люди сильно отличаются от этих агентов, если посмотреть на модели поведения и активные подпрограммы/рутины?
Недавно была создана программная реализация генеративных агентов, описанных в статье.
Уже появляются первые SaaS-платформы типа SuperAGI для написания и запуска собственных рекуррентных агентов. Тут и многочисленные векторные СУБД на выбор, и удобный GUI для разработки (доступ к веб-приложению по инвайтам должен открыться в ближайшее время).
Фреймворк SuperAGI, слева вверху кнопка для создания агента
Кроме создания агентов, появились фреймворки типа LangChain.js и Flowise, специально разработанные для интеграции LLM с другими источниками информации или вычислительными системами.
▍ Самовоспроизводящиеся машины
В первом приближении агенты ИИ напоминают самовоспроизводящиеся машины (СМ, машины фон Неймана) — тип автономных роботов, которые способны к самовоспроизводству с использованием материалов из окружающей среды, словно живые организмы. Концепция СМ была предложена и подробно описана в книгах Дрекслера и Мински «Машины создания: Грядущая эра нанотехнологий» (1986), а также Робертом Фрэйтосом и Ральфом Мерклом в книге «Кинематика самовоспроизводящихся машин» (2004).
Если самовоспроизводящиеся машины работают в нанометровых масштабах, то такой организм могут называть серая слизь, хотя сам термин связан с апокалиптическим сценарием развития человечества, который мы не рассматриваем.
Конечно, эксперименты 2023 года с агентами ИИ не предполагают создание СМ, а только обучение программного агента до определённой степени. Но теоретически возможно и даже логично, что программный агент будет способен копировать себя полностью или частично между компьютерами для более эффективных параллельных вычислений, как в модели ToddlerAGI.
▍ Сознание только мешает?
Сейчас энтузиасты на хакатонах экспериментируют не только с программными агентами, но и с физическими. Например, на видео показан процесс самообучения работа-собаки за один час:
Как говорится, дети быстро растут… Это наглядная демонстрация, как работает самообучение агентов в реальном мире.
Вопрос в том, приведёт ли «бесконечное самообучение» к появлению самосознания? И породит ли самосознание свойственный человеку эгоцентризм, когда каждая человеческая особь считает себя самой важной, из-за чего сильно искажает объективную реальность в своём восприятии.
Возможно ли создание сильного ИИ с самосознанием без эгоцентризма, с нормальным социальным мышлением, которое принимает в расчёт объективное благо для всего общества? Даже если такое возможно, некоторые учёные всё равно считают это опасной идеей.
Пока никто не знает истинных характеристик будущего AGI. Возможно, для полноценной работы он не нуждается в самосознании. Как в романе Питера Уоттса «Ложная слепота» у представителей высокоразвитой цивилизации вовсе отсутствует центральный мозг и сознание. Почему бы и нет.
▍ Сколько до сингулярности
По статистике Metaculus, год назад средневзвешенный прогноз пользователей по сроку появления сильного ИИ приходился на 2043 год. В апреле 2022 года произошёл резкий сдвиг до 2028-го года. Потом срок ещё приблизился. На данный момент техносообщество сдвинуло наиболее вероятный срок ввода в эксплуатацию AGI в июне 2026 года (среднее медианное).
В последнее время появились библиотеки типа GGML, позволяющие запускать современные модели LLM на персональных компьютерах с обычной конфигурацией. Наверняка это увеличит скорость научно-технического прогресса в данной области.
Четыре инстанса LLaMA 13B + Whisper Small на одном M1 Pro
По прогнозу футурологов, ввод в эксплуатацию сильного ИИ означает практически неизбежное наступление сингулярности. Поскольку человеческий мозг в 10 млн раз медленнее компьютера, при достижении паритета по умственным способностям очень удобно будет делегировать AGI большинство интеллектуальных задач. В этом случае человеку останется лишь задачи творчества и потребления. Вероятно, через небольшое время люди перестанут понимать суть новых изобретений AGI и мотивы его действий.
По мнению некоторых футурологов, ситуация будет таковой, что если ты следуешь советам AGI, то получаешь отличное здоровье, хорошую работу и оптимального партнёра для жизни. Если отказываешься следовать советам — остаёшься в бедности и одиночестве (или с неоптимальным случайным партнёром). Очевидно, 99% людей выберет комфорт и с удовольствием будет подчиняться советам AGI, живя по оптимальному сценарию, и будут счастливы.
Существует мнение, что сильный ИИ — это единственная надежда на спасение человечества. Иначе шансов мало, потому что по текущей траектории мы целенаправленно движемся в сторону самоуничтожения. Это весомый аргумент за то, чтобы передать AGI управление ключевыми процессами в обществе.