LLM под капотом @llm_under_hood Channel on Telegram

LLM под капотом

@llm_under_hood


Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.

LLM под капотом (Russian)

Добро пожаловать на канал "LLM под капотом"! Если вы интересуетесь разработкой продуктов на базе LLM/ChatGPT, то этот канал именно для вас. Здесь вы найдете выжимку важных новостей и разборы кейсов, связанных с использованием LLM и ChatGPT. Наш канал предлагает уникальную возможность быть в курсе последних тенденций и разработок в этой области, а также изучить успешные кейсы и уроки из практики. Наша цель - помочь вам погрузиться в мир разработки продуктов на базе LLM/ChatGPT и дать вам необходимые знания и инструменты для успешной работы. Присоединяйтесь к нам сегодня и станьте частью сообщества профессионалов, увлеченных разработкой продуктов с использованием LLM и ChatGPT!

LLM под капотом

21 Nov, 14:00


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)


(2) загружаю PDF напрямую во второе сообщение модели. Также помечаю для кэширования.

У меня PDF достается из CAS, но можно грузить хоть откуда. Главное - сконвертировать бинарную начинку в base64 для добавления в API запрос (так сделана работа с документами в бете):


def read_pdf_as_base64(env: Env, hash: str):
with env.storage.read_cas(hash) as file:
return base64.standard_b64encode(file.read()).decode('utf-8')

Кстати, под капотом Anthropic не просто распарсит PDF в текст, но и приложит картинки страниц к этому тексту. Это заметно повышает качество ответов.

(3) помещаю задачу из чеклиста в третье сообщение, уже не кэширую.
(4) в последнее сообщение добавляю


{
"role": "assistant",
"content": "Here is the JSON requested:\n{"
}

