AI Agents | Bayram Annakov
СтатистикаКанал, посвященный разработке автономных AI агентов для бизнеса и личной производительности. Буду постить здесь релевантные выступления, опыт, научные работы по теме
- Последний пост
- 7 сент. 2024 г.
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Кирилл М. пошерил ссылку на курс Berkeley по AI агентам: https://llmagents-learning.org/f24 Я проходил от них же курс по web3, было очень хорошо! Записался и на этот. Стартует 9 сент, бесплатно
А вот и голосовой агент с 400мс latency: https://x.com/dsa/status/1828481132108873979?s=46&t=unXuB1Uz5kPk0IP1JI6UKg Livekit мне понравился, как раз недавно его изучал, openai его юзает. Ну и код доступен
Вот это скорость! https://inference.cerebras.ai
Туториал от HuggingFace о том, как собрать и запрогать своего робота - ох, я знаю чем займусь на следующей неделе! https://x.com/remicadene/status/1825455895561859185?s=46&t=unXuB1Uz5kPk0IP1JI6UKg
Гайд по тестированию LLM приложений
AI Scientist На моем июньском стриме по GenAI я рассказывал про позицию ряда людей из OpenAI про то, что в ближайшие 3-5 лет автоматизируют работу AI ученого. Собственно, вот первая ласточка: Sakana AI. Я про них узнал впервые на ивенте Nvidia: там они собирали всех соавторов знаменитой “Attention is all you need” и один из них как раз основал Sakana-у. Вот, наконец, мы можем детальнее узнать, что они сделали: запилили AI агента, автоматизирующего работу AI ученого. Не просто придумать идею, а полный цикл: придумать, написать код, провести эксперименты, визуализировать результаты, и написать научную статью по мотивам. Там есть одновременно немного пугающая и забавная штука: агент пытался обойти ограничения, наложенные авторами (кейс с таймаутом, когда вместо того, чтобы оптимизировать свой код, чтобы он быстрее выполнялся, агент просто решил написать код, который обходит таймаут). Страшно, потому что это как раз про AI системы, которые пытаются обойти ограничения, наложенные людьми, но мешающие им добиться цели
видео или голосовое, без подписи
видео или голосовое, без подписи
Интересная идея: mixture of agents Вы вероятно слышали про mixture of experts архитектуру для LLM. Эта идея похожа: но вместо сеток берутся агенты. Делаем слои агентов, которые независимо обрабатывают запрос и передают ответ следующему слою. Агрегируем ответы…
А вот и векторный sqlite - чтобы локально, бычтро и легко работать с векторами. Я тут, вероятно, biased, потому что всегда предпочитаю sqlite для локальных задач для реляционных БД https://github.com/asg017/sqlite-vec/tree/main
Не знаю, заметили ли вы: можно бесплатно finetune-ить gpt mini: GPT-4o mini is free to fine-tune starting today through September 23, 2024. This means each organization will get 2M tokens per 24 hour period to train the model and any overage will be charged at $3.00/1M tokens. https://platform.openai.com/docs/guides/fine-tuning/preparing-your-dataset
Интересный сервис для авторизации от имени юзера на сайтах без API: его юзают уже упоминавшийся выше MultiOn http://anon.com
Онлайн хакатон от llamaindex: https://lablab.ai/event/llama-3-ai-hackathon Я буду на другом оффлайн хаке, а так бы с удовольствием поучаствовал
Вы наверняка слышали про 2 системы мышления у Каннемана: быстрая и медленная. Сейчас LLMки скорее про быструю систему, но мы знаем, что именно 2я задействуется у человека для решения более сложных задач. Собственно, многие осознали, что надо научиться воспроизводить это мышление и у LLM-ок —> отсюда рождение техник а-ля chain-of-thought, rephrase & respond. Многие RAG и агентские паттерны (ReAct, к примеру) воспроизводят эти же идеи. Но эти техники требуют больше токенов, а значит времени и денег. Ян Ле Кун, главный по AI в Meta, говорил об этом же и даже предлагал свою архитектуру воспроизведения этой 2й системы. В LLM тусовке давно говорят о том, что надо system 2 техники закладывать на уровне трейнинга, чтобы сэкономить на токенах и скорости, и вот статья по теме. Собственно, авторы статьи натренировали LLMки с учетом этих техник и сравнили с baseline на 2х задачках: - соединение последних букв заданных слов: "ехвхв" для этого пункта - задачки про бросание монет а-ля "A coin is heads up. Roxas does not flip the coin. Schneiderman does not flip the coin. Is the coin still heads up" Ну и, ожидаемо, такая модель превосходит или равна по точности, но всегда лучше по скорости/колву токенов, чем бейзлайн (см табличку) К чему все это? 1) следующие поколения моделей будут натренированы на этих техниках и будут круче текущих и по стоимости, и по точности. Это низковисящие фрукты, которые уже дают улучшения в разы, которыми точно воспользуются все разработчики LLM 2) прикольно, как продолжается биомимикрия, о которой я рассказывал на стриме про complexity theory
5 уровней автономии агентов 1) традиционные программы с определенным человеком порядком исполнения. можем юзать LLMки для каких-то задачек, но не используем их для принятия решений о порядке исполнения 2) агенты, которые используют LLM для принятия микро-решений в рамках установленного человеком порядка исполнения, например, выбирают какую тулзу вызывать на определенном этапе, или делают retry, если ответ был неподходящим 3) агенты, двигаются по предопределенному человеком графу переходов (см. langgraph), но в рамках этого графа сами могут принимать решение когда и какой переход делать. Часто это эдакие дирижеры/оркестраторы, вызывающие агентов 1 и 2го уровня === большинство из нас где-то тут === 4) агенты также сами двигаются по графу, но еще самостоятельно могут создавать новые действия/тулзы: например, написать код и исполнить его, чтобы выполнить задачу, не предусмотренную текущими тулзами 5) и порядок исполнения, и тулзы определяются агентом самостоятельно, на вход задается лишь цель Ну и незабываем, что недетерминированность/неуправляемость агентов также повышается с ростом автономии.
видео или голосовое, без подписи
С несколькими фаундерами GenAI стартапов обсуждали недавно важность системы метрик для оценки продукта. (evaluations) Дело в том, что из-за того, что существенную часть работы таких продуктов составляет генерация текста, картинки или видео, то нужно немного адаптировать классический подход а-ля users funnel, retention и тп. Это некоторая смесь классической продуктовой аналитики и QA. Как мы можем оценивать эту генерацию? Глобально есть 3 подхода: 1) Формируем свой валидационный датасет а-ля MMLU и по мере разработки и продакшна GenAI системы регулярно прогоняем по нему и мониторим динамику. Вышла новая моделька? Прогнали ее на своем датасете и приняли решение о переходе на новую модель. Вообще, задумайтесь, может ваши бенчмарки сделать публичными, и стать лидером мнений в своей доменной области? 2) Обратная связь от пользователя: явная и неявная - явная - добавляем в продукт, рядом с результатом работы системы, like/dislike кнопки + фидбек в текстовой форме. Вручную просматриваем дизлайки, анализируем причины и при необходимости добавляем этот кейс в датасет из п.1 - неявная - пытаемся сделать вывод о полезности результата генерации через поведение пользователя в продукте: долго листал и читал, попробовал перегенерировать заново, нажимал на линки, что то еще? 3) При помощи более совершенной модели: из соображений костов и скорости работаем на модельках поменьше e.g. gpt3.5, но для оценки результата используем gpt4-o Зачем это делать? Я считаю, что для транзишна из MVP в продакшн evals - чрезвычайно важный аспект: эта система дает эдакую приборную панель для принятия ряда решений: 1) go vs no-go 2) планирования роадмапа: приоритезация улучшений 3) для репутации и доверия В аттаче скрины, как это в langfuse: что прикольно, что у них есть ряд заготовленных промптов для для 3го способа: критерии conciseness, toxicity и тп
Продолжаем про интересные выступления/воркшопы с AI Engineer - на этот раз от основателя LlamaIndex: вкратце, цель выступления была презентовать их агентов и новый сервис LlamaCloud, но было полезное про эволюцию RAG систем и knowledge assistants 1) Наивный RAG не работает, это мы все с вами знаем - для демки норм, но для продакшна - не очень. Не те документы берутся, отсюда галлюцинации, потому что надо нормально их парсить, бить на куски, разворачивать короткие вопросы, дополнять векторный поиск полнотекстовым/по ключевым словам и тд и тп. Я рассказывал на 2й лекции GenAI Developer School. В общем, зачастую даже хуже простого поиска 2) Advanced RAG - как раз уже делаем нормально: см предыдущий пункт + используем агента для планирования запросов, памяти, рефлексии и тп. А когда и агента не хватает, то юзаем много агентов :) 3) Показал примеры, почему важен парсинг, в том числе при помощи LlamaParse: табличные данные, картинки 4) LlamaCloud - их новый сервис, расширяет возможности LlamaParse в части индексирования данных и evals 5) Понравилось про мотивацию для мультиагентов: специализация, параллелизация, соотношение косты vs скорость Презентация тут
Ну и интересное по тему от langchain: на школе GenAI разработчика я говорил, что мне не очень зашел langgraph из за того, какие они выбрали абстракции (граф). Я ожидал, что в итоге они сделают какой-то визуальный инструмент для построения этих графов а-ля процессные диаграммы IELTS и иже с ними. Собственно, вот: https://langchain-ai.github.io/langgraph/cloud/ А если используете что-то другое, то потратьте 5 мин прочитать мысли основателя langchain о том, что же такое AI агент
Multiagents framework от llamaindex: https://www.llamaindex.ai/blog/introducing-llama-agents-a-powerful-framework-for-building-production-multi-agent-ai-systems