Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
LLM Leaderboard за февраль 2024
Краткая выдержка:
(1) ChatGPT-v4 хорошеет. GPT-4 Turbo 0125-preview (aka v4) не только обучена на самых свежих данных (Декабрь 2023), но и обогнала предыдущие две версии и заняла второе место. При этом она стоит в разы дешевле топовой модели.
(2) Добавил Anthropic Claude (via AWS bedrock) и hosted Mistral AI модели. У обоих моделей хроническая болтливость, игнорирование few-shots промптов и невнимательность к инструкциям. Даже Mistral 7B OpenChat-3.5 слушается лучше. А уж OpenAI знает лучше всех, чего хотят компании и enterprise от LLMок.
Mistral AI пал так низко, что его не видно на скриншоте. Ждем третье поколение моделей, где они обещают пофиксить.
Напоминаю, что бенчмарк - закрытый, основан на тестах и промптах из рабочих продуктов и сервисов. FAQ есть тут. Более детальное описание и примеры evals есть в лабах: Trustbit LLM Benchmark (лабы открыты подписчикам бесплатной рассылки ML Under the Hood)
Ваш, @llm_under_hood 🤗
Бенчмарки RAG-систем делать забавно.
У меня есть N гигабайт годовых отчетов разных компаний. По ним можно задавать вопросы и смотреть, насколько каждая система ошибается.
А потом нужно будет делать новую версию своей системы, которая их сможет проходить вслепую. 😅
В комментарии я прикреплю исходный годовой отчет для этой картинки. И буду постить скриншоты ответов разных систем на него.
Тестируйте тоже всякие RAG системы и кидайте скриншоты сюда.
Ваш, @llm_under_hood 🤗
Что можно сделать с LLM и бамбуковыми палочками? #weekend
Из ваших ответов на эту загадку ближе всего были ответы про роботов и шевеление :)
Началось все так. В прошлом году мне написали из компании про производству промышленных роботов и попросили попробовать сделать проект - открытую (!) и недорогую робо-платформу. Что-то вроде приставки к 3D-принтеру, которая могла бы выполнять простые задачи - склеить две детали, собрать помидорки с гидропонной грядки или припаять пару проводов.
Звучит просто? На самом деле это все очешуенно сложные задачи, решение которых требует дорогих роботов и немаленьких вычислительных мощностей.
Или нет?
LLM и ChatGPT в прошлом году произвели революцию в работе с информацией. Вещи, которые раньше казались сложными и дорогими, теперь доступны любому человеку.
YCombinator считает, что такое может произойти и с робототехникой. И не они одни.
Но пока всякие R&D лаборатории используют топовые вычислительные мощности и работов за $32k, мы хотим попробовать зайти с другой стороны. Использовать копеечные материалы, уже обученные современные модели (в том числе LLM), процесс сбора данных и создания своих файн-тюнов.
Мои клиенты знают, что я всегда стремлюсь свести разработку продуктов к серии минимально необходимых экспериментов. Каждый из которых - тестирует какую-то гипотезу и собирает данные для следующих шагов.
Этот проект - не исключение. Полная задача - проектирование открытой R&D платформы, программируемой на автономное выполнение небольших задач по сборке. При этом она должна быть недорогой и стандартизированной, чтобы каждый мог ее быстро собрать у себя в подвале и начать играться: переиспользовать обученные модели под разные задачи и краудсорсить данные под новые задачи.
Первый экспериментальный шаг достаточно простой - собрать из копеечных компонентов манипулятор на три степени свободы. Подключить его к камере от старого телефона и отдать контроль CV/LLM моделям. Фото с основными компонентами в комментариях. Бамбуковые палочки там тоже есть.
С точки зрения сборки - задача простейшая. А вот с точки зрения “как заставить эту кучку китайских запчастей выполнять мои команды” - это то, чем только начинают заниматься топовые R&D лаборатории в мире. Было бы интересно их опередить.
Ну и в целом миру нужны такие технологии. С каждым днем он катится черт-те знает куда. Изменения в климате, пандемия, войны. Все видели вчерашние новости 😥
И когда все это закончится, нужны будут простые и дешевые технологии, которые помогут людям самим восстанавливать разрушенное, создавать новые вещи и заботится о своих семьях.
Проект Artifex как раз про все это.
Ваш, @llm_under_hood 🤗
Какие продукты c LLM под капотом выгоднее всего сейчас пилить?
Такой вопрос мне задают несколько раз в неделю. А известный стартап-инкубатор YC написал аж целый гайд на эту тему.
Вот их список идей для компаний, в которые они бы вложились с особенным удовольствием. Немалую долю там занимает AI/ML.
Ссылки ведут прямо на разделы, где описаны проблемы и размер зарытого горшочка с золотом.
Можно читать и брать на заметку как идеи для своих pet-projects. Или просто использовать для приоритизации клиентов и новых проектов.
Технологии и Исследования
– Применение ML в робототехнике 👀
– ML для моделирования физического мира
– Новые оборонные технологии
– Космические компании
– Климатические технологии
Бизнес и Разработка
– Новые типы софта для планирования ресурсов предприятия (ERP) 👀
– AI для создании нового софта для предприятий (что обычно скукота смертная)
– Когда разработчики подсмотрели внутренние инструменты в компании и сделали свой продукт из этого
– Лучшие интеграционные решения для предприятий (aka свой Zapier, Airbyte или Fivetran)
– LLM для автоматизации ручных бэк-офисных процессов в энтерпрайзе 👀
Software и Инновации
– Объяснимый AI (тулзы, чтобы понять причину того или иного решения AI)
– Небольшие fine-tuned модели как альтернатива гигантским foundational моделям 👀
– Новые стейблкоины
– Коммерческие опенсорс компании (как Docker, GitLab, Apollo или Supabase)
– Новые AR/VR решения
Здравоохранение и Биотехнологии
– Борьба с раком (сделаем MRI дешевле)
– ИИ-моделирование биологических систем (новые модельки)
– Софт для небольших частных клиник
– Реформирование системы здравоохранения
Темы, с которыми мне интереснее всего работать, помечены 👀
А что из этого интересно вам?
Ваш, @llm_under_hood 🤗
- Допустим мы докажем, что эти ChatGPT/LLM действительно работают. Как их тогда побыстрее внедрить у нас?
- Как эти технологии использовать нам во всей компании? Хочется применять LLM/GPT на полную катушку в бизнес процессах, но делать это систематически и осознанно.
Сколько нужно карточек GPU H100 для того, чтобы серьезно заниматься обучением своих моделей в нынешнее время?
Вот график из отчета State of AI (они собирают данные из открытых источников). Причем 350k карточек от Meta не включают еще эквивалент 250k H100.
А всего NVidia планирует выпустить в 2024 году 1.5-2 миллиона H100. Каждая стоит $30000-$40000.
А что же OpenAI? OpenAI используют мощности Microsoft Azure. У Microsoft вроде уже есть 150k H100 (source за 2023). А в 2024 году они хотят докупить не 120k серверов с H100, а всего лишь 80k. Почему? А H100 уже не самая крутая карта. Вместо H100 Microsoft хочет купить сервера с B100. Говорят, что они мощнее в два раза, но стоят "всего" на 50-60% дороже (source).
Получается, что одна B100 будет стоить ~$60k.
Но для обычных и реальных проектов не нужные такие мощности. Достаточно переиспользовать усилия Meta и использовать их модели в своих проектах. При необходимости, и при наличии данных, даже тюнить их под свои задачи.
Ваш, @llm_under_hood 🤗
Кому было интересно качество работы GigaChat?
В комментарии я покидаю пару забавных примеров ответов. В целом модель где-то на уровне между ChatGPT 3.5 и Mistral 7B OpenChat3.5. Хотя иногда Mistral 7B слушается лучше.
Важно: это не полноценный бенчмарк. Под свои задачи лучше тестировать самостоятельно.
Ваш, @llm_under_hood 🤗
Grayskull AI Accelerator продрался через таможню и добрался до нас!
Если кратко, то это специализированное железо для запуска AI/ML моделей. Отдаленно похоже на GPU карточки от Nvidia, но с совершенно иной архитектурой.
Я про эти карточки писал в начале января.
А несколько часов назад Ian Cutress опубликовал видео на YouTube про распаковку этих карточек. Он раньше был старшим редактором в Anandtech, его всегда приятно послушать.
Помните, вчера я сравнивал цены на GPU комплектующие для запуска AI ассистентов на своих машинах?
GPU для небольшого прототипа с моделями уровня 8x7B/70B под капотом стоят в районе 10k-20k EUR.
Так вот, Tenstorrent обещает, что на следующих поколениях карточек можно будет собрать эквивалент за меньшие деньги. И кластерный режим там идет из коробки.
Если у них получится, будет невероятно круто.
А пока на очереди тестирование того, что есть 🔧
Ваш, @llm_under_hood 🤗
Дайджест новостей в мире LLM
1. Помните Google Gemini Pro (Bard)? Эта модель внезапно обогнала GPT-4 (0613/0314) на lmsys leaderboard.
Под капотом там Gemini Pro с поиском по интернету, в lmsys она идет под именем bard-jan-24-gemini-pro
.
Ждем Gemini Ultra?
2. Слышали про потенциальную утечку весов от модели Mistral Medium? Скорее всего это просто тюн Llama 70B на данных Mistral. Пока можно игнорировать это мутное дело.
3. Meta продолжает тактику "выложим модель в открытый доступ, чтобы конкурентам было несладко". Они выложили новую модель для генерации кода Code Llama 70B. Говорят, что работает сильно лучше остальных.
70B версия на практике мало интересна (больно тяжело заводить), но они выложили еще и младшие версии в 7B, 13B и 34B. Это уже интереснее.
Они работают стабильно с контекстом до 100000 tokens. Хотя комфортнее всего им в пределах 16000 tokens, что тоже очень немало. Можно заливать прямо проекты целиком.
Ваш, @llm_under_hood 🤗
Дайджест новостей от OpenAI
В целом - инкрементальные улучшения.
1. Снизили цены на GPT-3.5 Turbo. Входные tokens подешевели на 50%, а выходные на 25%. Шепчут, что во всем виноват Mistral AI, который дышит в спину своими модельками.
2. Выкатили новые версии GPT-3.5 и GPT-4 Turbo. Говорят, что теперь модели меньше отнекиваются, если их просить писать код. Судя по тону сообщения - это минорные релизы
3. Новые версии embedding моделей. Говорят, что они стали сильно лучше и точнее на information retrieval. text-embedding-3-small - лучше ada-2, но при этом в 5 раз дешевле. А text-embedding-3-large больше и сильнее их обоих вместе взятых.
4. У OpenAI embeddings можно отрезать хвост вектора, если он не лезет в БД! Модельки натренированы так, чтобы точность при этом страдала минимально.
5. Написали про API usage tracking (я писал уже) и что можно вешать разрешения на API Keys
Релиз можно почитать тут.
Ваш, @llm_under_hood 🤗
С прошлого поста, где я рассказывал о себе, прошло больше полугода, а канал вырос в 10 раз: со 170 до почти 1700 подписчиков 📈
Я всем очень рад, добро пожаловать! 🤗
Я - Ринат Абдуллин, Head of ML & Innovation в австрийском Trustbit и независимый технический консультант.
Сайт abdullin.com | LinkedIn | новостная рассылка.
💼 В компании Trustbit мы помогаем компаниям в Европе автоматизировать бизнес-процессы.
🤝В качестве независимого технического консультанта я показываю клиентам, как сэкономить время и расходы на разработку продуктов с LLM под капотом.
Для клиентов - компании Trustbit и своих собственных - я провожу воркшопы с теорией и практикой. Обычно формат удаленный, но если клиент в Европе, то можно и on-site.
Еще я разрабатываю Trustbit LLM Benchmarks для сравнения возможностей различных языковых моделей в бизнес-задачах. Превью публикуются тут в канале, а финальные результаты - на сайте Trustbit.
🌐 За последние 20 лет я работал с разными командами в Европе и США, от небольших BigData/SaaS стартапов и до запуска отдела Data Science в международной транспортной компании.
💡 В этом канале я пишу преимущественно про ML/AI в разрезе ChatGPT и генеративных текстовых моделей.
Например:
• Видео: как обнаруживать галлюцинации в текстах от AI и бороться с ними
• Разборы кейсов продуктов: про агента-писателя, которого научил ChatGPT, Кейс с ChatGPT про 10.000 € в месяц и Ассистент маркетолога с LLM под капотом
• Посты выходного дня: Личный адаптивный RAG или про робо-руки, GPT-4 в программировании и перспективные технологии (#weekend)
• Ответы из рубрики #клиентспросил: А покажи пример использования ChatGPT для написания промпта? или 5 неудобных вопросов при найме AI
📝 Расскажите, какие посты на канале вам больше всего запомнились, были полезны?
Пишите темы или кидайте ссылки в комменты, давайте соберем полезный пост!
Ваш, @llm_under_hood 🤗
Инсайт про любимые модели Mistral из первых рук от инженеров MistralAI :)
Я сегодня полдня ковырял модели Mistral вместе c командой инженеров - создателей модели.
Помните мои бенчмарки Trustbit LLM Benchmarks? Они помогали нам оценивать качество запросов и ответов моделей сразу на широком наборе задач.
Что мы c MistralAI выяснили:
1️⃣ У меня в промпте запроса bos_token ставился неверно. Но это погоды не делает.
2️⃣ Mistral 7B Instruct v0.1 работает очень хорошо, как и его тюны. А вот с Mistral 7B Instruct v0.2 проблема из-за болтливости. Модель не очень хорошо следует указаниям и few-shot примерам (в отличие от других моделей). Инженеры это подтвердили.
3️⃣ Проблема сохраняется с текущими версиями c API mistral-tiny
(Mistral 7B), mistral-small
(Mixtral 8x7B) и mistral-medium
.
4️⃣ Команда Mistral AI в курсе про болтливость текущей версии модели. А благодаря нашим LLM-бенчмаркам у них есть еще и точка отсечки, когда что-то пошло не так. И понимание масштаба.
Ребята очень бодрые и динамичные. Я уверен, что проблему они пофиксят достаточно быстро.
А пока я какое-то время не буду официально публиковать бенчмарки MistralAI API.
Ваш, @llm_under_hood 🤗
Mistral 7B OpenChat-3.5 v3 (0106) перегнал ChatGPT-3.5!
Понятно, что свежая третья версия Mistral OpenChat-3.5 перегнала самую старую версию ChatGPT, но ведь прогресс!
Это предварительная версия LLM бенчмарков на январь. В полной я добавлю mistral-small
(это Mistral 8x7B Instruct v0.1) и mistral-medium
(открытых аналогов не имеется). Там должно быть еще интереснее.
Как вы думаете, догонит ли Mistral самую слабенькую ChatGPT-4?
Ваш, @llm_under_hood 🤗
- Декабрьский бенчмарк в этом посте (там еще сравнение того, как модели понимают языки)
- FAQ по последнему бенчмарку - в этом посте.
- Про структуру бенчмарков с примерами детально расписано в лабах.
#weekend пост про важность пользовательского фидбэка одним скриншотом.
Все мы хотим самообучающихся ассистентов и копилотов (если это только не Skynet). Но для этого нужна обратная связь в виде пользовательского фидбэка.
В лабах у меня лежит длиннющая статья про важность сбора пользовательского фидбэка в продуктах с LLM под капотом.
Обратная связь настолько важна для отслеживания и улучшения качества продуктов, что третья фича в моем самообучающемся ассистенте (про него я писал выше) - это вывод всех вызовов моделей и оценка результатов.
Просто таблица и кнопочки like/dislike. Все! Как на картинке.
Этого достаточно, чтобы данный индекс (извлечение значимых для меня сущностей из заметок) со временем подстраивался под мои привычки.
Механизм подстройки в данном случае - дело второстепенное. Главное, что есть данные.
Собирайте пользовательский фидбэк! 💪
Ваш, @llm_under_hood 🤗
Привет
Мы тут бутстрапим свой стартап, поддержите нас, сделайте upvote
https://www.producthunt.com/posts/potis-ai
Проект во многом сделан благодаря этому сообществу и вам 🚀
@abdullin пост одобрил :)
State of RAGs одной картинкой
Я задавал разным сервисам вопросы по одному единственному PDF файлу, а потом сверял ответы. На выходе - разброд и шатание, а ChatGPT-4 пока тут лучший.
Кто хочет повторить сам, годовой отчет тут. А шаблон промпта выглядел так:
QUESTION
Answer with a floating point number in current currency, for example "1,234 million", use decimal comma and no thousand separators. You can think through the answer, but last line should be in this format "answer = number unit". Answer with "answer = None" if there is no information available.
Конкуренты с RAG и векторным поиском
В области enterprise AI продуктов все чаще начинают мелькать конкуренты. То Google и Microsoft засылают продавцов интегрированных решений, то сторонние вендоры начинают продавать RAG-и на векторных базах данных.
> Что за решения? Enterprise glue. Например, умный поиск по корпоративной сети. Или системы по извлечению структурированных данных из входящих документов. Или ассистенты, которые умеют гибко адаптироваться под уникальные кейсы.
И, знаете, конкуренты - это круто:
(1) их наличие позволяет дифференцироваться и выделиться из массы с более высоким ценником. Главное, показать и доказать ценность своего продукта.
(2) можно с конкурентами интегрироваться, и даже им помочь. Делаем деньги вместе.
(3) мне очень нравиться соревноваться с другими 🙃
Как все это можно достичь? А просто меняем позиционирование продукта. Вместо продажи RAG-системы или фреймворка для создания AI ассистентов мы сделаем так:
Пусть конкуренты строят космолеты из AI и обучают модели. Мы поможем им в этом! 🚀
Мы займемся скучной частью сбора данных и подготовки training datasets. Скажем, разработаем с конкретными департаментами прототипы ассистентов. Они будут глупенькие, но они будут заточены под сбор вопросов, ответов и экспертизы. Заодно задокументируем процессы.
А потом мы прототип немного улучшим, проработав отзывы и интегрировав их в систему. Это позволит нам собрать еще больше пользовательского фидбэка на новых кейсах. И повторим несколько раз, собирая хорошо аннотированные datasets.
А вендоры потом могут взять эти datasets и обучить мощные модели, которые уделают наши простые правила. И они смогут даже доказать качество своих решений. И когда это произойдет - мы поможем встроить эти новые модели в общую платформу. А потом - подсказать следующее направление для обучения моделей.
А знаете, в чем фишка? Ну, помимо дружбы с вендорами. Их четыре:
(1) клиент выигрывает от того, что качество каждого продукта с LLM под капотом - можно измерить на конкретных данных. Ну и вендоры начинают работать с конкретными требованиями.
(2) систематически собираемые данные можно использовать, чтобы в будущем перетащить все модели на локальные.
(3) мы можем выбирать из всех кейсов самые интересные для себя, а остальные - отдавать вендорам.
(4) это все закладывает основу для корпоративной мульти-вендорной AI платформы. И мы можем ее направить так, чтобы она реально и доказуемо приносила пользу, а не проедала бюджеты клиента впустую.
Это очень похоже на логику из поста про Вам не нужен RAG, стратегию внедрения AI или принцип работы моего ассистента, верно? Да основы везде одни и те же, поэтому паттерны и повторяются в разных ситуациях.
Ваш, @llm_under_hood 🤗
PS: добавил в комментарии выдержку из моей сегодняшней презентации клиенту на эту тему
Загадка про LLM, ML и YC.
На фотографии - бамбуковые палочки для еды. Стоят они $0.001-0.004 за штуку (в больших объемах).
Мне же они вообще достались бесплатно - прихватил вчера четыре упаковки в китайском ресторане на раздаче.
И если у меня все получится с экспериментом, то они будут мелькать в постах этого канала достаточно регулярно. И это будет того стоить, обещаю 😁
Скажите мне, какое отношение эти палочки имеют к теме канала и двум топикам из прошлого поста про перспективные направления для стартапов?
Ваш, @llm_under_hood 🤗
- Какую RAG технологию выбрать для ассистента?
- Какого размера чанки делать, и что подавать на вход при поиске?
Да вот без разницы! Если так стоит вопрос, значит мы копаем немного не там.
По хорошему, начинать нам нужно с заглядывания в глаза клиентам и потенциальным пользователям.
Посмотрели в глаза? Дальше начинаем спрашивать: “А покажите, как вы обычно работаете с документами? А куда тратите кучу времени? А какие поисковые запросы выдаете? А какой был бы правильный ответ на такой вопрос?”
Повторяем такое раз 20.
В идеале даже записывать все интервью на видео/аудио. Записи пригодятся нам, если вдруг нужно будет делать pivot фичи или продукта.
В итоге на первом этапе у нас получается список из 20 вопросов и ответов или правильных документов.
Вот теперь можно начать выбирать RAG. И начнем мы с Full Text Search! Он есть хоть в Elastic Search или даже SQLite FTS. А еще есть банальный поиск по строчкам в памяти.
Попробуем в нашу систему загрузить данные, получить ответы на вопросы и посчитать точность. Это будет baseline. Хуже этого некуда.
А вот потом уже можно начинать подбирать разные варианты RAG-архитектур. Самое главное, в самом начале поставить временное ограничение. Скажем, в одну итерацию. И каждый раз сравнивать качество варианта с baseline.
Можно еще загрузить все в NVIDIA Chat with RTX и посмотреть качество. Потом понять, что это просто RAG reference проект с lang-chain & llama-index и покрутить составляющие части, размеры чанков или предобработку документов.
Но самое главное, что в конце итерации мы берем самый лучший вариант и выкатываем его пользователям со словами: “Вот первая версия системы. Позадавайте, пожалуйста, ей вопросов. А на ответы ставьте лайки или дислайки. Она будет собирать данные для дальнейшего обучения”
Если мы соберем хотя бы вопросов 20 - уже хорошо. У нас dataset стал в 40 вопросов. Появляется возможность кластеризовать вопросы и начать оптимизировать RAG pipelines под каждую категорию отдельно.
И вот тут уже могут появиться вопросы вроде:
- У нас не получается давать ответы на вопросы, которые затрагивают таблицы в PDF файлах? Как лучше извлекать, находить и подавать такую информацию в промпт?
- У нас низкая точность ответа на вопросы, которые используют жаргон компании или области. Нам нужен файн-тюн или как-то можно подавать словари на вход?
- Как повысить точность ответов в случаях, когда выясняется, что ответ требует multi-hop?
- Что делать с вопросами, ответы на которые содержатся в документации на другом языке?
И для каждого вопроса будет пачка исходных документов, запросов и неправильных ответов системы. Вот теперь можно копать вглубь с удовольствием и возможностью оценивать прогресс.
Ваш, @llm_under_hood 🤗
#weekend пост про архитектурный затык в моем ассистенте
На скриншоте в комментариях - одно из сообщений, которое я отправил ассистенту. У сообщения есть текст "Homai project bills from Hetzner" и вложенный файл с названием "Hetzner_2024-01-16_R0021...pdf". По содержимому этого файла можно понять, что это инвойс.
Я хочу, чтобы потом этот инвойс можно было гарантированно найти по запросу “все инвойсы Homai”.
Здесь самое важное слово - “гарантированно”. Это не “если сойдутся звезды и косинусу векторов выпадет нужный chunk”, а “этот документ будет точно найден”.
Как найти документ по фразе, если ключевые составляющие этой фразы разбросаны? То, что это invoice - написано внутри немаленького PDF во вложении. А уточнение, что это инвойс именно проекта Homai - в тексте сообщения.
За это отвечает индексатор. Он проходится по всем сообщениям, анализируя их содержимое и раскладывая по полочкам. В работе он использует набор моделей, каждая из которых специализируется на своих задачах.
Причем, при анализе одной сущности индексатор может использовать более широкий контекст вокруг этой сущности.
Например, когда мы анализируем содержимое PDF-файла, необходимо учитывать также: название файла, само сообщение, названия соседних файлов. Ведь именно там может содержаться важная информация, меняющая весь смысл.
А в чем затык? Да в том, что в своей работе индексатор последовательно использует набор разных моделей, результаты работы которых могут повлиять друг на друга. Получается такая ветвящаяся цепочка "размышлений", которая в итоге приводит к такому описанию документа (индексу), по которому его можно потом гарантированно найти.
И если итоговый результат не нравится, то нужно иметь возможность проглядеть все цепочки размышлений и оставить feedback на каждый шаг. Позже - дообучить модели на ошибках и перезапустить все цепочки с ошибочного шага.
И если технически это все реализуется без особых проблем, то красивый и логичный интерфейс для анализа и оценки ветвящихся цепочек размышлений я пока придумать не могу. Ни один вариант мне пока не нравится. Он должен быть простым и интуитивно понятным, как feedback interface у ChatGPT (про это я писал в методичках)
А без удобного анализа и оценки - невозможно получить ассистента, который обучается и становится все лучше.
Ваш, @llm_under_hood 🤗
---
Предыдущие посты на эту тему есть в категории #weekend:
- Я придумал себе подарок на НГ - личный адаптивный RAG
- Две архитектуры для создания умного поиска
- про важность пользовательского фидбэка одним скриншотом
PatronusAI и HuggingFace опубликовали LLM Enterprise Scenarios Leaderboard
Это закрытый бенчмарк, который оценивает LLM модели на реальных задачах из корпоративного сектора:
- Finance Bench
- Legal Confidentiality
- Writing
- Customer Support
- Toxic Prompts
- Enterprise PII
Это выгодно отличает его от академических бенчмарков для LLM вроде MMLU, ARC и HellaSwag. Последние интересны, но достаточно бесполезны на практике. Так всегда бывает.
Почему бенчмарк закрытый? Чтобы команды не подгоняли свои модели под тесты.
Моделей у них пока не очень много, т.к. это достаточно непростая задача разрабатывать и вести такой бенчмарк. Они будут добавлять туда модели постепенно.
Почитать: Hugging Face Blog post | Leaderboard
А пока ждем - можно еще глянуть на Trustbit LLM Enterprise Leaderboard за январь. Мы ведем этот бенчмарк с июля прошлого года, и моделей там побольше 😉
Ваш, @llm_under_hood 🤗
PS: Спасибо Айгизу за наводку.
Давайте покажу вам один интерфейс из моего ассистента. Он позволит проиллюстрировать важную концепцию пострения систем, которые со временем все лучше адаптируются под задачи.
Скриншоты интерфейса - в комментариях.
Мой ассистент - это склад информации. Я в него кидаю все заметки, важные файлы, интересные новости или просто идеи. С каждым днем там все больше данных.
При этом я ожидаю, что система будет помогать мне разбираться в этом океане информации.
RAG на embedding векторах тут не работает, мы это уже проходили. Нарезка текста мелкой соломкой и поиск по средней температуре притащит кучу ненужного в контекст и вызовет галлюцинации (см, например, видео про работу с галлюцинациями)
Как быть? Просто собираем статистику запросов к системе и классифицируем. Под каждую категорию запроса создаем свои модели (pipelines), которые заранее извлекают нужные подсказки из документов.
В итоге получается своя структурированная база информации (или граф знаний) под каждую категорию запроса.
А как получать хорошие результаты в такой ситуации - мы уже знаем (см кейс про ассистента маркетолога)
На скриншоте в комментариях показан часть интерфейс, который отслеживает процесс извлечения подсказок моделями. Именно тут - самая простейшая модель - people extractor. По мере работы я оцениваю часть результатов и отмечаю хорошие и плохие.
Статистика оценок используется для создания новых версий модели - это процесс полу-автоматизирован. Новые версии размечают новые данные. И видно, что со временем модель все больше адаптируется под меня - соотношение хороших/плохих ответов становится лучше.
Скажем изначально модель считала, что Homai - это имя человека. Это верно, но у меня-то это название проекта умного голосового ассистента 😆. 7ая версия этот факт уже выучила.
Аналогично работают любые другие индексы. Даже те, которые извлекают таблицы из PDF или раскладывают статьи по папкам. И эти индексы можно создавать динамически под новые типы запросов (см. пост про архитектуры для создания умного поиска)
Как побочный продукт этого процесса - набирается размеченный dataset, который можно использовать для обучения локальной LLM и полного переезда на нее.
Вы все еще используете RAG c embedding vectors? Тогда мы идем к вам! 😈
Ваш, @llm_under_hood 🤗
Немного про стоимость запуска LLM на своих серверах
Вчера пришлось вернуться к вопросу о стоимости небольшого сервера для LLM. Клиент хочет себе AI ассистента, который бы мог осилить 10000 юридических документов на разных языках.
Набор стандартный - поиск информации, суммаризация и ответы на вопросы. Но есть один нюанс - им прямо сильно хочется, чтобы вся система работала локально. Даже на уровне прототипа.
Начинается такая задачка по подбору вариантов для прототипа:
1. Чтобы можно было запускать эквиваленты Mixtral 8x7B или Llama 70B. Сжатие не сильнее, чем 8b.
2. Быстрые ответы для одного пользователя важнее, чем поддержка множества пользователей. Это же прототип.
3. Чтобы комплектующие были в наличии на рынке.
4. В идеале архитектура Ada, а не Ampere. Она посвежее и лучше приспособлена к современным моделям.
5. Это не продуктовая система, а система для разработки и оценки прототипа. Серверные комплектующие тут не так важны, как и TOC.
6. В GPU грузится не только сама LLM, но и прочие запчасти от RAG систем и ассистентов.
Варианты пока получаются такие:
1. Пара Nvidia A6000 (48GB, Ampere) - стоят в сумме 10k EUR и дают 96GB VRAM. При этом они достаточно древние.
2. Пара Nvidia 6000 Ada (48GB, Ada) - 17k EUR за две карты. Быстрее на ~30% и архитектура поновее.
3. Одна NVidia A100 (80GB, Ampere) - 18k EUR. Стоимость хорошей машины, старая архитектура.
4. Четыре NVidia 4090 (24GB, Ada) - 96GB за 8k EUR, но под них еще пойди собери сервер.
Похоже, что если есть время и недорогое электричество, то дешевле всего собрать станцию из 4 4090.
Ваш, @llm_under_hood 🤗
Ура! Я закончил #кейс с PDF и исправлением ошибок в каталогах продуктов
Как раз задеплоил новую версию клиенту.
Этот проект - продолжение старого кейса про исправление ошибок в онлайн каталогах.
Что изменилось с тех пор? Обнаружилось, что для всех продуктов клиент хранит инструкции в виде PDF. С ними исправление ошибок становится еще быстрее и проще.
Поэтому в текущей версии система стала сильно проще. На вход подается описание продукта и все доступные PDF по нему. На выходе список потенциальных ошибок в описании.
А что под капотом?
⁃ извлечение данных из PDF несколькими способами (простой, lattice table, stream table)
⁃ фильтрация всякого мусора
⁃ табличные преобразования в формат, удобный для работы LLM-ок
⁃ подача сырых данных в ChatGPT (gpt-4-1106-preview) для извлечения и форматирования
⁃ post-processing и decision making
В итоге работает все быстрее и надежнее, чем раньше.
Кстати, тут данные открытые. Если кто-то хочет попробовать свои силы в решении кейса - в комменты выложу доки от одного продукта, входные данные и ожидаемый список исправлений.
В задачке 3 файла, а ответ получается за 2 вызова ChatGPT.
Ваш, @llm_under_hood 🤗
PS: в реальности система решает десятки тысяч таких задачек снова и снова.
Знаете, какое применение ChatGPT/LLM меня радует больше всего?
Это не написание маркетинговых текстов. Не построение красивых графиков по CSV файлам или написание кода. Все не то.
Вот у вас есть папка “Разобрать 5” на рабочем столе? Или “Сохраненные сообщения”, которые копились в Телеграм не один год? У меня такое есть.
Скажу вам - безумно круто смотреть, как GPT-4 разбирает скопившуюся гору заметок и файлов.
Научные статьи отправляются в одну стопку. Инвойсы на оплату - в другую. Идеи и мысли с шуршанием складываются в третью.
А если какой-то документ попал не туда - это не страшно. Можно поправить его, зная, что система запомнит это. И когда-нибудь потом, на этих исправлениях мы обучим своего собственного ассистента.
Он будет разгребать файлы, еще быстрее и точнее. А самое главное - уже без ChatGPT-4.
Ваш, @llm_under_hood 🤗
OpenAI раздельно считает использование разных API ключей
Это очень удобно, когда один аккаунт используют разные проекты и люди.
Теперь, чтобы считать расходы или прикидывать юнит-экономику, больше не нужно писать свои прокси или использовать чужие сервисы.
Для новых ключей эта фича включена автоматически, а вот для старых это можно включить вручную на странице API Keys.
На вкладке activity (раздел Usage) дается разбивка использования моделей по разным ключам, а в выгрузке можно будет посмотреть уже детализацию. Она выглядит так:
{
"organization_id": "org-...",
"n_requests": 17,
"operation": "completion",
"n_context_tokens_total": 11078,
"n_generated_tokens_total": 2759,
"api_key_id": "key_...",
"api_key_name": "...",
"usage_type": "text",
"model": "gpt-4-1106-preview",
"timestamp": 1705536000
},
Хотите заглянуть под капот моих LLM бенчмарков и Мистраля?
Вот скриншот, который я сегодня отправил инженерам из Mistral AI. Там проблема, что их hosted модели ведут себя настолько плохо в LLM бенчмарках, что мне стыдно публиковать их 😳
Начали вместе разбираться. Похоже, что hosted Мистраль отличается болтливостью и стремлением игнорировать few-shot prompts. Как говорят инженеры: "our models just tend to be verbose sometimes" 😂
На скриншоте пример из среза ответов от mistral-tiny (hosted версия Mistral 7B Instruct). Expected - это описание правильного ответа, a response - это то, что модель ответила.
Стрелками отмечены кейсы, где модель не следовала шаблону из few-shot prompts и слишком много болтала.
При этом локальная модель ведет себя гораздо лучше!
Пока разбираемся дальше.
А у вас есть опыт использования MistralAI API в продуктовых задачах?
Ваш, @llm_under_hood 🤗
PS: Cтавьте ⚡, если используете Мистраль в продуктовых задачах
#клиентспросил Как запускать LLM модели локально - Transformers, TGI или vLLM?
Народ, если поддержка современных моделей и использование GPU на полную катушку важны, то только vLLM или TensorRT-LLM! Если кто-то говорит, что TGI тоже нормально - не слушайте их.
Почему:
- TGI - это нишевый проект от HuggingFace для чатиков. Он менее популярен и построен на архитектуре "черного ящика" (Rust in docker container). В процессе его запустить нельзя, а API у них очень нишевый.
- HuggingFace transformers - это еще одна нишевая библиотечка от Hugging Face. Поиграть с ней хорошо, но на практике библиотека работает весьма медленно. GPU будут с ней окупаться дольше.
Но не слушайте меня, слушайте крупных игроков:
- Mistral AI на своей платформе дают выбор между vLLM и TensorRT-LLM (platform docs)
- Когд NVidia и AMD меряются своими GPU, они используют либо TenstorRT либо vLLM (пост NVidia)
Ваш, @llm_under_hood 🤗
Давайте немного свежих новостей?
1. Sam Altman только что объявил об открытии ChatGPT Store. Говорят, что у них уже есть 3 миллиона кастомных GPTs.
2. Mixture of Experts архитектура вдохновляет многих. Уже сделали MoE на базе крохотных Microsoft Phi-2 (который получил приз зрительских симпатий на Hugging Face). Назвали Phixtral. Вот тут можно поиграться.
3. Mistral Medium побил все Claude и GPT-3.5 модели на HF Leaderboard. Дышит в спину ChatGPT-4.
Ваш, @llm_under_hood 🤗
Поддержим хороших людей с AI продуктом?
Спасибо всем в сообществе, кто участвовал и помогал!
Ваш, @llm_under_hood 🤗