document-013-116884.out.000.pdf
279.5 KB
Как распознавать сложные таблицы?
Еще один пример того, как непросто доставать данные из документов.
На картинке вырезка из технической спецификации Sharp на диоды. Одна единственная страница, но с нюансами.
Попробуйте скормить эту PDF в любой RAG и спросить:
Правильный ответ, очевидно, 1.9. Если у вас есть RAG/Agent под рукой, было бы интересно услышать, что он ответит.
Обычно системы путаются в ячейках или просто отказываются отвечать.
А вот ChatGPT+Vision с такими задачами справляется, но только если ему обрезать картинку до конкретной таблицы.
Как с такими табличками работаете вы?
Ваш, @llm_under_hood 🤗
Еще один пример того, как непросто доставать данные из документов.
На картинке вырезка из технической спецификации Sharp на диоды. Одна единственная страница, но с нюансами.
Попробуйте скормить эту PDF в любой RAG и спросить:
What is the typical peak forward voltage?
Правильный ответ, очевидно, 1.9. Если у вас есть RAG/Agent под рукой, было бы интересно услышать, что он ответит.
Обычно системы путаются в ячейках или просто отказываются отвечать.
А вот ChatGPT+Vision с такими задачами справляется, но только если ему обрезать картинку до конкретной таблицы.
The typical peak forward voltage, as indicated in the provided image, is 1.9 V.
Как с такими табличками работаете вы?
Ваш, @llm_under_hood 🤗
👍11🔥4
Если вам предлагают ChatGPT-4 со скидкой в 50%, значит у кого-то сгорают кредиты OpenAI или Microsoft.
Такое в последнее время случается довольно часто. При участии в инкубаторах стартапы могут легко получить облачных кредитов на 100k-150k USD. И если вдруг бизнес не получается, то кредиты так и остаются висеть.
Поэтому владельцы хотят обналичить хоть часть быстросгорающих активов с немаленькой скидкой. Если кому-то нужно сделать много вызовов ChatGPT за короткий срок и со скидкой - неплохое предложение. Чем ближе к сроку сгорания, тем большую скидку можно выбить 😁
Но там есть засады для легального использования бизнесами:
- Чека или инвойса от Microsoft/OpenAI не будет. Максимум - инвойс от частной компании. Налоговой такое нужно будет объяснять отдельно
- Использование не долгосрочное, а до момента сгорания кредитов. Обычно это на пару месяцев
- Работа идет исключительно на доверии. Ничто не мешает поставщику ChatGPT-4 деактивировать API ключ
- Не факт, что условия использования кредитов OpenAI API/Microsoft разрешают их перепродажу.
Хотя лично мне кажется, что лучше всего такие кредиты выводить самому владельцу в виде datasets. Например, разметить какой-нибудь набор документов в нишевой области (legal, business of law или banking) при помощи ChatGPT-4 Vision. В обычных условиях это очень дорого, но ведь нам нечего терять? А потом неспеша использовать такой dataset для обучения локальных моделей для бизнеса. Вот и задел для новой компании.
А если бы у вас сгорало 100k кредитов OpenAI, то на что бы вы их потратили?
Ваш, @llm_under_hood 🤗
PS: напоминаю, что это добрый чатик. Способы нарушения закона мы не обсуждаем.
Такое в последнее время случается довольно часто. При участии в инкубаторах стартапы могут легко получить облачных кредитов на 100k-150k USD. И если вдруг бизнес не получается, то кредиты так и остаются висеть.
Поэтому владельцы хотят обналичить хоть часть быстросгорающих активов с немаленькой скидкой. Если кому-то нужно сделать много вызовов ChatGPT за короткий срок и со скидкой - неплохое предложение. Чем ближе к сроку сгорания, тем большую скидку можно выбить 😁
Но там есть засады для легального использования бизнесами:
- Чека или инвойса от Microsoft/OpenAI не будет. Максимум - инвойс от частной компании. Налоговой такое нужно будет объяснять отдельно
- Использование не долгосрочное, а до момента сгорания кредитов. Обычно это на пару месяцев
- Работа идет исключительно на доверии. Ничто не мешает поставщику ChatGPT-4 деактивировать API ключ
- Не факт, что условия использования кредитов OpenAI API/Microsoft разрешают их перепродажу.
Хотя лично мне кажется, что лучше всего такие кредиты выводить самому владельцу в виде datasets. Например, разметить какой-нибудь набор документов в нишевой области (legal, business of law или banking) при помощи ChatGPT-4 Vision. В обычных условиях это очень дорого, но ведь нам нечего терять? А потом неспеша использовать такой dataset для обучения локальных моделей для бизнеса. Вот и задел для новой компании.
А если бы у вас сгорало 100k кредитов OpenAI, то на что бы вы их потратили?
Ваш, @llm_under_hood 🤗
PS: напоминаю, что это добрый чатик. Способы нарушения закона мы не обсуждаем.
🔥27👍7❤2😱2
LLM-системы и structured logging - #weekend пост
В феврале я писал про архитектурный “затык” в моем AI-ассистенте. Не получалось никак сделать прозрачным процесс извлечения данных из документов в knowledge map.
Проблема была в том, что над одним документом в рамках концепции Knowledge Maps будут последовательно работать несколько экстракторов данных. Результат работы одних может передаваться в другие.
Например, если у нас есть сообщение с вложенным инвойсом, то однозначно этот инвойс можно классифицировать только после распознавания текста и классификации его в контексте исходного сообщения. Процесс получается нелинейный и потенциально сложный.
И обязательно хочется иметь возможность проинспектировать результаты любого запуска процесса. Вот хоть ты тресни. Ведь без возможности заглянуть под капот нельзя ничего оценить, а без оценки никак нельзя улучшить.
Почти месяц я работал над тем, чтобы все это решить достаточно простым кодом.
На помощь пришли три старые концепции из software engineering:
- structured logging - для логгирования всего так, чтобы это потом было удобно просматривать и визуализировать (статья NewRelic)
- content-addressable storage - чтобы можно было хранить все подряд и избегать дупликации (wiki)
- NixOS derivations - концепция о кэшировании результатов долгого вычисления на основе входных данных (описано в NixOS)
В итоге все работает так:
(1) При появлении новых документов, по ним запускается процесс обработки. На каждый документ создается новый structured log.
(2) Процесс вызывает конкретные модели (data extractors) в нужном порядке. Результат вызова вместе со всеми деталями подшивается в этот лог.
(3) Когда документ обработан, все извлеченные данные подшиваются к нему, вместе со structured log процесса и всеми деталями.
А самое классное в том, что вызовы моделей - idempotent. Это позволяет кэшировать дорогие вызовы автоматически. Весь structured log - тоже immutable. И если ничего не поменялось, то можно процесс обработки документа вызывать хоть сколько раз, результат будет один и тот же.
Вторая фишка состоит в том, что если результат обработки документа пометить как approved/reviewed, то можно пометить все участвовавшие вызовы моделей как хорошие. А это добавляет все данные в dataset для последующего обучения своих моделей.
Пара скриншотов и примеров того, как выглядит structured log - в комментариях.
Ваш, @llm_under_hood 🤗
PS: Никакого LangChain/LlamaIndex не используется. Достаточно простого питона.
В феврале я писал про архитектурный “затык” в моем AI-ассистенте. Не получалось никак сделать прозрачным процесс извлечения данных из документов в knowledge map.
Проблема была в том, что над одним документом в рамках концепции Knowledge Maps будут последовательно работать несколько экстракторов данных. Результат работы одних может передаваться в другие.
Например, если у нас есть сообщение с вложенным инвойсом, то однозначно этот инвойс можно классифицировать только после распознавания текста и классификации его в контексте исходного сообщения. Процесс получается нелинейный и потенциально сложный.
И обязательно хочется иметь возможность проинспектировать результаты любого запуска процесса. Вот хоть ты тресни. Ведь без возможности заглянуть под капот нельзя ничего оценить, а без оценки никак нельзя улучшить.
Почти месяц я работал над тем, чтобы все это решить достаточно простым кодом.
На помощь пришли три старые концепции из software engineering:
- structured logging - для логгирования всего так, чтобы это потом было удобно просматривать и визуализировать (статья NewRelic)
- content-addressable storage - чтобы можно было хранить все подряд и избегать дупликации (wiki)
- NixOS derivations - концепция о кэшировании результатов долгого вычисления на основе входных данных (описано в NixOS)
В итоге все работает так:
(1) При появлении новых документов, по ним запускается процесс обработки. На каждый документ создается новый structured log.
(2) Процесс вызывает конкретные модели (data extractors) в нужном порядке. Результат вызова вместе со всеми деталями подшивается в этот лог.
(3) Когда документ обработан, все извлеченные данные подшиваются к нему, вместе со structured log процесса и всеми деталями.
А самое классное в том, что вызовы моделей - idempotent. Это позволяет кэшировать дорогие вызовы автоматически. Весь structured log - тоже immutable. И если ничего не поменялось, то можно процесс обработки документа вызывать хоть сколько раз, результат будет один и тот же.
Вторая фишка состоит в том, что если результат обработки документа пометить как approved/reviewed, то можно пометить все участвовавшие вызовы моделей как хорошие. А это добавляет все данные в dataset для последующего обучения своих моделей.
Пара скриншотов и примеров того, как выглядит structured log - в комментариях.
Ваш, @llm_under_hood 🤗
PS: Никакого LangChain/LlamaIndex не используется. Достаточно простого питона.
👍21🔥16❤1🥰1
Grok LLM - большая, не имеющая аналогов и никому даром не нужная
X (при жизни - Twitter) выложил свою мега модель:
- 314B параметров (86B активно за раз)
- mixture of experts 8 (2 активны за раз)
- Apache 2.0 лицензия
Сами авторы заявляли:
По отзывам, Grok примерно сравним с GPT-3.5, Mixtral. Если пересчитывать на размер, толку от Grok пока ноль. Пропускаем.
Ссылка на HuggingFace
Ваш, @llm_under_hood 🤗
X (при жизни - Twitter) выложил свою мега модель:
- 314B параметров (86B активно за раз)
- mixture of experts 8 (2 активны за раз)
- Apache 2.0 лицензия
Сами авторы заявляли:
On these benchmarks, Grok-1 displayed strong results, surpassing all other models in its compute class... This showcases the rapid progress we are making at xAI in training LLMs with exceptional efficiency.
По отзывам, Grok примерно сравним с GPT-3.5, Mixtral. Если пересчитывать на размер, толку от Grok пока ноль. Пропускаем.
Ссылка на HuggingFace
Ваш, @llm_under_hood 🤗
👍24😁6👎2🤯2
NVidia экономит электричество и ускоряет квантованные модели
Прошлой ночью NVidia презентовала новые GPU чипы и конфигурации на базе Blackwell. Хороший summary есть в ai news (keynote тут).
Меня поразил один факт, где они сравнивали производительность чипов при тренировке модели уровня GPT-4. Кому, как не NVidia знать эти цифры?
Итак, для тренировки GPT-4 (без учета ошибок):
- нужно 8000 штук H100 в течении 90 дней. Потребление - 15МВт
- либо 2000 штук B100 в течение 90 дней. Потребление - 4МВт
В четыре раза меньше чипов и почти в четыре раза меньше энергопотребление. Если B100 стоит в 4-5 раза больше H100, то это уже легко окупается.
А там еще идет хорошая поддержка квантизации уровня FP8, FP6, FP4. Это значит, что производительность не будет так сильно падать при запуске пожатых моделей. Причем, если верить NVidia, inference LLM в таком режиме вообще дико экономит электричество.
Эти новости радуют. В ближайшие годы нам всем нужно будет еще больше вычислительных способностей.
Ваш, @llm_under_hood 🤗
Прошлой ночью NVidia презентовала новые GPU чипы и конфигурации на базе Blackwell. Хороший summary есть в ai news (keynote тут).
Меня поразил один факт, где они сравнивали производительность чипов при тренировке модели уровня GPT-4. Кому, как не NVidia знать эти цифры?
Итак, для тренировки GPT-4 (без учета ошибок):
- нужно 8000 штук H100 в течении 90 дней. Потребление - 15МВт
- либо 2000 штук B100 в течение 90 дней. Потребление - 4МВт
В четыре раза меньше чипов и почти в четыре раза меньше энергопотребление. Если B100 стоит в 4-5 раза больше H100, то это уже легко окупается.
А там еще идет хорошая поддержка квантизации уровня FP8, FP6, FP4. Это значит, что производительность не будет так сильно падать при запуске пожатых моделей. Причем, если верить NVidia, inference LLM в таком режиме вообще дико экономит электричество.
Эти новости радуют. В ближайшие годы нам всем нужно будет еще больше вычислительных способностей.
Ваш, @llm_under_hood 🤗
🔥22👍6❤3
Архитектура AI-ассистентов одной схемой.
Я нарисовал эту схему только что, чтобы объяснить принципы построения систем одному специалисту. Его роль транслируется в Staff Software Engineer/Principal Engineering Consultant.
В активе у него много успешных проектов для бизнеса, но вот практического опыта построения систем с LLM под капотом пока нет.
Он сейчас заходит в типичный проект на базе LLM, где под капотом RAG с гибридным поиском. Гос клиенты, тысячи пользователей, неистребимые галлюцинации и относительная бесполезность системы. Команда устала от беспросветного копания в ворохе абстракций. Нужно им помочь.
Чтобы помочь выстроить в голове картинку того, как двигать дальше проект, я и нарисовал эту схемку. Она получилась достаточно простая и (вроде бы) одновременно понятная DDD-шникам. Никаких дополнительных иллюстраций не надо.
Посмотрим дальше, поможет ли знание принципов вывести этот проект на правильные рельсы.
А вам такая схема понятна?
Ваш, @llm_under_hood 🤗
Я нарисовал эту схему только что, чтобы объяснить принципы построения систем одному специалисту. Его роль транслируется в Staff Software Engineer/Principal Engineering Consultant.
В активе у него много успешных проектов для бизнеса, но вот практического опыта построения систем с LLM под капотом пока нет.
Он сейчас заходит в типичный проект на базе LLM, где под капотом RAG с гибридным поиском. Гос клиенты, тысячи пользователей, неистребимые галлюцинации и относительная бесполезность системы. Команда устала от беспросветного копания в ворохе абстракций. Нужно им помочь.
Чтобы помочь выстроить в голове картинку того, как двигать дальше проект, я и нарисовал эту схемку. Она получилась достаточно простая и (вроде бы) одновременно понятная DDD-шникам. Никаких дополнительных иллюстраций не надо.
Посмотрим дальше, поможет ли знание принципов вывести этот проект на правильные рельсы.
А вам такая схема понятна?
Ваш, @llm_under_hood 🤗
❤39👍17🤔8🤗3🔥1🥰1💯1
RAG Challenge на годовых отчетах компаний
В последнее время в комментариях было много обсуждений про эффективность разных подходов. Особенно вектора против knowledge maps. Но ведь технологии совсем не важны. Важно только, работает в итоге AI система с LLM под капотом или несет пургу.
И это можно измерить и сравнить. В чатике канала в итоге договорились до небольшого дружеского соревнования 🍻
Идея такая. Каждый желающий пилит свой RAG, который может давать ответы на вопросы по пачке годовых отчетов компаний. Вопросы на information retrieval - сколько человек работает в компании X? У какой компании ликвидность больше? У кого есть виноградники во Франции, и в каких провинциях. Вкладывается ли компания Y в green bonds? итп
Кстати, если у кого-то получатся хорошие результаты - это круто. Ведь кейс интересен стартапам и компаниям побольше. Это прямо ассистент для отдела продаж.
Каждый пилит свой RAG или использует существующую систему. Главное, чтобы там было две фишки:
1. Возможность загрузить тестовый набор отчетов (выберем случайно все вместе, штук 100)
2. Возможность загрузить список вопросов и получить список ответов.
Между первым и вторым шагом может пройти, скажем, часов 5-6 (чтобы система могла переварить данные, посчитать embeddings или прогнать экстракторы)
Исходники открывать не обязательно.
Если кому-то интересно, вот ссылка на набор файлов для обучения - ZIP, 100 MB. В тестовом наборе файлов их, естественно, не будет.
Что по срокам?
Я предлагаю так сделать - как несколько человек готовых наберется (хотя бы пара), то сформируем набор вопросов с документами и прогоним тесты вместе.
Если потом еще кто-то подтянется, можно заново будет это повторить, на новых документах и вопросах.
Какие вопросы будут?
Типы вопросов будут определены заранее до начала соревнования. Поговорим с экспертами и выберем самые реалистичные и востребованные категории.
Что скажете?
Update: 14 команд/человек заинтересовалось в течение суток. Состоится ориентировочно в конце апреля/мае.
Ваш, @llm_under_hood 🤗
В последнее время в комментариях было много обсуждений про эффективность разных подходов. Особенно вектора против knowledge maps. Но ведь технологии совсем не важны. Важно только, работает в итоге AI система с LLM под капотом или несет пургу.
И это можно измерить и сравнить. В чатике канала в итоге договорились до небольшого дружеского соревнования 🍻
Идея такая. Каждый желающий пилит свой RAG, который может давать ответы на вопросы по пачке годовых отчетов компаний. Вопросы на information retrieval - сколько человек работает в компании X? У какой компании ликвидность больше? У кого есть виноградники во Франции, и в каких провинциях. Вкладывается ли компания Y в green bonds? итп
Кстати, если у кого-то получатся хорошие результаты - это круто. Ведь кейс интересен стартапам и компаниям побольше. Это прямо ассистент для отдела продаж.
Каждый пилит свой RAG или использует существующую систему. Главное, чтобы там было две фишки:
1. Возможность загрузить тестовый набор отчетов (выберем случайно все вместе, штук 100)
2. Возможность загрузить список вопросов и получить список ответов.
Между первым и вторым шагом может пройти, скажем, часов 5-6 (чтобы система могла переварить данные, посчитать embeddings или прогнать экстракторы)
Исходники открывать не обязательно.
Если кому-то интересно, вот ссылка на набор файлов для обучения - ZIP, 100 MB. В тестовом наборе файлов их, естественно, не будет.
Что по срокам?
Я предлагаю так сделать - как несколько человек готовых наберется (хотя бы пара), то сформируем набор вопросов с документами и прогоним тесты вместе.
Если потом еще кто-то подтянется, можно заново будет это повторить, на новых документах и вопросах.
Какие вопросы будут?
Типы вопросов будут определены заранее до начала соревнования. Поговорим с экспертами и выберем самые реалистичные и востребованные категории.
Что скажете?
Update: 14 команд/человек заинтересовалось в течение суток. Состоится ориентировочно в конце апреля/мае.
Ваш, @llm_under_hood 🤗
🔥52🤝16👍8❤5🤯1
Кто угадает LLM модель на очереди в бенчмарк?
Это семейство моделей я еще не оценивал, но клиенты просят под свои нужды.
Это foundational model, которую обучили на открытых данных. Ее, говорят, специально затачивали под задачи бизнеса.
Кстати, а мартовский бенчмарк вышел официально на сайте.
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
Это семейство моделей я еще не оценивал, но клиенты просят под свои нужды.
Это foundational model, которую обучили на открытых данных. Ее, говорят, специально затачивали под задачи бизнеса.
Кстати, а мартовский бенчмарк вышел официально на сайте.
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
👍12🔥3🥰1
Ребята, я знаю, что у меня много подписчиков из Москвы и Московской области. Надеюсь, что вы в безопасности.
Случилось страшное. Я соболезную семьям погибших и желаю выздоровления пострадавшим. Берегите себя.
Ваш, @llm_under_hood
Случилось страшное. Я соболезную семьям погибших и желаю выздоровления пострадавшим. Берегите себя.
Ваш, @llm_under_hood
❤73🙏43👍7🔥2👎1🤣1
Небольшой LLM Digest
Grok LLM от xAI, как и ожидалось, оказался никому не нужен. Его выкачали с HuggingFace аж 31k раз, но после этого интерес пошел на убыль. Даже бенчмарков в HuggingFace Leaderboard до сих пор не завезли (ну или я не нашел).
К слову, Mixtral-8x7B-Instruct-v0.1 за последний месяц выкачали 965k раз, а Mistral-7B-Instruct-v2 - больше двух миллионов раз.
Databricks тут же поняли, что терять им уже нечего и тоже выпустили "A New State-of-the-Art Open LLM" на 132B параметров. Тоже большая, уникальная и в итоге даром не будет никому не нужна.
А вот интересный релиз, который MistralAI поленились оформить нормально - это веса для базовой модели Mistral 7B-v0.2, которая вышла уже несколько месяцев назад. Обученный на ее основе Instruct-v0.2 они выложили нормально, а про базовую модель просто забыли.
Если что-то и брать для тюнинга под свои задачи, то именно эта базовая модель Mistral-7B-v0.2 будет одним из кандидатов. Качать TAR тут - https://models.mistralcdn.com/mistral-7b-v0-2/mistral-7B-v0.2.tar
Ваш, @llm_under_hood
Grok LLM от xAI, как и ожидалось, оказался никому не нужен. Его выкачали с HuggingFace аж 31k раз, но после этого интерес пошел на убыль. Даже бенчмарков в HuggingFace Leaderboard до сих пор не завезли (ну или я не нашел).
К слову, Mixtral-8x7B-Instruct-v0.1 за последний месяц выкачали 965k раз, а Mistral-7B-Instruct-v2 - больше двух миллионов раз.
Databricks тут же поняли, что терять им уже нечего и тоже выпустили "A New State-of-the-Art Open LLM" на 132B параметров. Тоже большая, уникальная и в итоге даром не будет никому не нужна.
А вот интересный релиз, который MistralAI поленились оформить нормально - это веса для базовой модели Mistral 7B-v0.2, которая вышла уже несколько месяцев назад. Обученный на ее основе Instruct-v0.2 они выложили нормально, а про базовую модель просто забыли.
Если что-то и брать для тюнинга под свои задачи, то именно эта базовая модель Mistral-7B-v0.2 будет одним из кандидатов. Качать TAR тут - https://models.mistralcdn.com/mistral-7b-v0-2/mistral-7B-v0.2.tar
Ваш, @llm_under_hood
👍34😁6🔥4😱2❤1👎1🤩1
Давайте расскажу свою идею стартапа
Я с ней хожу уже второй месяц, и она связана с загадкой про LLM модель на очереди в бенчмарк.
Идея простая - ответить на пожелания клиентов, которые хотят подобрать себе локальную LLM модель, которая бы хорошо решала их нишевые задачи.
Задачи бывают достаточно разные - извлечь данные таблиц из PDF, классифицировать входящий запрос по категорям, сформулировать search query в Elastic Search для пользовательского запроса итп.
С такими конкретными задачами, скажем, ChatGPT-4 справляется довольно неплохо, а вот локальные модели пока не очень. А уж если пошла речь про другие языки, картинка еще более печальная.
А ведь небольшие локальные модели, если их заточить под конкретные задачи, могут не только догнать ChatGPT по качеству, но и сэкономить немало денег. Именно про это и писал YCombinator в своем письме новым стартапам.
Идея стартапа в том, чтобы выбрать самые востребованные, но нишевые LLM задачи и затюнить модели специально под них. Причем выбирать такие ниши и индустрии (из тысяч возможных комбинаций), чтобы у крупных игроков вроде OpenAI, Anthropic и MistralAI в ближайшую пару лет руки не дошли совсем.
Самое засадное в этой идее в том, что потребуется немало усилий для создания чистопородных моделей с отслеживаемой родословной. Это время на подготовку чистых и репрезентативных синтетических данных с нуля (чтобы комар носа не подточил), последующий тюнинг и отладку на отзывах пользователей.
А причем тут загадка про LLM модель? Так там клиенты очень просили протестировать IBM Granite 13B. Это очень странная модель уровня старых тюнов Llama 13B. Ее единственное преимущество заключается в прозрачной подготовке данных и беспроблемной лицензируемости.
Причем мне кажется, что в этом канале есть люди, которые уже думают в схожем направлении применительно к своим нишам.
Ваш, @llm_under_hood 🤗
Я с ней хожу уже второй месяц, и она связана с загадкой про LLM модель на очереди в бенчмарк.
Идея простая - ответить на пожелания клиентов, которые хотят подобрать себе локальную LLM модель, которая бы хорошо решала их нишевые задачи.
Задачи бывают достаточно разные - извлечь данные таблиц из PDF, классифицировать входящий запрос по категорям, сформулировать search query в Elastic Search для пользовательского запроса итп.
С такими конкретными задачами, скажем, ChatGPT-4 справляется довольно неплохо, а вот локальные модели пока не очень. А уж если пошла речь про другие языки, картинка еще более печальная.
А ведь небольшие локальные модели, если их заточить под конкретные задачи, могут не только догнать ChatGPT по качеству, но и сэкономить немало денег. Именно про это и писал YCombinator в своем письме новым стартапам.
Идея стартапа в том, чтобы выбрать самые востребованные, но нишевые LLM задачи и затюнить модели специально под них. Причем выбирать такие ниши и индустрии (из тысяч возможных комбинаций), чтобы у крупных игроков вроде OpenAI, Anthropic и MistralAI в ближайшую пару лет руки не дошли совсем.
Самое засадное в этой идее в том, что потребуется немало усилий для создания чистопородных моделей с отслеживаемой родословной. Это время на подготовку чистых и репрезентативных синтетических данных с нуля (чтобы комар носа не подточил), последующий тюнинг и отладку на отзывах пользователей.
А причем тут загадка про LLM модель? Так там клиенты очень просили протестировать IBM Granite 13B. Это очень странная модель уровня старых тюнов Llama 13B. Ее единственное преимущество заключается в прозрачной подготовке данных и беспроблемной лицензируемости.
Причем мне кажется, что в этом канале есть люди, которые уже думают в схожем направлении применительно к своим нишам.
Ваш, @llm_under_hood 🤗
👍32🔥7💯7🤔3🤩3❤2
Вебинар “Проектируем и внедряем AI-ассистенты с LLM под капотом”: дата и время проведения нового потока
У меня была насыщенная вторая половина марта, и вот наконец-то появилось время провести третий поток вебинара про проектирование AI-ассистентов.
Вебинар пройдет 5 апреля, в пятницу, в 11:00 GMT+3 (московское время). Это третий поток с материалами, аналогичными предыдущим двум.
На вебинаре я расскажу о принципах построения и внедрения адаптируемых AI-ассистентов на примере небольшого end-to-end кейса. Обсудим с вами принципы проектирования подобных систем, поговорим про контроль качества, сбор данных и построение работы с пользователями.
Вебинар будет полезен как инженерам (заглянем в код), так и продактам, фаундерам и сейлсам - станет понятно, где лежит ценность в проектировании таких ассистентов, каковы их возможности и ограничения.
Можно будет принести свои кейсы для обсуждения и задать вопросы. Чтобы можно было качественнее поработать на Q&A, группа будет не слишком большой.
Длительность - 2 часа. Язык - русский. Стоимость участия в вебинаре - 80 евро. Оплатить можно вот здесь (понадобится карта, работающая за пределами России).
Там же есть ответы на частые вопросы:
- Можно ли оплатить участие другого человека?
- Будет ли запись? Можно ли ее купить отдельно?
- Как принести свой кейс для разбора на вебинаре?
После оплаты вам придет email с деталями и ссылками на зум и в чат потока.
Про Knowledge Maps как раз на этом вебинаре я и рассказываю.
До встречи на следующей неделе!
Ваш, @llm_under_hood 🤗
У меня была насыщенная вторая половина марта, и вот наконец-то появилось время провести третий поток вебинара про проектирование AI-ассистентов.
Вебинар пройдет 5 апреля, в пятницу, в 11:00 GMT+3 (московское время). Это третий поток с материалами, аналогичными предыдущим двум.
На вебинаре я расскажу о принципах построения и внедрения адаптируемых AI-ассистентов на примере небольшого end-to-end кейса. Обсудим с вами принципы проектирования подобных систем, поговорим про контроль качества, сбор данных и построение работы с пользователями.
Вебинар будет полезен как инженерам (заглянем в код), так и продактам, фаундерам и сейлсам - станет понятно, где лежит ценность в проектировании таких ассистентов, каковы их возможности и ограничения.
Можно будет принести свои кейсы для обсуждения и задать вопросы. Чтобы можно было качественнее поработать на Q&A, группа будет не слишком большой.
Длительность - 2 часа. Язык - русский. Стоимость участия в вебинаре - 80 евро. Оплатить можно вот здесь (понадобится карта, работающая за пределами России).
Там же есть ответы на частые вопросы:
- Можно ли оплатить участие другого человека?
- Будет ли запись? Можно ли ее купить отдельно?
- Как принести свой кейс для разбора на вебинаре?
После оплаты вам придет email с деталями и ссылками на зум и в чат потока.
Про Knowledge Maps как раз на этом вебинаре я и рассказываю.
До встречи на следующей неделе!
Ваш, @llm_under_hood 🤗
❤22🔥8👍3🤡2
Cohere Command-R в LLM бенчмарке
Cohere Command-R - это новая 35B модель от Cohere AI, которая заточена на работу в Enterprise.
Фишки:
- Контекст 128k
- Владеет 10 языками, и еще дюжину языков понимает
- Встраивается в RAG и умеет использовать инструменты
- Открыто доступна на HuggingFace для некоммерческого использования
- Доступна в Cohere API по $0.50/$1.50 за миллион входных/выходных tokens
Но вот в продуктовом бенчмарке она проигрывает даже Claude 3 Haiku.
Правда бенчмарк мог не раскрыть все возможности Command-R. Когда я его начинал вести летом прошлого года, function calling и тулзы еще не встречались. Возможно, пора его переделать?
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
Cohere Command-R - это новая 35B модель от Cohere AI, которая заточена на работу в Enterprise.
Фишки:
- Контекст 128k
- Владеет 10 языками, и еще дюжину языков понимает
- Встраивается в RAG и умеет использовать инструменты
- Открыто доступна на HuggingFace для некоммерческого использования
- Доступна в Cohere API по $0.50/$1.50 за миллион входных/выходных tokens
Но вот в продуктовом бенчмарке она проигрывает даже Claude 3 Haiku.
Правда бенчмарк мог не раскрыть все возможности Command-R. Когда я его начинал вести летом прошлого года, function calling и тулзы еще не встречались. Возможно, пора его переделать?
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
🔥14👍9❤2
#weekend пост про моего персонального ассистента
Он, наконец, научился раскладывать вложенные файлы по папочкам, а сами записи раскидывать по workspaces.
Понятное дело, что LLM-ке я физические файлы куда-то двигать не разрешу, но ничто не мешает использовать виртуальные папки.
А на скриншоте пример экрана отладки. Он позволяет понять, о чем думал ассистент, когда обрабатывал очередную входящую запись.
Каждый шаг тут человекочитаем, что позволяет оценивать качество системы и оставлять записи для улучшения. Например, если пометить весь результат как верный, то это сразу отметит все вложенные вызовы LLM-driven моделей как корректные. А это уже сразу 3 новые записи в dataset для тюна своих моделей.
Ваш, @llm_under_hood 🤗
PS: Что за интерфейс? Как обычно, это преимущественно результат работы ChatGPT. 60 строчек Python+Jinja2+HTML и еще 80 строчек каких-то CSS стилей.
Он, наконец, научился раскладывать вложенные файлы по папочкам, а сами записи раскидывать по workspaces.
Понятное дело, что LLM-ке я физические файлы куда-то двигать не разрешу, но ничто не мешает использовать виртуальные папки.
А на скриншоте пример экрана отладки. Он позволяет понять, о чем думал ассистент, когда обрабатывал очередную входящую запись.
Каждый шаг тут человекочитаем, что позволяет оценивать качество системы и оставлять записи для улучшения. Например, если пометить весь результат как верный, то это сразу отметит все вложенные вызовы LLM-driven моделей как корректные. А это уже сразу 3 новые записи в dataset для тюна своих моделей.
Ваш, @llm_under_hood 🤗
PS: Что за интерфейс? Как обычно, это преимущественно результат работы ChatGPT. 60 строчек Python+Jinja2+HTML и еще 80 строчек каких-то CSS стилей.
🔥35👍15
Тем временем, места на третий поток вебинара “Проектируем и внедряем AI-ассистенты с LLM под капотом” закончились. Группы я делаю небольшими, чтобы мы с участниками вебинара могли эффективнее обсудить кейсы и разобрать вопросы.
Если хотите принять участие в четвертом потоке живого вебинара, можете оставить свой емейл вот здесь - когда наберется группа, пришлю вам оповещение о начале продажи в первую очередь. Содержание всех потоков практически одинаковое, отличаться будут только обсуждаемые кейсы - у всех участников они свои.
Это будет последний поток в таком формате. После него я собираюсь записать весь вебинар на продажу в виде лекционной части. Она будет с примерами, но уже без живых обсуждений и, скорее всего, на английском языке.
Ваш, @llm_under_hood 🤗
Если хотите принять участие в четвертом потоке живого вебинара, можете оставить свой емейл вот здесь - когда наберется группа, пришлю вам оповещение о начале продажи в первую очередь. Содержание всех потоков практически одинаковое, отличаться будут только обсуждаемые кейсы - у всех участников они свои.
Это будет последний поток в таком формате. После него я собираюсь записать весь вебинар на продажу в виде лекционной части. Она будет с примерами, но уже без живых обсуждений и, скорее всего, на английском языке.
Ваш, @llm_under_hood 🤗
❤16👍8😢4
#case LLM Ассистент для продаж - разбор нового кейса
Давно я не разбирал тут кейсов с продуктов с LLM под капотом. Распишу свежий вчерашний инсайт.
Клиент - это компания, которая продает специфичные электронные компоненты на международных рынках. В своей нише она отжевала значительную долю рынка. И они делают классную вещь - очень внимательно отслеживают любые движения конкурентов на рынке:
- А сколько они товара продали? А по какой цене?
- А какие новые аналогичные продукты выпускают?
- А почему мы не получаем столько же прибыли, сколько они в каком-то сегменте?
И тому подобное. Зная ответы на подобные вопросы можно очень тонко играть с выпуском новых компонентов, их продвижением и ценообразованием. Это они и делают, довольно успешно максимизируя прибыль.
А в основе всего - достаточно простая таблица, не более 200000 строк. Это список всего товарного ассортимента компании клиента и их конкурентов в одном Excel файле. Помимо самих продуктов там еще и ключевые характеристики, по которым покупатели сравнивают и выбирают эти электронные компоненты: размеры, пины, питание, допуски итп.
И вот как раз составление этой таблицы и поддержание ее в актуальном состоянии - это головная боль. Надо ходить ручками по сайтам конкурентов и аггрегаторов, собирать оттуда файлы с техническими спецификациями и сводить в одну таблицу. А ведь каждая компания еще и выпускает по 20-30 новых компонентов в месяц или обновляет данные на существующие. Надо отслеживать и это.
Чтобы разгрузить людей, разрабатывается ассистент для продаж с LLM под капотом. Его первичная задача - автоматически собирать всю информацию о новых товарах конкурентов и сводить ее в одну таблицу. А информация хранится в разнообразных PDF data sheets, внутри которых даже не просто таблицы, а графики допусков.
Если получится достаточно хорошо решить первую проблему с отслеживанием продуктов конкурентов, то дальше на очереди будут более простые компоненты ассистента - движок сопоставлений продуктов, генератор ключевых слов и текстов для кампаний, сервис поиска сопоставлений для дистрибьюторов итп
А что под капотом?
(1) достаточно простой web crawler
(2) Пара алгоритмов извлечения табличных данных из PDF, с GPT-4 для причесывания всего
(3) Немножечко GPT4-Vision для извлечения некоторых редкостных edge cases из графиков
Ну и естественно, что никаких векторных баз данных или LangChain/LLamaIndex тут и даром не надо)
Ваш, @llm_under_hood 🤗
---
Еще кейсы:
- Кейс с ChatGPT про 10.000 € в месяц
- Ассистент маркетолога с LLM под капотом
- Нишевый lead generator для B2B продаж
Давно я не разбирал тут кейсов с продуктов с LLM под капотом. Распишу свежий вчерашний инсайт.
Клиент - это компания, которая продает специфичные электронные компоненты на международных рынках. В своей нише она отжевала значительную долю рынка. И они делают классную вещь - очень внимательно отслеживают любые движения конкурентов на рынке:
- А сколько они товара продали? А по какой цене?
- А какие новые аналогичные продукты выпускают?
- А почему мы не получаем столько же прибыли, сколько они в каком-то сегменте?
И тому подобное. Зная ответы на подобные вопросы можно очень тонко играть с выпуском новых компонентов, их продвижением и ценообразованием. Это они и делают, довольно успешно максимизируя прибыль.
А в основе всего - достаточно простая таблица, не более 200000 строк. Это список всего товарного ассортимента компании клиента и их конкурентов в одном Excel файле. Помимо самих продуктов там еще и ключевые характеристики, по которым покупатели сравнивают и выбирают эти электронные компоненты: размеры, пины, питание, допуски итп.
И вот как раз составление этой таблицы и поддержание ее в актуальном состоянии - это головная боль. Надо ходить ручками по сайтам конкурентов и аггрегаторов, собирать оттуда файлы с техническими спецификациями и сводить в одну таблицу. А ведь каждая компания еще и выпускает по 20-30 новых компонентов в месяц или обновляет данные на существующие. Надо отслеживать и это.
Чтобы разгрузить людей, разрабатывается ассистент для продаж с LLM под капотом. Его первичная задача - автоматически собирать всю информацию о новых товарах конкурентов и сводить ее в одну таблицу. А информация хранится в разнообразных PDF data sheets, внутри которых даже не просто таблицы, а графики допусков.
Если получится достаточно хорошо решить первую проблему с отслеживанием продуктов конкурентов, то дальше на очереди будут более простые компоненты ассистента - движок сопоставлений продуктов, генератор ключевых слов и текстов для кампаний, сервис поиска сопоставлений для дистрибьюторов итп
А что под капотом?
(1) достаточно простой web crawler
(2) Пара алгоритмов извлечения табличных данных из PDF, с GPT-4 для причесывания всего
(3) Немножечко GPT4-Vision для извлечения некоторых редкостных edge cases из графиков
Ну и естественно, что никаких векторных баз данных или LangChain/LLamaIndex тут и даром не надо)
Ваш, @llm_under_hood 🤗
---
Еще кейсы:
- Кейс с ChatGPT про 10.000 € в месяц
- Ассистент маркетолога с LLM под капотом
- Нишевый lead generator для B2B продаж
🔥33👍16❤5🤔1
Gemini Experimental доступна на Google Vertex AI
Подозреваю, что так назвали Gemini Pro 1.5 в преддверии грядущего Google Cloud Next. Говорят, у нее 1M контекста (но там контекст - это символы, а не tokens), а итоговая стоимость будет сравнима с ChatGPT-4.
Предварительно выглядит неплохо. Но API пока там не доступно, поэтому бенчмарки подождут.
Ваш, @llm_under_hood 🤗
Подозреваю, что так назвали Gemini Pro 1.5 в преддверии грядущего Google Cloud Next. Говорят, у нее 1M контекста (но там контекст - это символы, а не tokens), а итоговая стоимость будет сравнима с ChatGPT-4.
Предварительно выглядит неплохо. Но API пока там не доступно, поэтому бенчмарки подождут.
Ваш, @llm_under_hood 🤗
👍13❤2
Enterprise RAG Challenge: ориентировочно конец Апреля-Май
Помните я писал про предложение дружески померяться силами своих RAG-ов?
Challenge точно состоится, ведь только за первые сутки интерес проявило 14 человек/команд. И это не говоря о компаниях, которым интересно посмотреть на показатели разных систем с потребительской точки зрения.
Участвовать можно будет как публично, с раскрытием имени системы и ее компонентов (например, ChatGPT vs решение внутри контура), так и анонимно (такое тоже просят некоторые вендоры). Leaderboard будет публичный, и каждый сможет сортировать и фильтровать его по важным для себя критериям.
В комментариях просят разнообразных задач, начиная с понимания сложных таблиц и заканчивая картинками. Но начнем мы с малого - как RAG системы могут отвечать на вопросы по документам. Причем вопросы будут браться только те, на которые есть точный ответ.
Документы для первых раундов уже известны заранее - это публичные годовые отчеты международных компаний в виде PDF. Пример есть тут (архив 100 MiB)
Чтобы провести первый раунд соревнования, мне надо сесть и поработать с экспертами из компаний-потребителей - собрать вопросы для RAG-систем, а потом генерализовать их.
Список вопросов будет опубликован публично до начала соревнования в виде “Есть ли у компании A предприятия в стране B?”, “А кто сейчас президент компании C?” или “У какой компании больше всего сотрудников, и сколько?” итп
Конкретные вопросы уже будут нагенерированы прямо во время соревнования силой великого рандома. Код генерации тоже будет открыт (но заранее узнать конкретные вопросы это не поможет никому, даже мне. Потом расскажу, почему это так 😆)
В общем, главный следующий шаг тут - выделить один день на подготовку вопросов с экспертами из разных компаний. Оптимистичная оценка - до 20гоапреля мая смогу это сделать.
Буду держать вас в курсе.
Ваш, @llm_under_hood 🤗
Помните я писал про предложение дружески померяться силами своих RAG-ов?
Challenge точно состоится, ведь только за первые сутки интерес проявило 14 человек/команд. И это не говоря о компаниях, которым интересно посмотреть на показатели разных систем с потребительской точки зрения.
Участвовать можно будет как публично, с раскрытием имени системы и ее компонентов (например, ChatGPT vs решение внутри контура), так и анонимно (такое тоже просят некоторые вендоры). Leaderboard будет публичный, и каждый сможет сортировать и фильтровать его по важным для себя критериям.
В комментариях просят разнообразных задач, начиная с понимания сложных таблиц и заканчивая картинками. Но начнем мы с малого - как RAG системы могут отвечать на вопросы по документам. Причем вопросы будут браться только те, на которые есть точный ответ.
Документы для первых раундов уже известны заранее - это публичные годовые отчеты международных компаний в виде PDF. Пример есть тут (архив 100 MiB)
Чтобы провести первый раунд соревнования, мне надо сесть и поработать с экспертами из компаний-потребителей - собрать вопросы для RAG-систем, а потом генерализовать их.
Список вопросов будет опубликован публично до начала соревнования в виде “Есть ли у компании A предприятия в стране B?”, “А кто сейчас президент компании C?” или “У какой компании больше всего сотрудников, и сколько?” итп
Конкретные вопросы уже будут нагенерированы прямо во время соревнования силой великого рандома. Код генерации тоже будет открыт (но заранее узнать конкретные вопросы это не поможет никому, даже мне. Потом расскажу, почему это так 😆)
В общем, главный следующий шаг тут - выделить один день на подготовку вопросов с экспертами из разных компаний. Оптимистичная оценка - до 20го
Буду держать вас в курсе.
Ваш, @llm_under_hood 🤗
🔥63❤9👍8
Бенчмарк Command-R+
Модель от Cohere ведет себя весьма неплохо, но до GPT-4 и Claude 3 Opus недотягивает на продуктовых задачах.
При этом и стоит она несколько дешевле.
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
- Cohere Command-R
Модель от Cohere ведет себя весьма неплохо, но до GPT-4 и Claude 3 Opus недотягивает на продуктовых задачах.
При этом и стоит она несколько дешевле.
Ваш, @llm_under_hood 🤗
---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- FAQ по декабрьскому бенчмарку
- март (Haiku)
- Март (Claude 3)
- Cohere Command-R
🔥10👍3
Как сделать так, чтобы Mistral 7B всегда отвечал на русском?
Для этого достаточно немного питона и вежливости) И это применимо к любой локальной LLM, не только Мистралю.
Ответ будет стабильно по-русски.
В чем фишка? В "волшебном" классе Guidance. Он просто разрешает LLM-ке отвечать используя только русские символы и знаки препинания.
Mistral-7B в итоге будет всегда отвечать русскими буквами, но иногда будет нести такую ересь, ибо думать по-русски это модель не научит.
На практике такое полезно, если какая-то модель отвечает нормально почти всегда, но иногда срывается в иероглифы. Вот тут их можно остановить.
Ваш, @llm_under_hood 🤗
Для этого достаточно немного питона и вежливости) И это применимо к любой локальной LLM, не только Мистралю.
from transformers import AutoModelForCausalLM, AutoTokenizer, LogitsProcessor
import torch
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2",torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2")
# MAGIC HAPPENS HERE
messages = [
{"role": "user", "content": "Write me a mayonnaise recipe. Please answer in Russian"},
]
tokens = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
generated_ids = model.generate(
tokens, max_new_tokens=1000, do_sample=True, num_beams=5,
renormalize_logits=True, logits_processor=[Guidance()])
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
Ответ будет стабильно по-русски.
<s> [INST] Write me a mayonnaise recipe. Please answer in Russian [/INST] Я рад помочь тебе приготовить майонез! Здесь простой рецепт для традиционного майонеза: 1 яйцо (50г), 2 столовых ложки лимонного сока, 1/2 чайной ложки соли, 1/2 чайной ложки сахара, 1/2 чайной ложки муки, 250мл растительного масла (сойбек, рапсейд или любого другого непривкусного масла). 1. Поместите яйцо, лимонный сок, соль и сахар в большую посуду. 2. Вмешайте эти ингредиенты вручную, используя ложку, до тех пор, пока соль и сахар полностью растворятся. 3. Поместите чайную ложку муки в маленькую посуду, добавьте несколько капель масла и смешайте. 4. Постепенно добавьте масло в большую посуду с яйцом, постоянно мешая, используя ложку, до тех пор, пока майонез не загустит. 5. Продолжайте добавлять масло до тех пор, пока оно полностью поглотится. 6. Майонез готов! Сохраните его в холодильнике до использования. Пожалуйста, обратите внимание, что яйца могут представлять определенную опасность для здоровья из-за риска заражения сальмонеллой. Поэтому рекомендуется использовать только свежее яйцо и хранить готовый майонез в холодильнике.</s>
В чем фишка? В "волшебном" классе Guidance. Он просто разрешает LLM-ке отвечать используя только русские символы и знаки препинания.
import regex
ru_alphabet = regex.compile(r'[А-Яа-яЁё]+')
punctuation = regex.compile(r'^\P{L}+$')
drop_mask = torch.zeros(1, tokenizer.vocab_size, dtype=torch.bool, device="cuda:0")
for k, v in tokenizer.get_vocab().items():
s = k.lstrip('▁')
if ru_alphabet.match(s) or punctuation.match(k):
continue
drop_mask[0][v]=True
drop_mask[0][tokenizer.eos_token_id]=False
class Guidance(LogitsProcessor):
def __call__(self, input_ids, scores):
return scores.masked_fill(drop_mask, float('-inf'))
Mistral-7B в итоге будет всегда отвечать русскими буквами, но иногда будет нести такую ересь, ибо думать по-русски это модель не научит.
На практике такое полезно, если какая-то модель отвечает нормально почти всегда, но иногда срывается в иероглифы. Вот тут их можно остановить.
Ваш, @llm_under_hood 🤗
🔥64👍15❤9😱2⚡1👎1😁1