(5) к ответу модели добавляю { и валидирую загрузкой в исходную pydantic model

И потом все будет работать так:


results = []
for pdf in pdfs:
for question in checklist:
result = extract_data(schema, pdf, question)
results.append(result)


Причем schema кэшируется на все запросы, а содержимое pdf (самое большое) переиспользуется на все вопросы из чеклиста.

Такой процесс в итоге работает точнее и проще, чем комбайн из openAI GPT-4o со structured outputs и предобработкой PDF в отдельных специализированных моделях.

Ваш, @llm_under_hood 🤗

PS: Бенчмарк модели будет попозже

LLM под капотом

14 Nov, 12:38


А давайте запустим в канале акселератор 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 🤗

LLM под капотом

13 Nov, 08:03


Итак, тот самый курс от LLM под капотом

готов, и мы набираем первую когорту участников. Ссылка ниже.

Полное название курса “LLM под капотом: выбираем эффективные технические решения для AI-ассистентов”. Именно об этом я и буду рассказывать 3.5 часа на видео - с разбором кейсов и примерами.

Курс в записи, поэтому можно будет возвращаться к нему по мере возникновения у вас новых задач. Чат поддержки - задать вопросы мне и пообщаться с другими участниками - тоже будет.

Самое ценное, что есть в этом курсе - библиотека паттернов и кейсов. С ней можно быстро подбирать работающие решения под разнообразные бизнес-проблемы.

Для создания этой библиотеки я заново прошелся по известным мне кейсам успешных внедрений AI/LLM. Архитектуру каждого кейса я разобрал на элементы, а потом выделил паттерны, которые повторяются снова и снова, даже в разных отраслях. Потом эти паттерны я отранжировал по степени сложности и разобрал в контексте AI-кейсов, в которых они применялись. Получился отличный рабочий инструмент, который помогает мне - а после курса, надеюсь, и вам поможет, - выводить продукты с LLM под капотом на рынок быстрее.

Продажи еще не начались. Сейчас можно записаться в первую когорту и получить возможность купить курс уже на днях.
Для первой когорты (может быть, и для пары последующих тоже) проведем живую Q&A встречу - я отвечу на ваши вопросы по материалам курса, а от вас буду ждать фидбэка.

Когорты сделаны только для того, чтобы собрать фидбэк и отладить подачу курса. В итоге курс будет доступен для продажи без ограничений, и всем независимо от времени покупки будет доступна актуальная версия.

Ответы на вопросы про курс собраны тут 👈. Там же можно заполнить форму на участие в первой когорте или просто оставить email для получения уведомления о начале общих продаж.

На скриншоте - общая карта всех материалов курса. Если приглядеться, то можно разглядеть слайды с разбором кейса про Sales Lead Generation. Анализ Checklists и Custom Chain of Thought там рядом.

Ваш, @llm_under_hood 🤗

LLM под капотом

12 Nov, 11:31


Что же я делаю, когда клиенты просят очередного чат-бота?

Это окончание поста. Начало тут.

Поэтому я изначально всегда приоритизирую такие решения проблем клиента, которые можно будет закрывать быстрее. Так будет больше успешных закрытий проектов в год.

Иногда это требует говорить “нет, я не буду помогать с чат-ботом”. Но это можно сказать и мягко “чат-бот по техническим справочникам оборудования - это долгий проект. Давайте лучше посмотрим на ваши проблемы еще раз и выберем такую, которую мы можем решить в разы быстрее. И чтобы выгода для компании была в разы больше

Это “посмотреть на проблемы еще раз” обычно заключается в процессе сопоставления. Мы смотрим на текущие проблемы клиента - что мешает компании расти, куда уходит время людей или тратятся деньги. А потом сопоставляем их с известными кейсами успешных внедрений 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 🤗

LLM под капотом

12 Nov, 11:31


“Ринат не делает чат-ботов!”

Это открытие недавно сделали несколько команд, которые пытались привлечь меня для технического консалтинга в свои проекты 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 специалистов, там обычные интеграторы и разработчики.

Окончание тут.

LLM под капотом

06 Nov, 12:41


История развития State of the Art локальных моделей.

Ловите картинку на базе бенчмарков. Вместо трендов теперь для каждой категории модели отображается нормальный cumulative maximum.

Gemini 1.5 Flash 8B добавлен со звездочкой - его нельзя выкачать и запустить локально. Надо будет ждать, пока не появится открытая модель.

NB: Модели разделены условно на те категории железа, которые я чаще всего вижу у клиентов. Считаем VRAM на запуск с запасом места под контекст и без квантизаций.

На картинке видно, что крупные модели начали появляться относительно недавно, но у них прогресс пока быстрее всего идет.

Маленькие модели, которые влазят в 4090, достаточно долго стагнировали. Gemini 1.5 Flash 8B стал недавно внезапным рывком.

Ваш, @llm_under_hood 🤗

LLM под капотом

06 Nov, 09:22


Бенчмарк 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 под капотом

24 Oct, 11:41


Лучшие проекты с LLM - это те, которые делают отчеты, а не болтают

Я уже не раз говорил, что я стараюсь не браться за проекты, где клиент хочет себе conversational search или чатбота или что-то еще с текстовым полем "А что вы хотите сделать?"

Причина - у такого продукта слишком много нюансов и переменных. Этот продукт делается для людей, что открывает дверь для субъективщины, непоняток, длинных циклов разработки. В итоге, статистически, получаются длинные проекты и не очень довольные клиенты.

А как тогда быть? Да просто копать в настоящие хотелки клиента и пытаться свернуть продукт туда, где нужно работать с процессами или системами.

Только вчера шло обсуждение нового клиента, который хотел глобальный data warehouse с conversational search и умными ассистентами. Когда я сказал, что это делать совсем не выгодно - поискали альтернативные варианты и нашли пару кейсов с data extraction (пример кейса) или lead generation (пример кейса).

А последние как раз превосходно сводятся к обычным отчетам. Отчеты - сухие, конкретные и часто про деньги. На скриншоте как раз пример демо-отчета, который я только что отправил отделу продаж одного из клиентов. Для запуска этого на проде не нужно никаких хитрых серверов, микросервисов и деплойментов. Достаточно будет небольшую виртуалку и скрипт, который будет крутиться по расписанию.

Отчеты бывают читаемые людьми или для выгрузки в системы. Особый UX там не требуется, а если нужно причесать UI, то хватит и GPT-o1 (дизайн на фотке - его). А еще обычно не нужно ничего патчить, внимательно следить за нагрузками и аптаймом. Customer Support сводится к минимуму, а первые итерации можно просто прогонять у себя в юпитере и присылать файлом клиенту.

В общем, проекты с LLM под капотом, которые сводятся к отчетам - это сплошная красота (по скорости закрытия). И, по моей статистике, большинство клиентских ситуаций как раз можно свести к этому. Достаточно просто вспомнить заветы product-driven development и копнуть поглубже.

Ваш, @llm_under_hood 🤗

LLM под капотом

22 Oct, 16:07


Бенчмарк новой 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 под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.

LLM под капотом

20 Oct, 13:00


Кейс - графовая система организации знаний для завода / корпорации.

На 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 🤗

LLM под капотом

18 Oct, 08:19


На TedAI Vienna. Создатель xLSTM рассказывает про свой новый проект, который не использует трансформеры.

Кто-нибудь ещё пришел сюда?

LLM под капотом

14 Oct, 13:34


Бенчмарк 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 под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.

LLM под капотом

12 Oct, 07:48


PS: Слайд про подобных агентов из курса. Эту часть я уже записал и переделывать даже не надо)

