Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Neo4j, наконец, выложили видео про LLM и text-to-SQL
В этом получасовом докладе мы с коллегой из sister company сравниваем способности разных LLM-ок к генерации запросов для реляционных и графовых баз данных.
Будет интересно тем, кто хочет увидеть варианты улучшения качества ответов LLM в разных конфигурациях. И еще тем, кого интересует тема создания специализированных бенчмарков под задачу (а с этого, по-хорошему, должен начинаться любой проект с LLM под капотом).
Слайды есть тут.
Видео: https://youtu.be/YbJVq8ZOsaM?si=r8AjLduNtXcdfq7L
Ваш, @llm_under_hood 🤗
Новости про курс по AI-ассистентам
Пригласительные письма первой когорте отправлены. Проверьте свою почту!
Группу старались сделать небольшой, но разнообразной по бэкграунду, задачам и рабочим ролям.
Что дальше? За декабрь хотим собрать feedback по когортам и адаптировать подачу материала, где это требуется. Затем продажи курса откроются для всех без ограничений: скорее всего, в начале следующего года.
Записаться в waitlist и узнать больше о курсе можно здесь.
Если вы уже записывались, повторно этого делать не нужно: все сохранилось и лист ожидания в силе.
Ваш, @llm_under_hood 🤗
А давайте запустим в канале акселератор AI-проектов?
AI Bootcamp: AI For Good
Идея такая. Мы ищем проекты и стартапы c LLM под капотом, у которых есть социально значимые цели. Проект может быть на стадии от “есть оформившаяся идея, которую мы уже начали пилить” до “есть MVP, который хотим уже показывать клиентам и инвесторам”.
Пять стартапов мы возьмем в bootcamp, где:
→ поможем с технологиями и процессами, особенно с LLM-driven реализацией
→ познакомим с экспертами, инвесторами и компаниями в Европе
→ поможем с развитием стартапа и процессом разработки продукта на рынки Европы
→ подскажем, как быть с юридическими тонкостями, оформлением документов и поиском финансирования.
Участие полностью удаленное. Но есть три ключевых требования:
(1) Идея проекта должна быть социально значима: она должна решать хотя бы одну из задач в списке Sustainable Development Goals от ООН. Это проще, чем кажется: SDG достаточно широкие и универсальные, и многие проекты способны внести свой вклад - важно лишь увидеть, как именно ваша идея может быть здесь полезной.
(2) Команда должна быть потенциально заинтересована в запуске проекта и открытии компании на Мальте.
(3) Должно быть реальное желание развиваться и двигать свой проект вперед. Это bootcamp, и мы будем плотно работать с командами в нем.
Да, участвовать из РФ тоже можно.
Почему такие требования?
Все просто. Проект акселератора запускается на Мальте компанией Mellifera в рамках инициативы ООН. Мальта заинтересована в привлечении грамотных специалистов и компаний, а тут и повод интересный, и люди хорошие собрались. Участие в проекте ООН открывает множество дверей для всех вовлеченных, а Mellifera - это один из моих самых интересных клиентов. Они хотят поучаствовать в перспективной инициативе, сделать мир лучше и запустить этот bootcamp на Мальте.
Если вы присоединитесь к bootcamp (первый шаг - заполнить предварительную анкету по ссылке), то с декабря мы начнем предварительно общаться, а в январе - плотно работать: воркшопы, курсы, лекции. 🔥 Здесь постараемся подключить представителей интересных компаний вроде Mistral AI и Anthropic. Как я уже говорил, участие в проектах ООН открывает много дверей.
До весны мы будем помогать вам развивать ваши идеи и продукты. Самое интересное начнется в марте - команды презентуют свои идеи и наработки жюри в финале на Мальте. А компания-финалист получит возможность поехать летом в Женеву на мировой финал инициативы AI for Good - презентовать свою идею жюри ООН, знакомиться с инвесторами и компаниями глобального уровня. К слову, на саммите AIFG выступал и Sam Altman.
Как поехать, как оформить визы, как зарегистрировать, как разобраться с финансированием - с этим всем, естественно, поможем. Поездку в Женеву оплатим. Если не запускали стартапы, не работали с инвестициями или не выходили на рынок Европы - не страшно. Задача bootcamp - научить и помочь вывести на рынок социально значимый продукт с LLM под капотом.
Кстати, переезжать на Мальту не требуется. Это уже только при желании.
Интересно?
👉 Заполняйте форму на сайте. Срок до конца ноября.
👉 Если есть вопросы - задавайте в комментариях или пишите @akitka, @abdullin.
👉 Смело делитесь этим сообщением - буткамп запустится только если будет достаточное количество стартапов-участников на входе.
NB: Понимаю, что Sustainable Development Goals от ООН можно интерпретировать по-разному. Можно удариться в greenwashing и политику. Наш AI bootcamp не про это, а про то, чтобы помочь запустить идею, которая реально может помочь сделать мир лучше. Поэтому, пожалуйста, давайте в комментариях фокусироваться на позитивной стороне. Она точно есть.
Ваш, @llm_under_hood 🤗
Что же я делаю, когда клиенты просят очередного чат-бота?
Это окончание поста. Начало тут.
Поэтому я изначально всегда приоритизирую такие решения проблем клиента, которые можно будет закрывать быстрее. Так будет больше успешных закрытий проектов в год.
Иногда это требует говорить “нет, я не буду помогать с чат-ботом”. Но это можно сказать и мягко “чат-бот по техническим справочникам оборудования - это долгий проект. Давайте лучше посмотрим на ваши проблемы еще раз и выберем такую, которую мы можем решить в разы быстрее. И чтобы выгода для компании была в разы больше”
Это “посмотреть на проблемы еще раз” обычно заключается в процессе сопоставления. Мы смотрим на текущие проблемы клиента - что мешает компании расти, куда уходит время людей или тратятся деньги. А потом сопоставляем их с известными кейсами успешных внедрений AI (как раз для этого я и трепетно собираю свой портфель AI кейсов). И в процессе можно найти более простые и быстрые задачки вроде:
(1) Проблема - люди тратят 70-80% времени на чтение purchase orders от разных вендоров и ручное вбивание их в систему. Простое решение - сделать копилота, который извлекает данные из purchase orders в таблицы. Data Extraction.
(2) Проблема - компания тратит кучу времени на чтение тендеров на поставку оборудования в новостройки и оценку прибыльности. Простое решение - сделать копилота, который извлекает список позиций из строительных тендеров, а потом сопоставляет с фактическими затратами на аналогичные позиции из истории. Задача здесь не делать точную систему, а систему, которая достаточно хорошо и быстро сможет дать оценку любому тендеру данного клиента. Data Extraction + Search (Query Expansion)
(3) Проблема - крупная юридическая компания тратит кучу времени своих адвокатов (а это 300 евро в час) на составление инвойсов на услуги. Простое решение - сделат копилота, который берет неструктурированные time-sheets и преобразует их в черновики детализированных инвойсов для клиента. Data Exraction + Transformation.
Что общее в этих примерах - scope проекта очень четко очерчен. Можно забрать себе размеченные документы с ground-truth и потом спокойно с ними поработать. И сильно меньше вероятности, что возникнут неожиданные хотелки внутри проекта - мы либо преобразовываем информацию точно по спецификациям либо нет.
Если получается, то проект считаем сданным. А потом по схеме: "Да, кстати, а вам нужно его удобно интегрировать в рабочий процесс сотрудников или еще решить вот такую проблему? Мы можем тут предложить…"
Ваш, @llm_under_hood 🤗
Через час на NODES 24 будем рассказывать про text-to-SQL
И еще про text-to-cypher. Идея в том, чтобы сравнить способности разных LLM-ок к генерации запросов для реляционных и графовых баз данных.
Для этого мы взяли модель данных из системы документирования технических и организационных зависимостей в корпорациях (на базе Contexture) и завели список вопросов-ответов. Например вопрос, который требует рекурсии:
If the Customer Relationship Management (CRM) system failed while its maintainer was on vacation, how many other systems that depend on it would be impacted directly and indirectly?
Бенчмарк Claude 3.5 Haiku - дороже и умнее
Новая младшая модель от Anthropic отражает тренд последовательного роста качества небольших моделей. Haiku в среднем подтянула очки по общим показателям, за исключением Code+Eng (*)
А еще у модели почти в два раза выросла способность мыслить! В категории Reason произошел скачок с 35 до 68. Это самое большое значение среди всех моделей Anthropic. Возможно мы видим новую архитектуру следующего поколения моделей?
На смену архитектуры намекает и четырехкратное увеличение стоимости Anthropic Haiku. Теперь она уже не "смышленая и очень дешевая". Можно найти подешевле и умнее. Например, GPT-4o Mini или Google Gemini Flash 1.5 8B.
Но общий тренд роста качества моделей радует. Посмотрим, не проявится ли рост Reason в следующих релизах моделей постарше.
Ваш, @llm_under_hood 🤗
(*) Я переименовал категорию Code в Code+Eng, чтобы точнее отражать наполнение бенчмарков - не только написание кода, но и анализ, review и интерпретация.
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
Лучшие проекты с LLM - это те, которые делают отчеты, а не болтают
Я уже не раз говорил, что я стараюсь не браться за проекты, где клиент хочет себе conversational search или чатбота или что-то еще с текстовым полем "А что вы хотите сделать?"
Причина - у такого продукта слишком много нюансов и переменных. Этот продукт делается для людей, что открывает дверь для субъективщины, непоняток, длинных циклов разработки. В итоге, статистически, получаются длинные проекты и не очень довольные клиенты.
А как тогда быть? Да просто копать в настоящие хотелки клиента и пытаться свернуть продукт туда, где нужно работать с процессами или системами.
Только вчера шло обсуждение нового клиента, который хотел глобальный data warehouse с conversational search и умными ассистентами. Когда я сказал, что это делать совсем не выгодно - поискали альтернативные варианты и нашли пару кейсов с data extraction (пример кейса) или lead generation (пример кейса).
А последние как раз превосходно сводятся к обычным отчетам. Отчеты - сухие, конкретные и часто про деньги. На скриншоте как раз пример демо-отчета, который я только что отправил отделу продаж одного из клиентов. Для запуска этого на проде не нужно никаких хитрых серверов, микросервисов и деплойментов. Достаточно будет небольшую виртуалку и скрипт, который будет крутиться по расписанию.
Отчеты бывают читаемые людьми или для выгрузки в системы. Особый UX там не требуется, а если нужно причесать UI, то хватит и GPT-o1 (дизайн на фотке - его). А еще обычно не нужно ничего патчить, внимательно следить за нагрузками и аптаймом. Customer Support сводится к минимуму, а первые итерации можно просто прогонять у себя в юпитере и присылать файлом клиенту.
В общем, проекты с LLM под капотом, которые сводятся к отчетам - это сплошная красота (по скорости закрытия). И, по моей статистике, большинство клиентских ситуаций как раз можно свести к этому. Достаточно просто вспомнить заветы product-driven development и копнуть поглубже.
Ваш, @llm_under_hood 🤗
Кейс - графовая система организации знаний для завода / корпорации.
На TedAI Vienna я встретился с ребятами, которые пилят Data Context Hub - систему для организации корпоративной системы знаний для заводов и огранизаций. Эта система подгребает под себя разносторонние источники данных и потом выстявляет наружу API для работы с ними.
Например, API для ответа на вопрос, “а сколько гаек X12123 версии 123 было использовано в машинах на последней неделе?” или “а кто может заменить рабочего X, которому надо нарезать 345 гаек X12123 версии 124, но заболел?”
Самое интересное у них:
(1) Они рано поняли, что векторные базы, семантический чанкинг (или любой чанкинг) - это бесполезная и вредная фигня в тех областях, где галлюцинации нам не нужны.
(2) Достаточно быстро поняли, что секретный рецепт для получения точных ответов на разнообразные ответы - “просто надо нормально предобрабатывать и структурировать данные”.
(3) Плюс быстро сообразили, что generic chatbot interface - это тупиковый путь. Лучше выставлять наружу специализированные интерфейсы под конкретные задачи, которые будут работать заведомо лучше (Dedicated Agents с заранее собранным инструментарием и контекстом под задачи)
Но про все это мы и так уже давно говорим в канале. Дальше начинается самое интересное. У них такое разнообразие данных, сущностей и контекстов, что все предобработать автоматически невозможно. А вручную это сделать - не хватит времени.
Поэтому они они после data intake ставят context mapping layer (все читали про Context Map из Domain Driven Design, так ведь?) В нем поток сырых данных размечается, сопоставляется, привязывается к сущностям и контекстам. И эти ребята просто выставили наружу интерфейс, в котором эксперты у клиента сами могут набросать правила преобразования их собственных сырых данных в их собственные размеченные данные. А если что-то не работает - поменять.
Подход похож на knowledge mapping, например из ассистента маркетолога, только в последнем эксперты у нас еще и сами данные раскладывали 😎
Эти данные потом грузятся в графовую базу данных, формируя готовую модель. А когда приходит время отрабатывать конкретные API запросы, то LLM обходит нужные ветки графа, собирая информацию для ответа. При этом будут использоваться правила и подсказки для данного типа API запроса.
Я говорил, что графовые базы данных обычно ведут команды в ложном направлении. Люди не хотят думать и все пытаются сделать автоматическую нарезалку данных, которая мелко нашинкует все на сущности и отношения. Данный кейс - это исключение. Эксперты вручную определяют правила нарезки данных.
Авторы Data Context Hub партнерятся с BMW и Siemens. Судя по всему, точности и гибкости системы хватает для небольших заводиков.
Кстати, забавно, что на сайте в use cases они еще упоминают embeddings, но в самой документации к продукту ни слова про вектора/chunks/embeddings. Возможно, хотят направить не слишком внимательных конкурентов по ложному следу.
Ваш, @llm_under_hood 🤗
Я сломал очередной стартап
Ребята с богатым нишевым опытом пилят платформу в EU по автоматизации процессов на базе AI. Они позвали меня в роли technical advisor на созвоны (Advisory Board, Founders + Tech Leads).
Когда созвоны начинались, вопросы были про то, как лучше втыкать RAG + индексацию в их процессы, как бороться с галлюцинациями, как можно реализовать чат-ботов.
Сегодня создатель на созвоне потирал руки со словами:
Ринат, ты мне поломал всю картину мира и упростил стратегию стартапа. Мы же можем взять весь мой опыт и просто захардкодить его как checklists в custom chain-of-thought рутине. Нам не нужно делать сложную платформу, и мы можем клиентам предложить решения вот прямо сейчас. А если сделать NoCode конструктор для формализации этого процесса (с верификацией качества), то вообще…
PS: Слайд про подобных агентов из курса. Эту часть я уже записал и переделывать даже не надо)
Читать полностью…Аренда H100 за $2 в час - про резкое падение цен на GPU
Очень детальный разбор ситуации есть в новой статье на latent space.
Если кратко, то в прошлом году было сложно арендовать H100 за 8 долларов в час в заметных количествах. В последние месяцы из-за кучи факторов среднаяя стоимость стала падать до двух долларов. См, например, цены на площадке SFCompute.
Плюс люди, наконец, поняли, что обучение моделей с нуля - это не так просто. Нынче легче взять хорошую базовую модель и довести ее напильником (либо нормальными промптами либо тюном). Поэтому все набранные кредиты, неиспользованные часы и кластера выплескиваются на рынок и сбрасывают цены. Плюс на горизонте уже маячат BH200.
Но есть один нюанс. Рынок - не дурак. Относительно дешевые конфигурации H100 - это пока именно, что излишки. Там, скорее всего, не будет InfiniBand, будут медленные хосты, проблемы с сетками или молодой неопытный оператор. Чем ниже цена - тем больше грабель.
Но это только начало тренда. Думаю, что он продолжится в следующем году, делая подобные мощности более доступными для небольших компаний.
Ваш, @llm_under_hood 🤗
Как может выглядеть checklist?
Например, так, как на картинках. Это скриншоты из бенчмарка, который мы делаем для доклада на NODES '24 (Neo4j dev conference).
Этот бенчмарк оценивает то, как качественно LLM преобразовывает запрос пользователя в запрос по базе данных (SQLite/neo4j).
В данном случае я задаю все вопросы из checkist на каждый запрос пользователя перед тем, как она начнет генерировать финальный ответ. Это все делается одним запросом к LLM.
Добавление такой chain of thought (захардкоженной в виде structured output) улучшает качество ответов с 76 до 81 на этом бенчмарке.
Вы пробовали такой подход? Напишите про результаты!
Ваш, @llm_under_hood 🤗
Дайте мне минуту, и я объясню, как связаны котики и RAG-и
Нет, это не связано с Игорем Котенковым, который регулярно приводит новых подписчиков из своего канала - @seeallochnaya.
Мне часто задают вопрос, который звучит примерно так.
Ринат, я хочу сделать поиск/бота для ответов на вопросы по переписке/документам компании/моим заметкам/FAQ-ам службы поддержки/продуктам. Какой RAG лучше начать смотреть?
Самый частый комментарий про исходники решения - победителя Enterprise RAG Challenge звучит примерно так:
Заварил чайник, чтобы сесть разобраться в исходниках. К концу первой кружки удивился, что так мало кода.
response = client.beta.chat.completions.parse(
model="gpt-4o-2024-08-06",
messages=messages,
response_format=ChainOfThoughtPydanticClass
)
class Size(BaseModel):
width: float
height: float
size_inches: Optional[Size] = Field(None, description="Dimensions in inches (width, length)")
Вопрос из нашего комьюнити выпускников:
есть ли у нас тут спецы, кто умеет готовить многомодальные модели?
Я хочу сейчас натренировать модель текст + временные ряды (time-series) и не хочется собирать самому шишки, которые кто-то уже собрал.
Тема пока что не популярная, но это скоро поменяется.
Новая GPT-4o - третье место в бенчмарке 🎉
Новая версия GPT-4o от OpenAI выглядит очень хорошо и недорого (`gpt-4o-2024-11-20` в API). OpenAI даже не особо писали про эту модель - просто опубликовали пост в X:
GPT-4o got an update 🎉
The model’s creative writing ability has leveled up–more natural, engaging, and tailored writing to improve relevance & readability.
It’s also better at working with uploaded files, providing deeper insights & more thorough responses.
Anthropic Sonnet 3.5 1022 - это очень классная модель
(1) Она поддерживает хорошо работу с PDF
(2) У этой модели есть кэширование промптов
(3) делать structured data extraction с checklist и custom chain of thought на ней одно удовольствие.
Хотя Anthropic пока и не завел structured outputs на базе constrained decoding (как это сделали в OpenAI), но их модели понимают JSON схему без каких-то нареканий. А выход у них пока без ошибок (если не перегружать контекст и соблюдать signal-noise ratio).
Что я делаю для извлечения данных из сложных PDF недорого:
(1) загружаю системный промпт со схемой в первое сообщение. Помечаю для кэширования через "cache_control": {"type": "ephemeral"},
. Схему конвертирую в строку вот так:
json.dumps(Model.model_json_schema(), indent=2, ensure_ascii=False)
{
"role": "assistant",
"content": "Here is the JSON requested:\n{"
}
{
и валидирую загрузкой в исходную pydantic modelИтак, тот самый курс от LLM под капотом
готов, и мы набираем первую когорту участников. Ссылка ниже.
Полное название курса “LLM под капотом: выбираем эффективные технические решения для AI-ассистентов”. Именно об этом я и буду рассказывать 3.5 часа на видео - с разбором кейсов и примерами.
Курс в записи, поэтому можно будет возвращаться к нему по мере возникновения у вас новых задач. Чат поддержки - задать вопросы мне и пообщаться с другими участниками - тоже будет.
Самое ценное, что есть в этом курсе - библиотека паттернов и кейсов. С ней можно быстро подбирать работающие решения под разнообразные бизнес-проблемы.
Для создания этой библиотеки я заново прошелся по известным мне кейсам успешных внедрений AI/LLM. Архитектуру каждого кейса я разобрал на элементы, а потом выделил паттерны, которые повторяются снова и снова, даже в разных отраслях. Потом эти паттерны я отранжировал по степени сложности и разобрал в контексте AI-кейсов, в которых они применялись. Получился отличный рабочий инструмент, который помогает мне - а после курса, надеюсь, и вам поможет, - выводить продукты с LLM под капотом на рынок быстрее.
Продажи еще не начались. Сейчас можно записаться в первую когорту и получить возможность купить курс уже на днях.
Для первой когорты (может быть, и для пары последующих тоже) проведем живую Q&A встречу - я отвечу на ваши вопросы по материалам курса, а от вас буду ждать фидбэка.
Когорты сделаны только для того, чтобы собрать фидбэк и отладить подачу курса. В итоге курс будет доступен для продажи без ограничений, и всем независимо от времени покупки будет доступна актуальная версия.
Ответы на вопросы про курс собраны тут 👈. Там же можно заполнить форму на участие в первой когорте или просто оставить email для получения уведомления о начале общих продаж.
На скриншоте - общая карта всех материалов курса. Если приглядеться, то можно разглядеть слайды с разбором кейса про Sales Lead Generation. Анализ Checklists и Custom Chain of Thought там рядом.
Ваш, @llm_under_hood 🤗
“Ринат не делает чат-ботов!”
Это открытие недавно сделали несколько команд, которые пытались привлечь меня для технического консалтинга в свои проекты c уже выбранными решениями.
Давайте объясню почему я не берусь за чат-ботов или обычных поисковых ассистентов. И что делать с клиентами, которые хотят такого.
Это очень просто. Статистически, типовой проект чат-бота или поискового ассистента - это длительный проект с непонятным окончанием и наличием осадочка у клиента.
Скажем, сама концепция чат-бота подразумевает текстовый интерфейс с кучей разнообразных требований и невозможностью быстро сдать проект "на 5". Например, в процессе могут всплывать такие хотелки клиента:
(1) чтобы учитывал предыдущие сообщения в чате
(2) чтобы знал дату рождения директора
(3) чтобы разговаривал вежливо и корректно
(4) чтобы не лил воду и говорил кратко
(5) чтобы мог подстраиваться под хотелки каждого пользователя
(6) чтобы никогда не галлюцинировал про финансы
(7) чтобы учитывал права доступа пользователя при доступе к документам
(8) чтобы знал имя собаки директора
(9) чтобы учился на ошибках
(10) чтобы читал Excel файлы.
И этот список хотелок не остановить. А ведь каждую надо делать, отлаживать. Может даже потребоваться пересобрать весь pipeline, а потом как-то протестировать, что точность ответа не упала из-за регрессии. А сами тесты полностью даже не автоматизируешь - надо бегать к клиенту и просить их оценить каждую новую версию.
Да, такой проект может принести вендору более 1M EUR, но он растянется на месяцы и легко загрузит команду в 4-6 человек на это время (это цифры из конкретного кейса, который до сих пор пилят).
Я предпочитаю вместо длительной возни с одним нудным проектом точечно закрыть 5 мелких проектов. Поэтому я стараюсь выбирать такие проекты, чтобы можно было сказать “мы с вероятностью в +80% можем его быстро сделать так, чтобы клиент был доволен”.
Ценность клиенту обычно доставляется при закрытии проекта. Правильным выбором пректа, мы можем это делать быстрее и чаще.
Успешное закрытие каждого проекта - это новые бизнес-возможности. Работа на этом ведь не останавливается. Клиент, вкусивший возможностей от автоматизации с LLM под капотом, прибежит с новыми хотелками и идеями. А ведь еще и старый проект можно лучше интегрировать в процессы компании, а для этого нужно будет звать дополнительные команды и открывать новые бюджеты.
Наглядный пример. Вчера мы сдали клиенту основную часть проекта по генерации лидов на рынках двух стран. На eval прогоне система прошлась по 330 компаниям из реестра и самостоятельно дополнительную информацию по 58 компаниям. Клиент проверил и сказал, что 10% из этого были известные компании, 42% - мало информации, а вот 48% - это новые компании. Для них мы нашли сайты, почтовые адреса и/или телефоны. Причем это все недавно открытые компании, к которым самое время заходить с предложениями. Выборка была случайная.
Бизнес посчитал число компаний в бизнес-реестрах стран и понял масштабы. Причем, вопрос о “внедрять или не внедрять” даже не стоял - запускать надо уже. Тут скорее у них возник вопрос - “как адаптировать бизнес-процессы в компании, чтобы продажники могли начать обрабатывать новый поток клиентов” и “как это сделать в разных странах”.
Естественно, что к этому повороту мы были готовы заранее: “А давайте попробуем в одной из стран пилот разворачивания вот этой удобной CRM, в которую мы будем каждую неделю подгружать новые лиды из AI платформы, продажники будут последовательно по ним проходить, а бизнес будет видеть метрики по процессу. Мы вам все настроим и подключим” - “Ну-ка, расскажите про это подробнее!”
Когда закрывается один AI Case, обычно открывается 2-3 новые возможности проектов. А это означает больше пространства для роста. При этом рост уже не требует AI/LLM/GPT специалистов, там обычные интеграторы и разработчики.
Окончание тут.
История развития State of the Art локальных моделей.
Ловите картинку на базе бенчмарков. Вместо трендов теперь для каждой категории модели отображается нормальный cumulative maximum.
Gemini 1.5 Flash 8B добавлен со звездочкой - его нельзя выкачать и запустить локально. Надо будет ждать, пока не появится открытая модель.
NB: Модели разделены условно на те категории железа, которые я чаще всего вижу у клиентов. Считаем VRAM на запуск с запасом места под контекст и без квантизаций.
На картинке видно, что крупные модели начали появляться относительно недавно, но у них прогресс пока быстрее всего идет.
Маленькие модели, которые влазят в 4090, достаточно долго стагнировали. Gemini 1.5 Flash 8B стал недавно внезапным рывком.
Ваш, @llm_under_hood 🤗
Лайфхак для технических продуктов
Если у меня появится время на свой продукт c LLM под капотом, то я обязательно в нем хоть как-то пропишу тему sustainability. Это заметно увеличит его шансы на успех. Сейчас объясню почему.
Пару недель назад, еще до того, как я слег с этой дурацкой простудой, мы провели в Вене два технических Хакатона про LLM/Data Science. Общая тема: Sustainability - про бережливое отношение к окружающему миру. Эта тема, как секретное рукопожатие, открывает многие двери с минимальными усилиями.
Первый Хакатон - Логистический для Walter Group. В нем участники писали алгоритмы, которые управляли маленькими транспортными компаниями в симуляции Европы. Симуляция, помимо всего прочего, учитывала расход топлива, выбросы CO2 и усталость водителей.
Кода для этой части симуляции - около строчек 200 на Python, но этого было достаточно, чтобы на весь хакатон вешать тэг Sustainability. А последнее уже дает плюс для участников и проводящих его компаний. Больше приходит людей (в этот раз - 90), больше сотрудников потом себе находят компании.
Второй - Sustainability RAG Challenge. У коллеги есть Венское DS/ML community, и он решил провести первый Хакатон. Взял за основу Enterprise RAG Challenge, но в качестве документов сфокусировался на Sustainability Reports компаний. Это был осознанный и очень грамотный выбор.
Как только он рассказал про идею в компании, мгновенный ответ был: “Без вопросов! Проводи в головном офисе в выходные. Напитки мы заранее приготовим, на пиццу оставим денег, OpenAI tokens отсыпем с запасом. Что-нибудь еще надо?”. Все дали, все прошло хорошо, думают повторить.
Общая идея обоих мероприятий - взяли базовую концепцию, которая довольно неплоха сама по себе. Но ee подняли на другой уровень, дополнив чуть-чуть тематикой sustainability.
Добавление Sustainability обычно требует не очень больших усилий, но сразу дает огромный буст идее. Всем сразу видно, что авторы стремятся не просто зарабатывать много денег или репутации, а еще и приложили усилия и подумали про изменение мира к лучшему. Таким не жалко дать побольше денег и открыть побольше дверей.
Да и просто приятно работать с проектами, которые не только деньги зарабатывают, но и пытаются мир к лучшему изменить.
Вот еще несколько примеров:
Во время разработки логичистической симуляции мы достаточно легко получили грант как раз на технологии рассчета влияния логистики на окружающую среду. Грант оплатил месяц работы небольшой команды.
Бесплатное приложение с прогнозами погоды MyRadar в 2023 году собрало US$1.65M на запуск пары спутников, чтобы отслеживать пожары и качество воздуха. Ну и качество прогнозов улучшили.
Да и вообще, если взять список всех “хотелок” YCombinator и помаппить на цели бережливого развития ООН (UN Sustainable Development Goals - SDG), то получается интересная картинка: хотелки от YC не только вовсю используют AI/LLM, но и обязательно закрывают по 1-3 SDG.
Напомню, что YCombinator - это кузница крупнейших технических компаний вроде Stripe, Twitch, Airbnb, Reddit и Instacart. Они вложились в 4000+ компаний общей стоимостью US$600B. Их хотелки - это индикатор особенно выгодных коммерческих направлений. Они называются Request For Startups.
Бенчмарк новой Claude 3.5 Sonnet v2 - лучше прошлой версии, но не TOP 10.
Только что в Anthropic зарелизили Claude 3.5 Sonnet v2. На продуктовом бенчмарке она в TOP 10 не попала, заняв 11ое место в общем зачете.
У новой версии подтянули следование инструкциям и работу с кодом (Code - это не только написание кода, но и анализ, преобразования и рефакторинг).
В целом неплохая модель, но в продуктовых задачах можно получить лучшее качество за меньшие деньги.
Кстати, для тех, кто очень нежно любит качество Claude 3.5 Sonnet в задачах простого написания кода, в комментарии выложу скриншот небольшого бенчмарка для Nodes24 конференции.
Ваш, @llm_under_hood 🤗
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
На TedAI Vienna. Создатель xLSTM рассказывает про свой новый проект, который не использует трансформеры.
Кто-нибудь ещё пришел сюда?
Бенчмарк Grok-2 от X.AI - 12 место
Это было внезапно. Я от X.AI не ожидал ничего работающего. Но у них Grok-2 неожиданно оказалась настолько хороша по показателям на продуктовом бенчмарке, что заняла место в первой дюжине. Даже Reason
не самый стыдный - 58.
У модели в соседях - старые версии GPT-4, но она все же будет пониже, чем локальная Qwen 2.5.
При этом пользоваться ей пока совершенно невозможно - на OpenRouter дикие RateLimits.
Получается, что в топ-20 может вырваться практически любая компания, было бы желание, время, деньги на вычислительные ресурсы и доступ к разнообразным данным. Ждем больше конкурентов, желательно локальных.
Ваш, @llm_under_hood 🤗
🔗 Бенчмарк GPT o1 - топовая модель
🔗 Бенчмарк Qwen 2.5 - лучшая локальная модель
🔗 Бенчмарк Google Flash 1.5 8B - Прекрасное далеко
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
OpenAI Swarm - пример мультиагентной системы
OpenAI написали целую статью про организацию агентов и открыли небольшой фреймворк с примерами - Swarm.
Под капотом нет ничего сверхъестественного. Каждый агент - это своя небольшая рутина с собственным контекстом и набором инструментов.
refund_agent = Agent(
name="Refund Agent",
instructions="You are a refund agent. Help the user with refunds.",
tools=[execute_refund],
)
def transfer_to_refunds():
return refund_agent
sales_assistant = Agent(
name="Sales Assistant",
instructions="You are a sales assistant. Sell the user a product.",
tools=[place_order],
)
triage_agent = Agent(
name="Triage Agent",
instructions=(
"You are a customer service bot for ACME Inc. "
"Introduce yourself. Always be very brief. "
"Gather information to direct the customer to the right department. "
"But make your questions subtle and natural."
),
tools=[transfer_to_sales_agent, transfer_to_issues_and_repairs, escalate_to_human],
)
Настал тот момент, когда мы замучались удалять ботов
Поэтому я попросил Claude написать мне бота, который будет верифицировать новых участников нашего чата (там уже более 1300 участников).
Бот только что вышел на стражу. В нем целых 166 строчек кода на golang. Его от Shieldy отличает то, что логику верификации теперь мы можем переписать очень быстро.
Если кто хочет - может попробовать его сломать. У вас есть одна попытка 😎
Ваш, @llm_under_hood 🤗
PS: Бот заменяет старого Shieldy и срабатывает только на момент добавления и верификации. Существующие сообщения модерируются, как и раньше, вручную. В добром чатике банят только за спам, яростный оффтопик и токсичность.
Бенчмарк Google Flash 1.5 8B - Прекрасное далеко
Помните недавно мы разбирали маленькие локальные модели от Llama 3.2, и там они прямо подвинули State-of-the-art? На этом прогресс не останавливается.
У Google стала доступна новая версия Gemini Flash 1.5 8B, и она показывает очень хорошие результаты на моих продуктовых бенчмарках . Эта модель размера 8B держится на уровне старых GPT 3.5 или Llama 3 70B. Она почти догоняет обычную 1.5 Flash по бенчмаркам.
Основной недостаток этой модели - она закрытая. Пусть размеры и известны, но скачать веса и запустить ее локально не получится.
Зато Gemini Flash 1.5 8B можно использовать очень недорого. Плюс, как это продемонстрировал сам Google - все, что сделала одна компания, другая сможет повторить. Поэтому ждем открытых моделей такого же уровня.
Кстати, официальная страница бенчмарков, наконец переехала на новое место жительства. Также там добавились бенчмарки за сентябрь и август. Начиная с сентября, таблица стала немного интерактивной - модели можно фильтровать и подсвечивать.
Ваш, @llm_under_hood 🤗
🔗 Бенчмарк GPT o1 - топовая модель
🔗 Бенчмарк Qwen 2.5 - лучшая локальная модель
🔗 Gemini 1.5 Pro 002 - внезапно третье место!
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
OpenAI Canvas - аналог Claude Artifacts
OpenAI подсуетились и встроили в свой интерфейс режим Canvas. Он сильно похож на вариант от Anthropic и работает на GPT-4o.
В обоих случаях мы можем работать с текстом и кодом. ChatGPT может редактировать код, делать ревью, работать с комментариями и логами. На скриншоте пример, когда я отправил прототип golang http сервера в canvas и попросил сделать review кода.
OpenAI не поленились и вынесли отдельные операции (Code Review, Port to a language итп) прямо в кнопки в интерфейсе. Это хорошо - они наверняка отладили эти промпты на куче тестовых кейсов.
Еще можно выделить кусок текста на экране и попросить ChatGPT изменить его или объяснить. Переключение между версиями есть тоже.
В прошлом, я переключился в ряде задач с ChatGPT на Anthropic только из-за появления таких удобных Artifacts. Сейчас выглядит так, что OpenAI сделали еще больше удобных фич.
Где-то начали беспокойно шевелиться Cursor и аналоги. До их функционала Canvas еще очень далеко. Но если дело будет выгодным, OpenAI ничто не мешает расширить десктопную версию (там, говорят, Canvas уже тоже завезли), чтобы она работала с папками с кодом.
В общем, если у вас есть стартап или свой продукт - избегайте очевидных тропинок, по которым уже идет куча других компаний и могут пойти крупные игроки. Рискованное это дело. Скорость, с которой OpenAI повторили ключевой функционал Anthropic Artifacts это показывает.
Ваш, @llm_under_hood 🤗
PS: А еще Canvas удобен для работы не только с кодом, но и текстом.
Исходники 4-х решений из Enterprise RAG Challenge
Месяц назад у нас прошел первый раунд Enterprise RAG Challenge - дружеского соревнования по построению AI ассистентов на годовых отчетах компаний.
Итоги соревнования с кратким разбором победивших архитектур есть тут. Среди участников были и коммерческие системы.
А вот тут лежат исходники 4-х решений из этого списка, включая победившее. Там есть описания подходов и сам код. В некоторых случаях - лог провальных экспериментов.
Код я выпросил реальный - без особого причесывания и украшательства.
Если кратко:
- daniel - решение-победитель на базе checklist + structured outputs. Первое место.
- felix - multi-agent решение на базе ChatGPT-4o. Двенадцатое место.
- maria - assistants API. Тринадцатое место.
- pedro - локальное решение на базе openchat-3.5-0106. Девятое место.
Что будет дальше? Следующий раунд состоится попозже этой осенью в большем составе. Когда - сложно сказать, зависит от отдела маркетинга в TimeToAct, который сейчас очень загружен. Я бы рассчитывал на ноябрь.
Во втором раунде генератор вопросов будет перебалансирован, чтобы:
(1) было меньше вопросов без ответов (c N/A)
(2) было больше вариативности в вопросах, чтобы подход “в лоб” с checklist + structured outputs больше не мог так легко занять топовые места.
Ну и вопросники для участников будут побольше, чтобы мы вместе могли узнать чуть побольше про реально работающие подходы с LLM под капотом.
Ваш, @llm_under_hood 🤗
PS: Если кто-то еще из участников хочет поделиться своим кодом - шлите ссылки на гитхаб, я их добавлю в этот пост.
Бенчмарки Llama 3.2 - Так себе, но есть маленький нюанс 🤩
Meta недавно выпустила новые версии своей локальной модели Llama - 3.2.
Теперь Llama стала мультимодальной. Это произошло в ущерб когнитивным способностям на текстовых бизнес-задачах - там новые версии стали хуже прошлых версий сравнимого размера. До топов им далеко.
Смотрим на первую таблицу:
Llama 3.2 90B Vision работает на уровне Llama 3/3.1 70B
Llama 3.2 11B Vision работает на уровне прошлых 8B
Чисто по поведению на бенчмарках выглядит так, словно рост в ~20% размере моделей как раз обусловлен добавлением мультимодальных способностей к старым версиям. А небольшая просадка качества - тем, что дообучали на новых модальностях в ущерб текстовому качеству.
Это не делает модели хуже. Просто мой бенчмарк на данный момент тестирует только текстовую модальность, задачи на зрение появятся только в следующей версии.
И еще есть маленький нюанс, который круче всего остального в этом релизе. Размер маленького нюанса - 1B и 3B. Эти крошки заточены на работу "on-the-edge" даже с относительно слабыми процессорами (процессоры ARM, железо Qualcomm и MediaTek). При этом у них контекст в 128K tokens, а качество и следование инструкциям на продуктовых задачах неожиданно офигенные.
Помните я говорил, что DBRX 132B Instruct - это никому не нужная ерунда? Так вот, Meta Llama 1B ее догоняет, а 3B - уделывает. В общем, смотрите сами на соседей этих моделей на второй таблице.
А ведь это еще базовые модели без тюнов. Тюны обычно повышают качество моделей Meta на этом бенчмарке еще больше.
Прогресс не стоит на месте, будем ждать продолжения тренда, когда компании умудряются запихнуть побольше когнитивных способностей в модели поменьше. От этого выигрывают все. А Meta - однозначно молодцы.
Ваш, @llm_under_hood 🤗
PS: Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.