Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Тут выдохнуть спокойно нельзя
Только я сел делать предобработку видео для курса по AI Ассистентам - новость, мол, вышла Llama 3.2. Дайте я хоть расскажу план курса, а потом бенчмарк, ок?
План такой - курс состоит из двух модулей. Они будут доступны на моей площадке ML Labs, формат - текст и видео. По времени и стоимости напишу отдельно попозже.
Первый модуль - про ментальные модели для работы с LLM: как обходить грабли и как использовать эффективно LLM в проектах. А если что-то не работает - как последовательно найти первопричину проблем и устранить. Это те знания, которые в прошлом году сэкономили бы мне 2-3 месяца работы. Часть контента пересекается с вебинарами, которые мы проводили с вами весной. Но материала на курсе больше и он дается подробнее.
Второй модуль полностью новый. Я прошелся по всем кейсам успешного внедрения LLM/AI на текущий момент, систематизировал их и вывел повторяющиеся архитектурные паттерны. Эти паттерны с особенностями применения я и показываю, разберем кейсы с их использованием. Второй модуль дает “насмотренность” на текущее использование LLM в отраслях из моих кейсов в современных компаниях: это структурированные знания, которые клиенты уже применяют.
Обычно про такие вещи компании не рассказывают никому, т.к. это интеллектуальная собственность и близкие к сердцу разработки. Но благодаря AI Research мы можем видеть те вещи, которые повторяются в совершенно разных отраслях. И тогда можно выделить обезличенные общие паттерны, про которые уже можно рассказывать.
Помимо теоретической части и видео будет доступен отдельный практикум, чтобы разобрать вопросы и поговорить более предметно. Как и весенние вебинары, практикум на продажу записываться не будет. Можно будет приносить свои кейсы для обсуждения - они за пределы группы не выйдут. А все выпускники получают доступ в коммьюнити. Кстати, нынче там обсуждают расценки на создание юридических RAG с нуля, механизмы внимания в LLM и делятся бенчмарками Qwen2.5/Llama70B на H100/H200 для максимальной окупаемости.
Доступ к покупке курса, скорее всего, сделаем по когортам. Но не из-за ограничений мест и времени (как это было весной), а просто чтобы успевать обрабатывать отзывы и проводить практикумы. Если кто-то хочет получить доступ пораньше - можно на днях открыть waitlist. Надо?
Ваш, @llm_under_hood 🤗
PS: А дальше будет бенчмарк LLama 3.2
Вот все Google Gemini ругают.
А как вы думаете, какое место в бенчмарке займет новая версия Google Gemini 1.5 Pro v2?
Бенчмарк Qwen 2.5 и DeepSeek 2.5
Недавно вышедший Qwen 2.5 72B Instruct оказался неожиданно хорош. Это первая локальная модель, которая побила Claude 3.5 Sonnet на продуктовых задачах из моих бенчмарков. Он еще и стоит меньше всех остальных моделей в топах.
Стоимость прогона рассчитана на базе цен из OpenRouter.
Qwen 2.5 72B внимательно следует инструкциям (в отличие от того же Sonnet и старых версий GPT-4) и может похвастаться довольно неплохим Reason. У этой китайской модели есть провалы в задачах работы с кодом (но там делают отдельную модель) и с английскими текстами (Marketing).
А вот DeepSeek 2.5 оказался не так хорош. Параметров - 236B, а точность выполнения задач из продуктов с LLM под капотом - на уровне Mistral Large 123B и старой модели GPT-4 Turbo.
И это потрясающие новости, что все больше локальных моделей подбирается к планке GPT-4 Turbo. А то, что ее так далеко преодолела модель на 72B - это повод для отдельного праздника 🚀
Я думаю, в этом году это не последняя подобная модель.
Ваш, @llm_under_hood 🤗
🔗 Бенчмарк GPT o1
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
В ходе комментариев на опрос выше немало людей упомянуло, что o1, несомненно, справится с задачкой счета букв.
Если понимать базовые ограничения систем с LLM под капотом, то сложную для LLM задачку сочинить несложно. Например, на эту задачку пересчета букв даже o1-preview у меня не смогла ответить правильно (0 из 5 попыток):
List letters that have diacritics in one word but appear without it in one of the others? Words are: "Świnoujście", "Chișinău", and "Île-de-France". Case matters.
a
. Это можно проверить глазами за пять секунд. А еще можно попросить ChatGPT написать код, который это проверит.Кейс DealRoom: AI-решение для Due Diligence
Хочу похвастаться: на днях мои клиенты зарелизили продукт для автоматизации процесса Due Diligence в слияниях и покупках компаний - AI designed for Due Diligence. Они его разрабатывали с моими консультациями.
Весь процесс Mergers and Aquisitions (от LOI до завершения интеграции) - это сложный "танец" двух компаний, который может занять от 12 месяцев до 3+ лет. Почему так долго? Потому что нужно выяснять массу деталей, анализировать горы документов и получать точные ответы на специфичные вопросы о компаниях. Правильное использование AI/LLM помогает сэкономить много человеческого времени в этом процессе.
Продукт относится к категории Business Services в моей матрице AI Cases - её вы видели в прошлом посте.
Я этот релиз ждал очень долго. DealRoom - это мои давние клиенты в рамках AI Research и консалтинга. С января этого года компания прошла большой путь: от продуктовой идеи до конкретного продукта, от классического RAGа с типичными болячками до работающего решения, которое вобрало в себя опыт лучших экспертов в отрасли M&A.
Продукт начинает свое путешествие, в нем предстоит немало работы с клиентами и экспертами. Но DealRoom уже не нужно тратить время на выстраивание LLM архитектуры и борьбу с галлюцинациями, они могут сосредоточить силы на ценных фичах и упрощении работы пользователей.
Ваш, @llm_under_hood 🤗
PS: А еще у них есть вакансии, подробности - в комментариях.
Мой AI Coding workflow
Инструменты, которые использую в разработке сейчас.
В первую очередь IDE - либо Jetbrains PyCharm/Goland/WebStorm либо neovim. Я на эту связку пересел лет этак 10 назад с Visual Studio, все работает хорошо и удобно для меня. Мускульная память рулит.
Отчасти из-за этого я не использую Zed, Cursor.sh и прочие AI-first редакторы. Они никогда не станут такими удобными (для меня), как JetBrains/neovim со всеми моими настройками и плагинами.
В IDE - использую Github Copilot для ненавязчивого autocomplete. Большую часть времени он выключен, чтобы не отвлекал.
Для когнитивно сложных задач и брейншторминга - Claude Chat / ChatGPT в режиме копипасты.
Если нужно работать точечно по коду с разными файлами, рефакторить и чистить, тогда aider c такими параметрами:
aider --no-auto-commits --cache-prompts --no-stream --cache-keepalive-pings 6 --read README_AI.md
--cache-prompts --no-stream --cache-keepalive-pings 6
перетасовывает промпт так, чтобы использовать context caching (для экономии) --read README_AI.md
- загружает мелкую методичку для AI по текущему проекту.Enterprise RAG Challenge - сводная таблица с результатами
Эта таблица по первому раунду нашего challenge. Она заполнена на основе оценки ответов и информации, которую предоставили участники. Последняя версия в CSV: scores.csv.
Описание колонок:
- Score - очки от 0 до 100. Ответы в результате ручной разметки лежат в answers.json. Сам алгоритм оценки - rank.py.
- Local - звездочка, если локальная модель
- Design - краткое описание архитектуры. Хотите узнать больше? См teams.py с той информацией, которую мне предоставили команды.
- Cost - примерная оценка. Ее почти никто не предоставил
- Source - те исходники, которые обещали попозже расшарить. Я опубликую ссылки на них
Дополнительные колонки для прозрачности:
- TTA - тут помечены участники, с которыми я работаю в рамках TimeToAct. Они участвовали на равных со всеми условиях, но ради прозрачности они выделены отдельно.
- AIR - кто участвует в обмене опытом в рамках AI Research или имел доступ к инсайтам на его базе (включая курс и вебинары).
Весь Github repository по этому Challenge - открытый под Apache License. Можно форкать, исправлять и публиковать свои версии лидербордов. Или даже проводить свои соревнования. Единственное, чего там нет - 45GB всех исходных PDF (есть dataset с sha1 и именами компаний). При желании их можно наскрести в интернете по именам компаний.
Кстати, этот RAG Challenge уже планируют включить в программу LLM/AI одного технического университета в Австрии. 🎉
Второй раунд состоится осенью. Структура останется той же, но будет больше участников, а генератор вопросов перебалансируется в сторону большего разнообразия. Это сделает решения "в лоб" на базе Checklist/Knowledge Mapping более дорогими. Плюс я постараюсь собрать больше информации от участников второго раунда.
Кстати, а какие пункты вы бы добавили в опросник для участников?
Вaш, @llm_under_hood 🤗
PS: Авторы наилучшего локального решения, возможно, раскроют карты и расскажут про свою архитектуру побольше.
У Claude есть замечательные Artifacts, которые позволяют писать и сразу показывать живые интерактивные интерфейсы.
Если же хочется, чтобы эти интерфейсы сразу же подключались к настоящему API (например, на localhost), то придется обойти настройки Content Security Policy на claude.ai.
Я это сделал так:
- поставил Firefox 98, отключил там автообновление (about:preferences -> search for update)
- в about:config отключил security.csp.enable (в 99 версии и старше его выпилили)
И тогда можно запускать хоть локальный API, давать его схему клоду в артифактах, и он сразу будет подключаться к нему.
Отключение CSP - это небольшая дырка в безопасности, поэтому я запасную версию Firefox поставил отдельно, специально для Claude AI. Он это заслужил.
Вaш, @llm_under_hood 🤗
PS: это #weekend пост
Наглядный пример паттерна Query Expansion
Тут LLM используется для разворачивания запроса пользователя в запрос по базе данных. Запрос выполняется в БД, результат извлекается по схеме и возвращается пользователю.
Для реализации такой системы достаточно одного единственного промпта с описанием схемы БД и специфики компании.
Причем, эта реализация очень сильно выигрывает от token caching (который добавили недавно в Claude и Gemini Pro). Можно запихнуть все описание в префикс промпта, и эта часть закэшируется в первом запросе. А потом можно будет недорого и быстро задавать множестно разных вопросов по этой системе.
Кстати, Query Expansion можно еще использовать для разворачивания запросов в Full Text Search Queries (особенно, если терминология и даже язык документов отличаются от человеческой речи)
#llm_pattern
Ваш, @llm_under_hood 🤗
Про паттерны систем с LLM под капотом, новый курс и баг в Miro
В последние месяцы я работаю над платным курсом по построению систем с LLM под капотом. Он состоит из двух модулей. Первый - про основополагающие принципы разработки систем с LLM под капотом. Он расширяет мои доклады на ODS и материал с весенних вебинаров. В нем мы говорим про основы - как подобные системы работают и какие у них ограничения. Самое главное - если системы с LLM под капотом работают не так, как надо - как найти причину проблем и исправить. Знание этого материала сэкономило бы мне 3 месяца работы в прошлом году.
А второй модуль уже полностью новый - про набор архитектурных паттернов для декомпозиции проблем. Я систематизировал все известные мне кейсы LLM проектов из разных отраслей. Потом, используя методы из первого модуля, разобрал архитектуры кейсов на повторяющиеся паттерны и выстроил в последовательность - от самых простых до сложных.
Получилось своего рода research tree, где на каждый паттерн есть примеры продуктов с его использованием. Паттерны формулировались так, чтобы они были понятны как Product Managers/Owners (для декомпозиции проблем и бизнес требований), так и инженерам (для реализации). Например: Router, Checklist, Knowledge Base или Dedicated Agent.
На картинке - как раз доска Miro cо структурой второго модуля. Этот модуль дает насмотренность на устройство систем с LLM под капотом из десятка отраслей. Для чего это нужно? Для того, чтобы вы могли посмотреть на бизнес-проблему и декомпозировать ее в голове на паттерны реализации, которые основаны на успешно работающих проектах. А если какие-то паттерны требуют дальнейшей доводки напильником под конкретный кейс - использовать для этого методологию из первого модуля.
Каждый модуль состоит из записанных видео и дополнительных материалов. Кстати, я проклял все, когда готовил материалы, т.к. наткнулся на старый баг c “выцветанием карточек” в Miro при использовании Frames. Но все закончилось хорошо, и они это починили.
Когда, где и почем? Про это я напишу попозже, после завершения нашего Enterprise RAG Challenge.
Ваш, @llm_under_hood 🤗
Давно не было постов в серии #weekend. Хочу рассказать про то, как устроена самая сложная часть голосового ассистента Homai. Это серверное ядро системы, во второй своей версии, я его сейчас переписываю.
Ядро - это сервер на golang, который отвечает за подключение всех девайсов по WebSocket, координирует их работу, собирает задачи по обработке голосового ввода на своих моделях (ASR), передачу задач на пайплайны ассистентов или выделенным серверам озвучки (TTS), которые тоже используют свои модели.
Во второй версии ядра мы хотели добавить пару улучшений:
(1) полное покрытие системы тестами, возможность запуска системы в режиме симуляции с ускорением времени.
(2) асинхронная работа всех элементов системы, чтобы голосовой ответ начинал идти в режиме стриминга с минимальной задержкой (в идеале - до секунды)
(3) подключение LLM-логики по архитектуре корпоративных AI ассистентов с поддержкой асинхронной работы
(4) нормальное логгирование всего процесса ответа на запросы, с возможностью анализа ошибок и улучшения системы.
(5) запуск локальных моделей на выделенных серверах c GPU и автоматической перебалансировкой нагрузки.
Там еще было много других хотелок. Но самое главное было в том, чтобы ядро брало на себя сложные задачи вроде координации и балансировки, а вся бизнес-логика писалась отдельно в виде простых скриптов на питоне.
Потребовалось прототипов 6, чтобы утрясти всю архитектуру под эти требования. Основные фишки
(1) структурное логгирование встроено в систему с самого начала. Оно используется для отладки системы и написания event-driven тестов (я этот подход таскаю из проекта в проект)
(2) самая сложная часть - координатор - сделан в виде одного единственного класса Finite State Machine, каждый чих которого покрыт тестами. Он перегягивает всю остальную сложность системы на себя (см про FSM)
(3) Вся система строится так, чтобы она могла работать в режиме виртуальной симуляции. Например, можно запустить с десяток асинхронных подключений к серверу, добавить случайные обрывы соединений и периодическую перебалансировку GPU. А потом прогнать месяцы работы системы в таком режиме за минуты. Идеей в давном давно поделились инженеры из FoundationDB, которая теперь служит основанием для Apple iCloud (см хорошее видео тут).
Если интересно, в комментариях я выложу пример отладки системы в одном из режимов симуляции, плюс пример теста.
В разработке и отладке всей системы очень сильно помогают ChatGPT/Claude и даже Copilot, позволяя разрабатывать ее очень малыми силами. Поэтому архитектура и код адаптированы под такой режим разработки. Структурное логгирование, event-driven tests и симуляция оптимизированы под участие LLM в разработке, это немного похоже на работу Anithesis.
А у вас есть такие примеры продуктов, когда LLM-ки невероятно помогают в разработке продуктов малыми силами?
Ваш, @llm_under_hood 🤗
Идет Enterprise RAG Challenge.
Это первый тестовый прогон дружеского соревнования, которое пройдет осенью в международном формате.
Если кратко, то вам нужно прислать ответы на 40 вопросов по 20 годовым отчетам компаний:
(0) стартовый пост с воодными инструкциями
(1) список из 20 PDF
(2) вот список из 40 вопросов
Нужно прислать мне заполненный файл с ответами.
Лидерборд, как я уже писал, будут не сразу. Конкурс продлится до того, как я опубликую правильные ответы - примерно через две недели. Но время ответа, естественно, учитывается.
Кто уже начал участвовать, пишите свои впечатления в комментах к этому посту! Можно уже обсуждать количество N/A, только свои ответы не публикуйте пока.
Ответы на частые вопросы:
(1) Как будут выбираться правильные ответы? Вручную. Они будут опубликованы вместе со всеми ответами команд, поэтому все можно будет перепроварить самостоятельно.
(2) Почему именно такой формат постановки задачи? Именно такая формулировка задачи находится под капотом у продуктов в реальных кейсах из Medical, Business Services (Legal, Patent Law) и Manufacturing секторов. Там требуется большая точность ответов, и используется паттерн Checklist с каскадом из простых промптов. И один из этих каскадов как раз совпадает с данным соревнованием. Не удивительно, что Enterprise поглядывает за процессом даже на этапе дружеского тестового прогона.
(3) Сколько уже ответов прислали - 8. Если пришлют еще до круглого числа - будет вообще хорошо. Все данные я потом опубликую, включая ответы команд на вопросы про используемые модели и архитектуры решений. Там есть и интересные локальные решения.
Вaш, @llm_under_hood 🤗
Файлы для Enterprise RAG Challenge.
Вывод генератора Rand seed:
856853 at 2024-08-15 08:05:07 (...eaa76b09)
# Deterministic seed: 3936840457
Бенчмарк новой модели GPT-4o от 2024-08-13 - стала умнее 🚀
Open AI верны своей традиции. Вторая версия GPT-4o была глупее и легче первой версии. А теперь третья версия стала немного умнее. Следование инструкциям у нее немного просело, но вот Reason - подскочил. По сумме баллов - она обошла вторую версию и заняла четвертое место.
Это вообще странная версия. Она видна в API под названием chatgpt-4o-latest
и в данный момент указывает на модель со временем выкатки на проду - 2024-08-13 04:12:11
. Если это та же модель, про которую писал Игорь, то это была версия от 2024-08-08
.
Бардак одним словом. Похоже, что в OpenAI могут немного переживать из-за конкуренции с Google и Anthropic.
Вaш, @llm_under_hood 🤗
---
Предыдущий бенчмарк был про GPT-4o 2024-08-06. См другие бенчмарки по категории #bench
LLM Benchmarks v2 в работе + пример корпоративного кейса
Я потихоньку начал работать над второй версией бенчмарков.
Этот процесс займет немало времени. Нужно приблизить бенчмарки к реальной практике из разных компаний на текущий момент.
Заодно и добавлю больше кейсов от других компаний, которые хотят видеть бенчмарки своих задач на всех новых моделях. Это особенно актуально для локальных моделей.
Если у вас есть интересный кейс - пишите, можно попробовать интегрировать его.
Одна из фишек второй версии в том, что тут используется больше синтетических данных, которые воспроизводят бизнес-кейсы. А это значит, что часть бенчмарков можно будет показывать без риска переобучения на тестовом датасете.
На картинке один из примеров такого теста из v2. Это кусок из ассистента в продукте, который позволяет анализировать зависимости внутри компании на предмет рисков:
- А если человек Y уйдет в отпуск, то какие системы могут накрыться? А если считать все зависимые системы?
- На каком специалисте держится больше всего процессов в компании?
- Что будет, если вырубить сервер X посреди дня для накатывания критического патча?
Gemini 1.5 Pro 002 - третье место в бенчмарке! 🚀
Ребята из Google - молодцы. Релиз за релизом они последовательно повышали качество своих моделей, как Gemini Flash, так и Gemini Pro. Последняя версия Gemini Pro заняла третье место в моем продуктовом бенчмарке. При этом она потеснила относительно бесполезный (за такие деньги) GPT o1-mini.
В Gemini 1.5 Pro v002 Google подтянули все параметры - работу с кодом, документами, маркетинговыми текстами и даже сложный Reason. Стоимость немного меньше, чем GPT-4o со второго места бенчмарка.
В нашем чатике хвалят Gemini Pro за работу с разными языками. А клиенты из Google Cloud вообще радуются тому, что у них появилась своя нормальная LLM.
Долгое время казалось, что OpenAI и Anthropic - это единственные компании, которые могут делать передовые модели. И что крупные компании слишком медленны и отсталы для этого. Google смогли доказать, что это не так. Теперь можно начинать ждать классных моделей подобного уровня от Amazon и Microsoft. А там, глядишь, начнется и конкуренция с повышением качества и снижением цен :)
В комментариях к посту еще есть график динамики прогресса моделей Google со временем (как и всех hosted моделей) и сравнительная табличка с бенчмарками для всех моделей Google.
Ваш, @llm_under_hood 🤗
🔗 Бенчмарк GPT o1 - топовая модель
🔗 Бенчмарк Qwen 2.5 - лучшая локальная модель
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
Куда катится мир локальных LLM?
Вот вам график, который показывает тренды роста производительности разных локальных моделей со временем.
Я взял все локальные модели из бенчмарка (последние были про Qwen 2.5 / DeepSeek 2.5 и про GPT o1) и сгруппировал по необходимому размеру GPU для запуска.
(группировка очень примерная. Я считал, что запускается под fp16 без особых квантизаций и с запасом памяти на inference)
Потом все модели я отметил на временной шкале по дате их релиза и построил тренды (linregress). Получился такой график.
Основные тренды:
(1) Модели становятся со временем все лучше, как большие, так и маленькие.
(2) Крупные модели появляются чаще
(3) В крупных Multi-GPU моделях производительность растет быстрее, чем в мелких.
В принципе, все это вещи очевидные. Но если увидеть это глазами, динамика прогресса становится более понятной. И ее можно транслировать клиентам и учитывать в планировании.
Ваш, @llm_under_hood 🤗
Как ставить задачи по кодингу для o1?
У Игоря есть лонг-рид про принципы работы o1. Я же расскажу про ментальную модель, которую я использую для работы с o1-preview.
Я ставлю задачи, как если бы ставил их очень опытному разработчику (обучен на всем корпусе), который нахватался вредных привычек (обучен на всех постах людей, которые любят усложнять и городить), но понимает меня с полуслова (o1 не требует prompt engineering).
Если скоуп задачи очерчен конкретно, то можно ограничиться коротким промптом:
Rewrite this course template in golang to follow style of my own website. You can reuse all of my styles and drop the external css (as used by the course).
<golang template to rewrite>
<full html source of my website, as copied from browser>
Take a look at this code from my multi-mode (a la vim or old terminal apps) block-based content editor.
I want to build on the keyboard interface and introduce a simple way to have simple commands with small popup. E.g. after doing "A" in "view" mode, show user a popup that expects H,T,I, or V.
Or, after pressing "P" in view mode - show a small popup that has an text input waiting for the permission role for the page.
Don't implement the changes, just think through how to extend existing code to make logic like that simple.
Remember, I like simple code, I don't like spaghetti code and many small classes/files.
Write me files that incorporate your suggestions: 1-6, 8,9, 12
Бенчмарки новых o1 моделей. Модели в топе, но есть нюанс
Новые o1 модели от OpenAI, действительно, в топе. o1-preview заняла первое место в продуктовом бенчмарке, потеснив 4o.
o1-mini - третье. Модель заняла бы больше, если бы всегда внимательно читала текст задачи, а не через раз (это видно в колонке integrate).
У обоих моделей высокий reason, но есть один нюанс - они очень дорогие для своего функционала. Причем я даже не смог их изначально даже запустить - во всех тестах у меня прописаны ожидания max_tokens достаточные для ответа. Но поскольку теперь модели генерируют больше tokens в процессе размышлений - этого не хватало, мне возвращались пустые модели.
OpenAI вообще теперь рекомендует закладывать как минимум 25000 max_completion_tokens
при экспериментах с этими моделями.
В сухом остатке получается, что модели немного мощнее, но стоят в разы дороже сравнимых моделей. Я думаю, что они не станут мейнстримом, слишком дорогие и странные. Но вот другие провайдеры скопировать подход и попробовать применить его на модели подешевле, тогда будет интересно.
Ваш, @llm_under_hood 🤗
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
Новые кейсы в библиотеке
Я сегодня получил классный отзыв!
Привет!
Хочу поблагодарить тебя за тот график, который ты прислал в чат и статьи, которые выпускал в своем канале.
Я все прочитал. Проанализировал. Это очень мне помогло с улучшением продукта! Информация на миллиард!
Спасибо!
Только что закончилась интересная презентация - AI Platform #aicase
Презентовали клиенту, который просил детективную историю (там поста три со всей историей). Пока перекапывали данные в поисках истины, я накрутил несколько ассистентов и интеграций, чтобы самим работать было удобно.
Интеграции были простые:
BI Assistant, который умеет отвечать на бизнес-вопросы “упоротой” базе данных клиента (этой базе и всему софту - больше 20 лет, там 3 поколения разработчиков наслоили legacy на разных языках). Ассистент использует информацию о особенностях хранения данных, построения запросов и особенностей бизнеса. Я все это разузнал один раз, структурировал и забыл как страшный сон. Он строит отчеты и графики по мере необходимости. Причем в презентации я прямо сделал слайды "вопрос - график". А потом сказал, что эту часть мне написал Assistant.
Интеграция с государственными реестрами, которая вытягивает информацию о юридических лицах в стране, плюс любые изменения статусов. Благодаря первому ассистенту мы точно знаем какие коды (эквиваленты ОКВЭД) нам нужно выкачивать в первую очередь.
Поисковый lead generation ассистент, который пытается найти информацию про эти компании в интернете следуя простому Workflow. Ибо контактные данные в базе - это обычно данные бухгалтеров, а продавать нам надо другим людям.
Все это использовалось в детективном расследовании для разнообразной валидации. Не пропадать же добру?
Cегодня только что была презентация директорату со словами:
(1) вот что мы раскопали по вашим запросам
(2) вот что мы для соорудили для себя, и вот как оно работает
(3) а вот как это можно собрать в одну в AI платформу и внедрить у вас. Она может держать вашу CRM актуальной (даже AI ассистент сходу сказал, что там 6% контактов пора удалять), приводить новых лидов и помогать связываться с ними в важные для них моменты жизни.
Реакция директората: “Берем, все как вы сказали. Начните раскатывать это в друх странах, но имейте в виду, что это потом надо будет интегрировать на глобальном уровне. И позванивайте нам c апдейтами раз в месяц, хорошо?”
А что там под капотом у платформы? Какой агент, langchain или RAG? Ничего из этого не надо:
- Линейный Wokflow у Lead Generation с Checklist паттерном и интеграцией c Search API. Просто вызов OpenAI. Все как в кейсе про исправление ошибок в продуктах.
- Один структурированный промпт для BI Assistant. Я дистиллировал все информацию в формат, понятный для LLM. В процессе пришлось просто сделать схему читаемой и комментируемой (да и тем занималась LLM).
- Куча скучного кода без капли LLM для интеграции всего этого.
Как видите, все - очень просто. А на выходе - интегрированная платформа, которая решает набор задач клиента парой простых промптов. Люблю такие истории.
Ваш, @llm_under_hood 🤗
Enterprise RAG Challenge - Round 1
Вот первые результаты нашего Enterprise RAG Challenge. Максимальное число очков - 100.
Топ победителей:
(1) Daniel Weller - 84
(2) Ilya Rice - 76
(3) Artem Nurmukhametov - 73
(4) Alexandr Bobrov - 71
(5) Anonymous 1337 - 71
Остальные участники следом идут очень плотно по очкам.
Огромное спасибо всем, кто участвовал в тестовом прогоне и деталями! На днях я выложу в открытый доступ в Github данные этого раунда:
(1) ответы всех команд
(2) правильные ответы с комментариями (результат ручной проверки и вычитки PDF)
(3) исходный код алгоритма оценки
(4) рейтинг локальных систем
Вот краткое описание топовых систем:
TTA Daniel - gpt-4o data extraction with structured outputs (bulk checklist), schema-driven question answering over checklist.
Ilya Rice - Langchain RAG with GPT-4o, Text-embedding-3-large and custom chain of thought prompts.
Artem - multi stage checklist - multo-stage checklist with Gemini Flash Experimental.
AlBo - Alexandr Bobrov. Knowledge Graph + Vector Index (Langchain, Neo4j) with GPT-4o
Anonymous 1337 - plain RAG with chunk vectorizer and LLM
Challenge вышел очень необычный - из-за дисбаланса в генераторе вопросов, было очень много вопросов без ответа. На них система должна была сознательно отвечать N/A, что сложно само по себе. Очки показывают, что участвовали системы, в которые вложили заметные усилия для обхода галлюцинаций.
В осеннем раунде я устраню этот дисбаланс и добавлю больше вариаций в генератор вопросов. Это усложнит жизнь системам на базе knowledge mapping.
Как вам этот Challenge, поделитесь впечатлениями?
Вaш, @llm_under_hood 🤗
Говорят, что в последнее время LLM становятся хуже, а развитие буксует на месте.
Но если взять результаты продуктовых LLM бенчмарков, выстроить модели во временной ряд и разделить на три ценовые категории, то в последнее время видна неплохая динамика роста.
Кстати, еще видно, что прошлой зимой качество дорогих моделей у разных провайдеров проседало - сначала они выкатывали дорогие модели, потом оптимизировали их (чтобы запускать подешевле), а потом снова начинали работать над качеством.
В целом динамика очень радует - модели все ближе подбираются к потолку в 100. Причем, улучшаются не только дорогие, но и относительно дешевые!
Вaш, @llm_under_hood 🤗
PS: ответы на частые вопросы - в первом комментарии к этому посту.
Кстати, а у нашего канала еще есть свой добрый чатик на 1000 человек.
Там не только собираются комментарии всех постов, но и начинаются новые обсуждения. А еще там знакомятся, обсуждают новые технологии и рассказывают про свои проекты.
Он тут: @llm_driven_products
Ваш, @llm_under_hood 🤗
Игорь написал пост про адаптацию компаний к возможностям ChatGPT. Вот что я по этому поводу думаю.
Можно посмотреть на задачу адаптации с другой перспективы. Какие компании уже сейчас используют LLM системы в бизнесе, и что их отличает от конкурентов?
Это либо небольшие компании (примерно до 200-1000 человек), где нет серьезных regulatory барьеров для использования AI и данных для него.
У них есть: (1) интуитивное понимание у директоров возможностей и выгоды от применения LLM конкретно в их бизнесе
(2) наличие внутренних или внешних команд, которые могут провести проекты от инициативы до внедрения, обходя грабли и не тратя время на изобретение велосипедов.
В этом плане работа с промптами, бенчмарки, внутренняя осведомленность итп - это вторично. Если есть желание менеджмента, ресурсы и опытные исполнители, то можно даже большую компанию повернуть, обучить и развернуть. Главное знать - что делать, на что время не тратить, как выстроить стратегию и тактику.
А у крупных компаний с необходимостью соответствия всяким сертификациям и проверкам должен быть ещё третий фактор:
(3) понимание того, как выстроить процессы в LLM-driven проектах сейчас, чтобы потом не было проблем с выводом удачных проектов на рынок. Особенно актуально в сфере medical, biotech и иже с ними.
Те компании, у которых нет подобного удачного сочетания - пока тыкаются вслепую и набивают шишки. Кто-то застрянет на ChatGPT или материалах по LlamaIndex, кто-то споткнется о галлюцинации или невозможность запустить модели локально. Что можно делать?
(1) общаться с коллегами в отрасли, обмениваться знаниями, выстраивать связи.
(2) запускать маленькие прототипы для получения практического опыта
(3) максимально собирать всевозможные кейсы применения систем с LLM под капотом, со всеми граблями и нюансами, маппить их на свои области и переиспользовать чужой опыт.
В рамках AI Research за последний год я общался с компаниями разной степени зрелости. В целом картина очень хорошая - при желании любой классический бизнес может догнать передовые компании в отрасли за 3-6 месяцев. (Это включает точечные внедрения в места с самой большой отдачей, не полный переезд бизнеса на новую парадигму).
Природа LLM этому только способствует - теперь не нужны большие исследовательские отделы. Можно обойтись небольшим мозговым центром, который работал бы в режиме lean startup, собирал насмотренность кейсов и точечно перебирал варианты внедрения.
Ну а если желания нет, то можно просто сесть на хвост всем остальным и подождать год-другой. Тогда инструменты и подходы станут общедоступными.
Ваш, @llm_under_hood 🤗
Расскажу про небольшой паттерн внедрения продуктов с LLM под капотом.
Он работает забавно, пусть и временами раздражает.
Приходит, скажем, к нам клиент с запросом или срочной проблемой. Например, как в кейсах про захват рынка или про автоматическое исправление ошибок в продуктовых описаниях. Мы эту проблему ему решаем, клиент получает решение и исчезает. Не в смысле, что пропадает совсем, а что общение становится медленным и каким-то нерезультативным. Так может тянуться месяцы.
Думали, что делаем не так? Вроде клиент доволен, а развивать дальше проект не хочет. Была теория, что после решения проблемы с LLM клиенты получают возможность двигаться дальше и отвлекаются, но это была только теория.
Но недавно эту плотину прорвало. Клиент про захват рынка пришел с просьбами "а сделайте такое еще для 5 конкурентов, для начала" и "а можете-таки извлекать из PDF на продукты значения derating curves прямо из графиков?", "да, и сделайте сразу систему с приложением, чтобы мы могли сами задавать правила сопоставления продуктов". Причем, там всего хотелок было штук шесть, каждое по масштабам больше изначального проекта. И никаких бюджетных ограничений - сколько у нас будет времени на этот проект, столько и оплатят.
Аналогично и с кейсом про исправление ошибок - клиент вернулся на горизонт и сразу просит много сразу - и курсы про самостоятельное внедрение, и обучение, и помощь с парочкой проектов.
Как выяснилось, клиентам после первого внедрения просто нужно было переварить новые возможности, интегрировать их в свои процессы и перестроиться под новую реальность. А через 4-12 месяцев они возвращаются обратно с возросшими аппетитами. Это жутко неудобно с точки зрения планирования загрузки и работ, но тут уже ничего не поделаешь, только диверсифицироваться между отраслями и клиентами.
А у вас такое в практике встречалось?
Вaш, @llm_under_hood 🤗
Cписок вопросов по файлам из предыдущего поста
См первый комментарий к этому посту
Ответы присылайте мне в личку (@abdullin), просто заполнив поле answer в схеме. Не забываем, что ответ на вопрос должен соответствовать типу данных в вопросе - число, имя/название или да/нет (подробнее тут).
Если хотите что-то поменять, то сообщение с файлом не надо редактировать. Лучше пришлите новое. Почему? Я буду смотреть на timestamp и статус редакции, чтобы указывать время в финальном leaderboard.
Еще в сообщении, пожалуйста, укажите:
- Имя команды, компании или участника (латиницей)
- Тип модели, которая используется (версия, локальная или нет)
- Краткое описание архитектуры - что там под капотом? Коммерческие тайны раскрывать, естественно, не надо.
Можно участвовать анонимно.
Вaш, @llm_under_hood 🤗
Enterprise RAG Challenge начнется через час
Это дружеское соревнование по построению RAG-систем, которое открыто для всех. Для участия нужно будет сгенерировать ответы на вопросы по набору годовых отчетов компаний (PDF) и прислать их мне в личку @abdullin
Это тестовый прогон международного соревнования осенью (которое состоится в этом же формате). Дальше расписание на день вот такое:
- после 10:00 CET / 11:00 MOW выберу и выложу пачку из 20 годовых отчетов компаний для анализа (примеры тут). Вы их можете загрузить в свой RAG и прогнать всяческий data extraction/indexing. Это будет новый пост в этом канале
- после 12:00 CET / 13:00 MOW сгенерирую 50 вопросов. Они будут в формате JSON как тут. Это будет новый пост в этом канале.
Посты будут не ровно в 00, а в течение минут 10 после. Тут мы ждем, пока Blockchain сгенерирует новый блок, который используется в качестве Random Seed для выбора файлов и генерации вопросов.
Более детальное описание процесса и скрипты есть в Github - enterprise rag challenge.
Присылать ответы мне в личку (@abdullin) можно в любое время. Сразу напишите - хотите участвовать анонимно или указать имя компании/команды/участника.
Вопросы лучше задавать в чатике канала или в обсуждениях под этим постом.
Больше всего ценятся ответы, которые прислали в течение 5-10 минут. Время будет учитываться.
Конкурс длится до того, как я опубликую правильные ответы - примерно через две недели. Поэтому подключиться к этому конкурсу можно в любой момент.
Осенью будет международный Challenge. О нем я объявлю заранее, чтобы желающие смогли освободить расписание.
Всем удачи!
Вaш, @llm_under_hood 🤗
Забавная история про AI Compliance
Есть в Европе одна юридическая контора. Они, как и все, решили использовать AI для автоматизации части процессов, о чем не мешкая написали на сайте. Мол, движемся в ногу со временем.
А их конкуренты возьми да и напиши им официальный запрос:
- А расскажите-ка поподробнее, что вы там делаете с данными клиентов?
- Мы не можем, это коммерческая тайна!
- Правильно, но документацию того, что вы делаете, чтобы не нарушать закон, вы предоставить обязаны!
- Эммм...
- А пойдемте-ка мы с вами в суд. Регулятору будет интересно.
На самом деле, для такого даже не нужно в суд. Какая-нибудь бабушка давно уже может написать в компанию и запросить информацию про использование ее персональных данных (GDPR Article 15). У компании будет 30 дней для ответа. А государство может потом проверить, был ли выполнен запрос. Если нет - то устроить аудит или выписать штраф. Аналогичная история и с новым EU AI Act, который дополняет картину.
Такие правила есть только в Европе. В бурно развивающейся Африке, на Диком Западе и Южной Америке пока с требованиями попроще. Этим во всю пользуются компании 🤠
А та компания все еще жива. Но свое имя раскрывать очень не хочет - чтобы не подавать идей другим конкурентам.
Вaш, @llm_under_hood 🤗
Enterprise RAG Challenge - в этот Четверг
Первый раунд Enterprise RAG Challenge состоится в этот четверг. Это дружеское соревнование по построению RAG-систем, которое открыто для всех.
Расписание на четверг, 15 Августа:
- после 10:00 CET / 11:00 MOW выберу и выложу пачку из 20 годовых отчетов компаний для анализа (примеры тут). Вы их можете загрузить в свой RAG и прогнать всяческий data extraction/indexing
- после 12:00 CET / 13:00 MOW сгенерирую 50 вопросов. Они будут в формате JSON как тут.
Задача простая - как можно скорее сгенерировать и прислать мне эти же файлы с заполненными ответами. Ответы, которые будут присланы в течение минут пяти ценятся выше (маловероятно, что у людей будет время вычитывать и исправлять их вручную), но в целом можно прислать хоть когда в течение суток.
Это первый прогон соревнования, поэтому я пока не заморачиваюсь с такими вещами, как предварительные формы регистрации для участников или использование TSA серверов (RFC 3161) для выставления подписанных timestamps на результаты. Это все добавлю осенью, когда сделаем международный прогон соревнования в том же формате.
Все ответы и результаты будут потом опубликованы, рейтинги выставлены по каноничным ответам (собраны вручную). Можно участвовать анонимно.
Тот, кто займет топовые места, будет сидеть в топе лидерборда до осени 🎉
Почему в расписании стоит “после 10:00 CET”? В это время я запускаю скрипт получения следующего Random Seed из Blockchain (хоть какая-то от него польза), что займет минут десять. Это нужно для того, чтобы выбор файлов и вопросов был одинаковым сюрпризом для всех участников. Описание процесса и исходники всех скриптов лежат в открытом доступе на Github.
К слову, вся repository выложена под Apache 2.0 License 🍻. Если хочется сделать свой Rag Challenge со своими документами и задачами - можно смело переиспользовать код.
Кто думает попробовать поучаствовать? Ставьте 🤝.
Вaш, @llm_under_hood 🤗
---
PS: Кстати, OpenAI тоже будет участвовать. Я потом прогоню все документы и вопросы через их ассистентов тоже 😁