LLM под капотом

12 Oct, 07:42


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],
)


Для красоты они еще добавляют TriageAgent, который может переключать между нужными агентами:



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],
)


Под капотом простой код, который конвертирует описания активных агентов в промпты, а все переключения между агентами и вызовы их инструментов упаковываются как вызовы стандартных OpenAI tools. В методичке все очень хорошо расписано, а сам код можно посмотреть на Github.

Концепция агентов - простых функций, со своим контекстом и набором инструментов работает очень хорошо. Помните, я в Марте писал про AI Ассистента для международной компании?

Там технически была как раз такая реализация, я построил Knowledge Map для продукта в виде структуры агентов и инструментов, которые необходимы для обработки запросов пользователей.

У каких-то агентов были инструменты в виде FTS поиска, какие-то знали, в каких папках искать, у третьих в контекст был встроен FAQ. А на входе стоял Triage Agent. Но тогда я еще не умел пользоваться tools/structured output, и в коде было много ненужных промптов и костылей. Сейчас это делается еще проще.

А как в ассистенте заранее знать, какие будут вопросы, чтобы подготовить армию агентов? Да просто смотреть на предметную область и задавать вопросы! В своем примере (который основывается на куче опыта) ребята из OpenAI же откуда-то узнали, что нужен TriageAgent/RepairsAgent/SaleAssistantAgent и RefundAgent?

(на самом деле паттерны повторяются из компании в компанию аналогично тому, как в компаниях повторяются должности и организационные структуры)

Кто еще смотрел этот код? Что думаете?

Ваш, @llm_under_hood 🤗

LLM под капотом

11 Oct, 07:25


Аренда H100 за $2 в час - про резкое падение цен на GPU

Очень детальный разбор ситуации есть в новой статье на latent space.

Если кратко, то в прошлом году было сложно арендовать H100 за 8 долларов в час в заметных количествах. В последние месяцы из-за кучи факторов среднаяя стоимость стала падать до двух долларов. См, например, цены на площадке SFCompute.

Плюс люди, наконец, поняли, что обучение моделей с нуля - это не так просто. Нынче легче взять хорошую базовую модель и довести ее напильником (либо нормальными промптами либо тюном). Поэтому все набранные кредиты, неиспользованные часы и кластера выплескиваются на рынок и сбрасывают цены. Плюс на горизонте уже маячат BH200.

Но есть один нюанс. Рынок - не дурак. Относительно дешевые конфигурации H100 - это пока именно, что излишки. Там, скорее всего, не будет InfiniBand, будут медленные хосты, проблемы с сетками или молодой неопытный оператор. Чем ниже цена - тем больше грабель.

Но это только начало тренда. Думаю, что он продолжится в следующем году, делая подобные мощности более доступными для небольших компаний.

Ваш, @llm_under_hood 🤗

LLM под капотом

10 Oct, 12:07


Настал тот момент, когда мы замучались удалять ботов

Поэтому я попросил Claude написать мне бота, который будет верифицировать новых участников нашего чата (там уже более 1300 участников).

Бот только что вышел на стражу. В нем целых 166 строчек кода на golang. Его от Shieldy отличает то, что логику верификации теперь мы можем переписать очень быстро.

Если кто хочет - может попробовать его сломать. У вас есть одна попытка 😎

Ваш, @llm_under_hood 🤗

PS: Бот заменяет старого Shieldy и срабатывает только на момент добавления и верификации. Существующие сообщения модерируются, как и раньше, вручную. В добром чатике банят только за спам, яростный оффтопик и токсичность.

LLM под капотом

09 Oct, 07:49


Как может выглядеть checklist?

Например, так, как на картинках. Это скриншоты из бенчмарка, который мы делаем для доклада на NODES '24 (Neo4j dev conference).

Этот бенчмарк оценивает то, как качественно LLM преобразовывает запрос пользователя в запрос по базе данных (SQLite/neo4j).

В данном случае я задаю все вопросы из checkist на каждый запрос пользователя перед тем, как она начнет генерировать финальный ответ. Это все делается одним запросом к LLM.

Добавление такой chain of thought (захардкоженной в виде structured output) улучшает качество ответов с 76 до 81 на этом бенчмарке.

Вы пробовали такой подход? Напишите про результаты!

Ваш, @llm_under_hood 🤗