Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Как выбрать новые направления для применения LLM?
У меня есть такая табличка, в которую сведена библиотека AI кейсов, с которыми я пересекался лично. Столбцы - сектора экономики, строчки - ключевые стейкхолдеры в кейсе. Чем темнее клеточка - тем больше насмотренность.
И я просто играю в бинго.
При выборе рабочих проектов для важных клиентов - приоритизирую хорошо изученные области. Там мноие грабли и нюансы уже известны заранее, можно выбрать кратчайшую дорожку для решения.
При выборе направлений для изучения или консалтинга, наборот, стараюсь дополнить свои слабые места в интересных направлениях.
Больше всего на осень-зиму меня интересуют - Compliance (во всех сегментах), Medical (включая биотех) и Financial Services (тут LLM прямо очень бодро внедряют).
А вы в каких направлениях сейчас развиваетесь и работаете?
Вaш, @llm_under_hood 🤗
---
PS: Список продуктовых кейсов, про которые я могу говорить вслух, собран тут.
RAG Challenge на годовых отчетах компаний 🚀
Весной мы с вами обсуждали проведение дружеского соревнования по построению RAG систем. Было много вариантов - мультиязычные, табличные, с картинками.
Для начала можно сделать простое соревнование на поиск ответов по базе публичных годовых отчетов компаний. Все готово к первому тестовому прогону!
Генератор заданий и описание процесса есть на Github. Пакет с примерами PDF и список вопросов для ответа - в папке samples. Fineprint - ниже. Все ответы потом соберем в общий публичный dataset - можно будет самостоятельно сравнить точность разных подходов.
Следующие шаги:
(1) смотрим в samples, можно попробовать прогнать документы и вопросы через свой RAG, заполнить questions.json ответами и поделиться.
(2) читаем FAQ, задаем вопросы, уточнения
(3) если вопросов нет, то в течение пары недель можно будет выбрать время и сделать test run
Проект лицензирован как Apache 2.0. При желании можно взять его за основу и сделать свой собственный Challenge на своих документах!
Что скажете?
Ваш, @llm_under_hood 🤗
Fineprint:
(1) Описание процесса генерации всего этого добра - в README.md (при желании во время соревнования можно будет запускать код параллельно и проверять, что вопросы, списки файлов и их содержимое - совпадают).
(2) Всего в полном dataset-e 7496 отчетов. Все 46GB мы выкладывать не будем, только те, которые попали в соревновние. Но это отчеты публичные - если ну очень кому-то хочется - их можно заранее собрать в сети по именам компаний.
(3) Blockchain используется только для того, чтобы все могли одновременно получить новый одинаковый random seed (см 40 строк питона). Я так заморочился, т.к. коллеги тоже хотят поучаствовать в одинаковых со всеми условиях.
Завершение детективной истории с LLM под капотом #aicase
Помните детективную историю? Дело было так - одна европеская компания попросила восстановить список клиентов, который утащили ребята из отдела продаж. Я про кейс писал ранее.
- начало истории
- продолжение истории
Если кратко:
1. Сначала использовали LLM в режиме генерации кода, чтобы написать парсер из старого бинарного формата БД DataFlex в SQL. Аналогично написали тесты.
2. Потом использовали LLM в режиме SQL-педанта для того, чтобы привести нечитаемую схему БД в что-то понятное и удобное для работы
3. Завели Anthropic Claude Project для анонимизированной работы с этой схемой, построения отчетов и графиков. Докинули инструкций про то, как красиво и читаемо строить графики. Это позволило быстро проверить пару дюжин гипотез с разных точек зрения. Следов принудительно закрытых клиентов не нашли, но клиента красивыми графиками порадовали.
4. Потом я сделал то, что надо было сделать с самого начала - начал просто собирать данные по всем компаниями в стране, которые могут быть потенциальными клиентами. Понятно, что эти данные никто просто так не даст - везде защита от ботов, CloudFlare и непонятные API. Но все эти проблемы решаются. Sonnet тут здорово помог быстро разгребать разные API и дампы.
5. Когда я из этого кейса делал кату для обучения сотрудников, глаз упал на одну подозрительную колонку в исходных данных клиента. Выяснилось, что это налоговый номер клиента, который записан в станной форме. Причем, эта колонка стала видимой только потому, что раньше попросили сырые файлы со всеми данными, смогли их разобрать и привести в понятный вид при помощи LLM.
6. А дальше все сложилось само собой - теперь можно сопоставить некоторые записи клиентов записям в бизнес-реестре. Одним SQL запросом можно получить список компаний, которые удалены у клиента, но до сих пор продолжают деятельность. Кстати, там пара подозрительных деактиваций есть, но они больше похожи на неаккуратность, нежели на злой умысел. Но это уже не мне судить.
Или можно найти компании, которые до сих пор пытаются обзванивать, но они уже ликвидированы.
Но еще интереснее не копаться в прошлом, а смотреть в будущее - крупные компании, которые работают в целевом секторе экономики, но до сих пор не занесены в клиентскую базу. Особенно, если эти компании приоритизировать по схожести экономических классификаторов, размеру уставного капитала, наличию живого сайта и удобных контактов.
Но это уже будет другая история. Не детективная, а про Lead Generation. Про варианты этого кейса я уже писал ранее:
- LLM ассистент для продаж
- LLM приводят новых клиентов
- Кейс про тендеры и генерацию лидов
И еще один такой же кейс на очереди. Всех их объединяет общая схема - используем внешние источники данных и капельку LLM, чтобы автоматом перелопатить кучу данных и сделать работу отдела продаж более удобной и эффективной.
Вaш, @llm_under_hood 🤗
🚀 Meta Llama 3.1 - пробили планку GPT-4 Turbo
(таблица бенчмарка - в комментариях)
Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
Итак, Meta выпустила три новые модели версии 3.1. В них они расширили контекст до 128k, добавили поддержку новых языков и новый формат модели - 405B. А еще теперь выхлоп из этих моделей можно использовать для улучшения других моделей (что раньше было запрещено лицензией).
Meta Llama 3.1 8B Instruct - неплохая модель, но ее качество получилось хуже, чем у версии 3.0. Пока пропускаем, но можно будет подождать файн-тюнов - они обычно улучшают качество работы моделей с продуктовыми задачами.
Meta Llama 3.1 70B Instruct - заметный рывок в качестве, если сравнивать с прошлой версией. Эта модель достигла уровня Gemini Pro 1.5, обошла GPT3.5 и вплотную приблизилась к Mistral Large 2. Это невероятно круто, т.к. мы можем получить качество 123B модели используя меньше ресурсов, плюс за коммерческое использование не нужно доплачивать.
Кстати, эта модель может быть достаточно чувствительна к сжатию (квантизации). Это не Mistral Nemo, которую изначально готовили к работе на FP8, и при сжатии до 8 бит у Llama 3.1 70B качество на моих задачах упало сильно. Нужно будет аккуратно выбирать параметры и алгоритмы квантизации.
Meta Llama 3.1 405B Instruct - это первая открытая модель, которая побила уровень GPT-4 Turbo (пусть и самой слабой версии - Turbo v3/1106). При таких размерах и чувствительности к сжатию, ее будет использовать меньше людей, нежели 70B/8B. Значит, будет меньше тюнов и интересных решений.
Но это не важно. Главное, что эта открытая модель:
- победила одну из GPT-4
- перегнала Mistral 2 Large
- вплотную подошла к качеству Claude 3 Opus
Думаю, что скоро эту планку возьмут модели поменьше!
Вaш, @llm_under_hood 🤗
---
Предыдущий бенчмарк был про Mistral Large v2. См другие бенчмарки по категории #bench
Mistral Large v2 - лучшая модель, которую можно запустить локально
(таблица бенчмарка - в комментариях)
Mistral AI очень порадовали своей новой моделью на 123B параметров. Это модель декларует поддержку множества языков, как человеческих, так и программирования. Размер контекста у нее - 128k tokens.
На моих продуктовых бенчмарках у этой модели очень качественные оценки по всему спектру тестируемых способностей. И неожиданно высокий Reason в 71.
Для сравнения: суммарно по очкам у модели уровень GPT-4 Turbo v3, Gemini Pro 1.5 и Claude 3 Opus.
Модель есть на платформе Mistral AI (я тестировал там), и еще ее можно выкачать с HuggingFace. В последнем случае можно использовать для некоммерческих целей, но можно и приобрести лицензию для коммерческого использования.
Hugging Face | Announcement
Предыдущий бенчмарк был по Mistral Nemo и GPT-4o Mini. Следующий бенчмарк будет про новые модели Llama 3.1
Вaш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Бенчмарк - закрытый и продуктовый. Описание бенчмарка, категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Новый материал про Knowledge Mapping
Я начинаю формировать материалы для обновления курса про Knowledge Mapping и построение AI ассистентов. За последние месяцы, в процессе объяснений клиентам и другим командам, получилось упростить подачу материала. Как вводную часть, так и подход к паттернам в системах с LLM под капотом (Router, Knowledge Base, Workflow итп).
Самая важная выжимка из этого материала с иллюстрациями есть в лабах. Изначально я делал ее для вечно занятых executives, но теперь открыл доступ для нее всем: Knowledge Mapping Intro
Про Knowledge mapping можно узнать побольше в докладе Datafest 2024. Или в посте "Какие есть примеры Knowledge maps?"
Вaш, @llm_under_hood 🤗
Codestral-Mamba - MistralAI снова порадовали.
(скриншоты таблицы бенчмарка - в комментариях)
Они выпустили модель Codestral-Mamba на 7B параметров, которая оказалось на самом низу первой страницы бенчмарка. И это круто по трем причинам.
Во-первых, мой бенчмарк оценивает не только генерацию кода. Он ранжирует модели модели по их способности работать в разных продуктах с LLM под капотом. А это сильно сложнее, чем просто генерация кода. И тут Mamba внезапно показывает неплохой результат во всех категориях, кроме Reason.
Во-вторых, это не трансформерная модель, а Mamba! Mamba-модели считаются более эффективными и быстрыми, а еще у них нет таких ограничений в размере контекста. Но вот пока не получалось обучить внятную модель, которая могла хоть что-то. А тут кодовая 7B модель на сырой архитектуре внезапно оказалась на уровне Mixtral 8x22B или первых версий Anthropic
В-третьих, она доступна для любого использования c HF. Правда в llama.cpp и HF transformers пока поддержку не завезли. В TensorRT-LLM, говорят, работает.
Ждем новых гвоздей в гроб трансформеров? :)
Model HF | Blog post
Вaш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Описание категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Официально опубликованы LLM бенчмарки за июль 2024. В выпуске:
- Большие прорывы: Claude 3.5 Sonnet и фича Artifacts
- Бенчмарки небольших локальных моделей, тренды
- Confidential computing: как сделать системы c LLM под капотом более безопасными
В выпуске мы собрали бенчмарки из нашего канала "LLM под капотом" за последний месяц. Плюс добавили некоторые инсайты из общения с компаниями про confidential computing и экономный запуск LLM моделей.
English / Deutsch
Baш, @llm_under_hood 🤗
Etched аннонсировали новый AI чип, который способен генерировать 500000 токенов Llama 70B в секунду. Говорят, что восемь их серверов заменяет 160x H100.
Это вполне возможно благодаря тому, что их чипы заточены только на поддержку трансформеров. В своем объявлении они рассказывают, откуда такая мощность и почему они делают ставку на эту архитектуру
На каждом устройстве идет 144 GB HBM3E (широкополосная память со скоростью порядка 1.23 TB/s), что очень важно для высокой скорости работы LLM с большим числом параметров.
Стоимость чипов неизвестна, но заказов на "tens of millions of dollars" клиенты уже разместили. Чипы делает TSMC на 4nm, объемов дефицитной памяти они зарезервировали на год вперед, а специалистов к себе они переманили из всех топовых проектов по созданию AI чипов.
Это очень похоже как на стартап Taales, про который я писал раньше, так и на кучу других компаний по созданию AI чипов. Посмотрим, что у них получится.
Baш, @llm_under_hood 🤗
PS: спасибо за наводку Айгизу
Claud 3.5 Sonnet внезапно очень хороша на бенчмарках. Аж взлетела на третье место.
Она настолько хороша, что возникает подозрение - на чем они сэкономили, чтобы получить такую сбалансированную и дешевую модель?
Текущая версия бенчмарков работает с небольшим контекстом, так что если вдруг модель начинает проседать с ростом контекста (как это случается у GPT4o), то этого мои цифры пока не покажут.
Но в целом очень классно и интересно. Ребята из Antrhopic - молодцы.
Ваш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Описание категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Видео про паттерны AI внедрений в компаниях.
Меня пригласили на интервью рассказать о паттернах внедрения AI проектов в компаниях.
Интервью ведет Oleg Koujikov из Angelneers. Поэтому мы говорим про то, что сейчас интересует компании в силиконовой долине:
0:00 The goals of AI
4:33 Confusion about AI
7:20 Enterprise AI use cases
13:08 Issues with LLM integration
17:32 Data discovery and integration
Посмотреть видео можно тут: YouTube 20min, English
Ваш, @llm_under_hood 🤗
#aicase С какими только кейсами к нам не приходят. Вот вам детективная история.
Какое-то время назад, из чешского отдела промышленной компании (производит станки для металлообработки) с шумом ушли продажники. Как потом выяснилось, они не просто ушли, но и прихватили с собой базу клиентов. Причем не просто прихватили базу, но и втихую пометили всех существующих клиентов как неактивных.
Вскрылось это сильно позже, когда много воды утекло. И владельцы компании пришли к нам c задачей - восстановить потерянных клиентов и приоритизировать их по важности. Срок - середина лета.
Казалось бы, ну какой тут LLM? Достаточно поднять пару бэкапов БД за разные периоды, сделать дельту и восстановить все.
Но есть нюанс. Система - CRM дремучего кода выпуска на IBM (NSF/DB2). Происшествие было настолько давно, что никаких бэкапов не осталось. Audit Manager включен не был. Просто анализ timestamps ничего интересного не показывает - важные изменения потерялись в шуме активной работы с клиентами.
А ведь надо не только откатить изменения, но и на каждую компанию сделать анализ ее перспективности. Тут уже как раз и подтягивается логика поиска и генерации лидов при помощи LLM.
А самое интересное, что лид на этом проекте сейчас - тот самый человек, которого я прокачивал с нуля до data-scientist-a (с ChatGPT под капотом)
Ваш, @llm_under_hood 🤗
Про другие кейсы можно почитать на канале по тэгу #aicase. Оглавление тут.
PS: Данные компании в этом описании изменены: компания не металлургическая и не из Чехии, но суть та же.
Извлечение данных из таблиц - это самый частый и интересный кейс с LLM под капотом.
На самом деле, компании не волнует, есть там извлечение данных из таблиц или нет. У них вопросы другого уровня:
- как найти прибыльные тендеры (кейс)
- как захватить рынок, с которого выгнали конкурента (кейс)
- как исправить ошибки в каталогах продуктов (кейс)
- как правильно классифицировать продукт по отраслевой таксономии. миллион раз.
Но, если смотреть пристально, ~15% работы в каждом из кейсов - это извлечение данных из таблиц в документах с использованием разнообразного CV/ML. А потом уже данные будут интегрироваться с бизнес процессами.
Хочется извлечать данные из таблиц без ошибок, чтобы весь процесс работал максимально точно.
Пока я тестировал разные библиотеки и модели, нашел вот такой простой тест-картинку, которую проваливают практически все специализированные модели для извлечения табличных данных.
А какими библиотеками пользуетесь вы? Могут ли они найти таблички на этой картинке?
Ваш, @llm_under_hood 🤗
Начинаю изучать NVidia AI Platform. Скорее всего, на эту платформу они завяжут локальный запуск самых интересных LLM моделей в будущем.
А ведь, ребята - молодцы. На их платформе можно попробовать любые модели. Причем для обращения к API они сделали полностью OpenAI-совместимый интерфейс. Скорость генерации визуально - весьма быстрая.
Или можно запустить выбранные модели прямо у себя локально. Вкладка Docker ведет на выкачку контейнера с NVidia NIM, который сразу достанет оптимизированную модель под имеющееся железо. Ну и под капотом будет плотно упакован TensorRT c оптимизациями для выжимания максимума из железа (больше того, что позволяет vLLM).
Если кто хочет посмотреть сам: https://build.nvidia.com/meta/llama3-70b
Ваш, @llm_under_hood 🤗
Label Studio - замечательный Open Source проект для оценки и разметки данных.
Например, если нужно быстро разметить кучу документов на обучение и валидацию модели для table layout detection (ибо ну нет нормальных)
Label Studio работает с картинками, текстами, аудио, временными рядами и видео.
Если не пробовали, то всячески советую потыкать палочкой.
# Install the package
# into python virtual environment
pip install -U label-studio
# Launch it!
label-studio
Бенчмарк новой GPT-4o 2024-08-06 - немного глупее и заметно дешевле
У OpenAI есть привычка. Сначала они выкатывают мощную, но дорогую модель. Потом они делают модель сильно дешевле за счет небольшой просадки в качестве. Потом они начинают работать над качеством.
В долгосрочной перспективе их модели становятся дешевле и лучше.
Такое случилось и с новой версией GPT-4o (gpt-4o-2024-08-06). Она в два раза дешевле топовой GPT-4o v1/2024-05-13 и немножечко глупее, чем новый Gemini Pro 1.5 от Google. Заняла четвертое место.
В итоге у нас получается очень неплохая модель по соотношению цена-качество. Это самая дешевая модель из TOP-8! 🚀
А еще с этой моделью включили поддержку constraint decoding. Они ее называют Structured Outputs. Теперь можно заставить модель всегда отвечать с JSON в определенном формате. Это не делает модель умнее, просто гарантирует формат ответов.
Простейший пример реализации такого подхода я демонстировал в "Как сделать так, чтобы Mistral 7B всегда отвечал на русском". Но OpenAI сделала это нормально и встроила прямо в клиента.
Кстати, Structured Outputs включили и во многих других моделях. Это не требует изменения модели - просто добавления "обвязки" на сервере.
А еще, похоже, у OpenAI усились опасения из-за чудесной интеграции Claude Chat с режимом генерации UI кода. Поэтому они в своей статье выделили главу про автоматическую генерацию интерфейсов при помощи Structured Outuputs.
В общем, получилась очень удачная модель по соотношению цена/качество.
Вaш, @llm_under_hood 🤗
---
Предыдущий бенчмарк был про рывок Gemini Pro 1.5 v0801. См другие бенчмарки по категории #bench
Бенчмарк Gemini Pro 1.5 v0801 - TOP3 🚀
Для тех, кто видит эти бенчмарки впервые, напомню - это закрытые продуктовые бенчмарки на основе набора задач из рабочих систем. Мы тестируем не то, как красиво модели болтают, а насколько качественно они выполняют конкретные задачи из продуктов с LLM под капотом. Про структуру и примеры бенчмарков можно прочитать в лабах или на официальном сайте бенчмарков.
Недавно Google объявил, что их новая модель Gemini Pro 1.5 0801 вышла в топ LMSYS Chatbot Arena - бенчмарка, в котором люди голосуют за ответы моделей, которые им нравятся. При этом она обошла ChatGPT-4.
На наших продуктовых бенчмарках результат тоже впечатляющий - модель заняла третье место, побив старые версии GPT-4, с неплохим запасом. У нее очень хорошие очки по всем категориям.
Они могли бы быть и лучше, если бы она поменьше болтала и точно следовала инструкциям (что требуется в продуктах). Возможно именно из-за этой общительности она и заняла первое место в чат-арене.
Это очень крутые новости. Во-первых, появилась конкуренция для OpenAI, откуда не ждали. Будет новый очаг инноваций. Во-вторых, у компаний, которые исторически крепко привязаны к Google Cloud, появился свой провайдер LLM нормального качества.
Вaш, @llm_under_hood 🤗
---
Предыдущий бенчмарк был про Meta Llama 3.1. См другие бенчмарки по категории #bench
LLM Benchmark - July 2024 Edition
Бенчмарки моделей за прошлый месяц официально опубликованы на сайте Trustbit: English / Deutsch.
Пост получился довольно длинный. Он объединяет в себе новости про (ссылки в списке ниже ведут на посты в канале):
- Codestral-Mamba 7B
- GPT-4o Mini и Mistral Nemo 12B
- Mistral Large 123B v2
- Meta Llama 3.1
А еще с 1 Августа начинает вступать в действие EU AI Act, который регулирует использование AI, LLM и систем на их основе. Это включает и локальные модели.
На самом деле, большая часть кейсов с LLM под капотом относятся к категории минимального риска. Они не попадают под действие этого акта. Но для крупных компаний имеет смысл проглядеть свои кейсы и убедиться, что это так и есть.
В конце июльского бенчмарка есть небольшой checklist с вопросами, на которые лучше знать ответы заранее (если собираетесь работать в юрисдикции ЕС в ближайшие годы).
Вaш, @llm_under_hood 🤗
PS: А еще я в том посте подозреваю, что Mistral Large 123B была обучена с FP8 quantisation awareness для эффективного запуска под H100. Уж больно совпадает - 12:7 ~~ 123:80.
Как сжатие (квантизация) генеративных моделей влияет на их качество?
Один пример на базе продуктового бенчмарка:
Снизу - Llama 3.1 70B 8bit (один байт на параметр, см ниже)
Сверзу - Llama 3.1 70B fp16 (два байта на параметр)
Модель одна и та же, но разница в качестве - огромная.
Вaш, @llm_under_hood 🤗
PS: Сам бенчмарк будет завтра, 405B еще считается
PPS: 8bit - это int8 или fp8? Ни то ни другое. см описание bitsandbytes
Mutable.ai придумала новый подход для улучшения качества ответов чатботов, которые работают с кодом.
Они говорят, что если все исходные данные порезать мелко и сложить в векторную базу данных (или использовать поиск по ключевым словам), а потом передать в RAG, то на выходе получается ерунда.
Они начали использовать вариант, который сильно улучшает качество работы с кодом. Они предобрабатывают данные и складируют их в читаемый документ в виде вики статьи с ссылками, которая еще называется Language Map. Этот документ можно проглядеть глазами, но он преимущественно используется LLM при дальнейшей генерации ответа.
По тестам Mutable.ai, качество ответов выросло в разы. Систему можно посмотреть вот тут - https://wiki.mutable.ai
А вот ссылка на саму статью - twitter.
Вaш, @llm_under_hood 🤗
Бенчмарки Mistral Nemo и GPT-4o Mini - приятные мелочи
(таблица бенчмарка - в комментариях)
GPT-4o Mini - новая мультимодальная и очень дешевая модель от OpenAI. Эта модель похожа на более мощную версию GPT-3.5. При этом у нее “Reason” (логические способности) весьма сильные, и она первой выбила 100 очков на категории Marketing - работа с текстами и стилями 🎉
Если бы бенчмарки не были приватными, я бы посчитал, что данные marketing утекли в датасет для обучения))
В общем, это хорошая модель для всяческих классификаторов и раутеров.
Mistral Nemo - новая 12B модель от Mistral AI, которую они обучили вместе с NVidia (announcement) на 3072xH100. Есть открытая версия на Hugging Face, а еще ее можно запустить прямо в их API.
C одной стороны модель стала побольше, чем 7B/8B, но с другой стороны у нее под капотом более эффективный tokeniser и обучение с quantisation awareness. Последнее позволяет запускать модель без потерь качества на FP8, где каждый параметр представлен в виде одного байта.
При этом у модели хороший баланс качества, высокий reasoning и следование инструкциям. Есть вероятность, что тюны OpenChat поднимут ее еще выше в рейтинге, как это было с другими моделями.
Вaш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Бенчмарк - закрытый и продуктовый. Описание бенчмарка, категорий и примеры кейсов есть в лабах. Официальная страница тут. См другие бенчмарки по категории #bench
#aicase Про продолжение детективной истории
Дело было так - одна европеская компания попросила восстановить список клиентов, который утащили ребята из отдела продаж. Я про кейс писал ранее.
В последние недели кейс получил продолжение, даже с применением LLM. Дело было так.
Сначала компания прислала списки всех своих клиентов, сотрудников и любых контактов. Все это было в виде старого доброго Excel на сотни мегабайт.
Мы эти списки разворошили на предмет нестыковок в данных. Тут активное участие принимал сотрудник, которого прокачивали с нуля до аналитика данных с ChatGPT (писал тут).
У всех таблиц были странные заголовки - капсом, с сокращениями и на чешском. Я использовал ChatGPT, чтобы весь этот бардак привести к читаемому виду: сначала импортируем в SQLite, а потом просим почистить имена таблиц и столбцов, чтобы было консистентно и читаемо.
В процессе всплыли нестыковки в данных, например были клиенты в списках контактов, но их не было в основной таблице. В компании не знали причин. Чтобы исключить косяки экспорта, я попросил их не экспортировать в Excel, а прислать сырые данные.
И тут выяснилось, что система работает с дремучим форматом данных DataFlex старой версии. Но у нас к тому моменту уже был Anthropic c Projects & Artifacts, который делает работу с кодом более удобной. Поэтому за несколько дней получилось написать свой парсер для данных, покрыть тестами и отладить.
А дальше началось самое интересное - завели проект для быстрого анализа данных в Antrhopic:
- импортировали все данные в SQLite для удобства анализа
- переименовали все столбцы консистентно и читаемо
- завели новый проект в Anthropic Claude, куда загрузили схему БД, наши познания о клиенте и методички по анализу данных
И теперь можно было начинать чат в этом проекте прямо с вопроса вроде:
I want heat map for all deactivated customers (status == U). One axis - all ChangeWho. Another axis - day of the year for the ChangeDate. I'm looking for patterns, if somebody has been causing a lot of deactivations on one day
Artifacts в чате Antropic Claude - это неожиданно крутая и приятная фишка. Она даже не столько про более мощную модель, сколько про удобный интерфейс и интеграцию.
Идея тут простая - мы часто работаем с документами или кусками кода. И если система находит такой документ, она вытащит его в отдельное окно, которое всегда будет рядом. Этот документ будет версионироваться, над ним можно работать итеративно.
В интерфейсе можно удобно переключаться между разными артефактами и просматривать содержимое всех документов, которые мы вложили. А если, скажем, вложить PDF, то можно будет увидеть текст, который был извлечен и передан в модель.
Из-за Артифактов и улучшения способностей Claude 3.5 Sonnet я теперь предпочитаю использовать чат Антропика для работы с кодом и документами (https://claude.ai). Кстати, там есть триал (при регистрации просят номер телефона)
Baш, @llm_under_hood 🤗
Я потестировал целую пачку разнообразных LLM-ок небольшого форм-фактора.
Из интересного.
Google Gemma 7B IT - внешне слабая модель, которая совсем не слушается. Но вот Gemma 7B OpenChat-3.5 v3 0106 - это файнтюн от OpenChat, который внезапно внезапно забрался довольно высоко. Выше первой GPT-3.5! 🚀
Выше него, из локальных моделей только Qwen1.5 32B Chat от AliBaba. Эта модель внимательнее читает инструкции (выше integrate), но соображает сильно хуже (ниже reason)
Из того, что я тестировал, но вело себя достаточно плохо в продуктовом бенчмарке:
- Yi 1.5 34B Chat
- Google Recurrent Gemma 9B IT
- Microsoft Phi 3 Mini/Medium
- Google Gemma 2B/7B
Ваш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Описание категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Все уже слышали, что Илья Суцкевер запускает свою компанию про создание безопасного AI: Safe Superintelligence Inc.
Что интереснее - сайт им cделал Nat Friedman (бывший CEO Github) - партнер Daniel Gross-a, который участвует в проекте Ильи. А у этих ребят есть еще проект Andromeda Cluster (12 exaflops или 4862кг H100/A100 с infiniband). А еще у них есть проект gpulist - где можно арендовать небольшие кластера GPU-шек (он на скриншоте).
Так что мощности для обучения моделей у компании Ильи будут.
Ваш, @llm_under_hood 🤗
Когда-то я писал про исследование в области генерации синтетических данных для обучения специализированных моделей (см тут).
Основная проблема тут - качество некоторых моделей достаточно плохое, есть куча примеров данных, на которых они ломаются. И хотелось бы дообучить модели на этих примерах.
Но у каждого клиента такие примеры свои, и нельзя их использовать для обучения моделей. Либо это коммерческая тайна, либо просто нет явного разрешения правообладателя.
Что делать? Можно генерировать синтетические данные, которые воспроизводят паттерн проблеми, могут использоваться для обучения моделей и их тестирования. Причем, поскольку мы работаем со своим генератором, то на каждый паттерн можем сгенерировать хоть тысячу конкретных кейсов для обучения.
И вот на этих выходных у меня получилось набросать первый пример такого генератора, который воспроизводит проблемы на популярных моделях табличного распознавания. Примеры картинок покидаю в комментарии.
(код - закрытый, но подходом - делюсь)
Почему именно я начал с таблиц? А извлечение данных at scale - это самый частый и самый выгодный паттерн в AI проектах (см Паттерны разных проектов с LLM под капотом - YouTube 30 минут)
Ваш, @llm_under_hood 🤗
Сообщение дня из нашего чата канала (туда собираются комментарии к постам и отдельные обсуждения).
Ссылка на сам чат - @llm_driven_products
Ваш, @llm_under_hood 🤗
Все читали про новости от Apple?
Партнерятся с OpenAI, Маск грозится забанить все Apple devices за передачу данных, иконку Siri поменяли, а в iPad добавили калькулятор.
А теперь давайте поговорим про то, что повлияет на запуск продуктов с LLM под капотом.
Apple на самом деле сделали очень классно. Они умудрились интегрировать серверные модели в личные девайсы так, что на них не ополчился весь интернет. Если этот подход выстрелит, то аналогичного захотят все остальные, в том числе и бизнес.
Вся информация хранится локально на девайсах, как и раньше.
У Apple есть новая пачка моделей (https://machinelearning.apple.com/research/introducing-apple-foundation-models).
Apple On-Device на ~3B параметров, которая оптимизирована на очень быстрый запуск локально и работает чуть лучше, чем Phi-3-mini, Mistral-7B, and Gemma-7B. А еще у нее есть квантизация в ~3.5 b/t и пачка LoRA адаптеров на все случаи жизни.
Эта модель отвечает за работу на девайсах. Она полностью интегрирована в приложения и операционку, а мультимодальность (text/audio/image/video) позволяет ей понимать людей и общаться с ними.
А что же делать в случаях, когда локальных мощностей не хватает? Тогда начинается самое интересное - девайс может воспользоваться серверными мощностями. Мы либо отправляем запрос на Apple Server модель (сравнима с Mixtral-8x22B и GPT-3.5-Turbo) или в GPT.
В первом случае запрос обрабатывается на своих серверах Apple (Apple Silicon) на базе подходов Confidential Computing (https://security.apple.com/blog/private-cloud-compute/). Если кратко, то данные не хранятся и все время зашифрованы, а еще все это можно доказать и проверить. Такое есть уже у NVidia, начиная с GPU H100.
Во втором случе, мы можем отправить запрос в OpenAI, причем девайс отдельно предупредит и попросит разрешение переслать.
В общем, очень круто, что вся система:
(1) модулярна (можно использовать разные LLMки)
(2) интегрирована в существующие приложения о ОСь
(3) начинает работать локально, но может делегировать задачи в облако
(4) заточена на безопасность и приватность.
Ждем, пока бизнес не попробует всю эту красоту на своих девайсах и на захочет сделать такое же в компании.
Ваш, @llm_under_hood 🤗
Небольшой дайджест
(1) В чате канала шло активное обсуждение способов выжать максимум из GPU в наличии.
Вот у меня есть олама на сервере со своей апихой. Она может генерировать 200 токенов в секунду. Но потребность продуктивного приложения 1 000 000 токенов в секунду (я преувеличил - но это для примера)
При этом возможности вертикального масштабирования исчерпаны (допустим у нас h100)
Банчинг здесь поможет? И в чем он заключается?
GPT-4 - это MoE на 1.8T, если верить презентации от главы NVidia.
Но еще интереснее - экстраполяция стоимости обучения GPT-4 на разных платформах от ребят из Next Platform.
Стоимости карточек растут в разы. B100 ещё не вышел, а на горизонте маячит уже R100 с «бутербродами» из широкополосной HBM4 памяти. Но при этом с каждой карточкой удельная производительность на доллар растет в разы. Энергоэффективность тоже растет.
В итоге выигрывает конечный потребитель - прошлые поколения будут доступны на всяких vast и runpod для обучения своих моделей.
Ваш, @llm_under_hood 🤗