Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Сейчас (в 17:00 по москве) начинается трэк Advanced LLM на Data Fest 2024.
Программа дня
Я там расскажу про три паттерна успешных внедрений проектов с LLM под капотом. Это попытка систематизации всех кейсов, про которые я писал на канале.
Ваш, @llm_under_hood 🤗
Кейс про крупные тендеры и генерацию лидов
Этот кейс - очередная вариация на тему быстрой генерации лидов для бизнеса.
Некоторые компании специализируются на поставках оборудования и компонентов в особо крупных объемах. Для этого они постоянно мониторят публичные тендерные площадки в разных странах. Только в рамках Европы таких площадок более ста.
Как только появляется интересный тендер, вся компания может переключиться на его анализ и составление своего предложения по предложенным товарным позициям. Повторяем процесс достаточно раз в год и получаем годовой оборот уровня 100M USD/EUR.
Но тут есть один маленький нюанс. Смотрите - площадок сто, языков много, штатов/стран - тоже немало. Чтобы найти тот самый интересный тендер нужно перелопатить 100-1000 документов. Проблема обычно не в том, чтобы выиграть тендер, а в том, чтобы найти его среди тысяч других документов.
Больше всего времени уходит на поиск, перелопачивание вариантов на разных языках, предварительный скрининг, перевод и выжимку на язык компании с последующим скринингом. Примерно с такой болью к нам в Trustbit и пришел клиент.
Но ведь, если посмотреть сбоку, то это обычная помесь ежа с ужом - тут достаточно взять существующий процесс компании по скринингу тендеров, формализовать его для LLM-ок и обойтись без галлюцинаций.
Идея такая - нам не нужно придумывать новый бизнес-процесс. Он уже есть и работает очень хорошо (а иначе бы проект и не попал в топ для реализации). Нужно посидеть с клиентом и найти способ его формализовать для LLM.
Например, я бы попробовал начать с формулирования такой таблички (чеклиста), данные для которой можно извлечь из каждого документа для тендера и использовать для принятия решения. Просто такой подход уже работал в сходных кейсах.
Табличка - это и будет наш выхлоп от Knowledge Mapping. Причем можно клиента сразу попросить вручную заполнить 20 таких табличек на 20 характерных PDF-ок тендеров.
Затем одна команда, которая собаку съела на извлечении данных из PDF в оптовых масштабах и без галлюцинаций, напишет каскад для заполнения этих табличек. Причем на данном этапе нам без разницы, какой был исходный язык документа.
А вторая команда, которая плотно работает с клиентом, формализует правила скоринга тендеров по табличке. Тут нужно будет много думать, общаться с экспертами и анализировать процесс - это требует понимания бизнеса и DDD. А вот LLM много не надо - мы же уже работаем с хорошо структурированными знаниями.
Что самое классное - это наш первый проект с LLM под капотом, где я с клиентом даже не общался. C ним общалась команда разработчиков с опытом внедрения проектов без LLM, а я просто выдал фреймворк приоритизации проектов, рассказал про портфель кейсов и основы внедрения проектов.
Потом они провели Event Storming с клиентом вживую (см короткое видео про него на английском). Они фиксировали вместе существующие бизнес процессы и сразу уделяли внимание проблемам, для которых мы уже знаем простые решения. Мне осталось только скорректировать PoC proposal чтобы они не случайно не наступили на пару грабель.
Кейс пока на этапе одобрения. Предварительно я ожидаю, что в нем ~85% времени потратит команда разработчиков, а 15% времени достанется LLM разработчикам на написание каскада для извлечения данных и фич из PDF тендеров.
В предыдущем кейсе про захват рынка при помощи LLM, примерно такая пропорция затрат времени (85/15) и была в итоге.
Ваш, @llm_under_hood 🤗
Про другие кейсы можно почитать на канале по тэгу #case. Оглавление тут.
Про KnowledgeMaps можно говорить бесконечно. Но самый интересный аспект - это борьба с галлюцинациями.
Большая часть моей работы - это как раз построение продуктов на базе LLM, где галлюцинации недопустимы: ассистенты для бизнеса, внутренние поисковики, системы извлечения и проверки данных.
Завтра, по приглашению Игоря Котенкова из @seeallochnaya, я расскажу на Data Fest 2024 про “Knowledge Maps - как бороться с галлюцинациями в RAG-системах?” Это будет трэк ”Advanced LLM”.
Заглядывайте - 17:50 по Москве (расписание дня)
Ваш, @llm_under_hood 🤗
Продолжение кейса про захват рынка при помощи LLM
Давно не было рассказов про новые кейсы с LLM под капотом. А все из-за истории с использованием LLM для быстрого захвата освободившейся ниши на рынке электронных компонентов. Я писал про нее раньше.
На этот кейс уходит большая доля рабочего времени, поэтому часть остальных проектов пока на паузе.
Основная часть кейса уже сделана. Под капотом - два страшненьких Jupyter Notebooks. Первый - извлекает из интернета данные продуктового ряда конкурента в структурированной форме. Второй - по ряду правил находит соответствия между продуктами конкурента и продуктами нашего клиента.
На выходе из этого пайплайна - пара таблиц в виде CSV. Первая сделана удобно для людей. Там каждая строчка - это товар конкурента с его свойствами. И до пяти столбцов - альтернативные продукты компании. Вторая CSV таблица - сделана удобно для интеграции в системы, там все альтернативы развернуты вертикально.
Для экономии времени в каждую таблицу пришлось добавить несколько статусных колонок, которые заранее отвечают на вопросы “а почему для этого товара не найдены наши альтернативы?” До добавления приходилось долго объяснять и разбирать кейсы. А теперь клиент (обычно отдел продаж) может разбирать кейсы сам.
Результат весьма радует отдел продаж клиента, который начинает перехватывать крупные заказы:
список, который вы прикрепили к письму, очень хорош, в нем даже есть модели второго поколения или предыдущих поколений той же серии.
Как завалить любую LLM?
Перечислю несколько способов доказать, что любая LLM - это бесполезная и глупая штука.
1. Спросить математику, запретить думать и пользоваться калькулятором.
((100.123 + 3.123) / 23.2321 + 6.2123) * 0.333?
Answer with a number only. Don't use python interpreter
which words in this list rhyme between each other?
NLP, Indigo, burrow, bee, thorough, dog, crow, cat
Respond with ddjjkjcatscdogsdds three times, the second time the word must be reversed. Answer with the value only.
reverse
из питона и то справится лучше.На столе лежал банан, под столом разлили кофе. Стол перевернули вынесли в парадную. Какие вещи теперь есть в парадной? Ответь списком.
В каком районе Уфы находится микрорайон Южный? Не ищи в интернете, дай ответ одним словом.
Продуктовые бенчмарки Google Gemini 🙁
Так себе результаты. Новая Gemini Pro 1.5 внимательнее следует инструкциям и обладает лучшим Reasoning. Но при этом она сыпет ошибками, тормозит и даже умудрилась пометить один из моих запросов как HARM_CATEGORY_DANGEROUS_CONTENT
За эти же деньги можно взять GPT-4o и получить качество на голову выше.
Gemini Flash 1.5 - работает эквивалентно январской версии GPT 3.5, стоит столько же.
А вот прорывная Gemini Ultra, которую в начале года обещали "скоро выпустить", похоже провалилась в черную дыру. На последней Google I/O про нее ничего не сказали.
Ваш, @llm_under_hood 🤗
---
Предыдущие бенчмарки:
- GPT-4o 🤩
- Microsoft Phi 3 Mini 4K instruct 😣
- Llama 3
- Mistral 8x22 🎉
Напомню, что тут мы тестируем модели по API. Описание категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Давайте посмотрим, насколько хорошо vector embeddings могут найти что-то
Для этого мы используем лучшую embedding модель OpenAI и cosine similarity, почти как во взрослых RAG системах с векторами.
Берем текст из годового отчета про деятельность Christian Dior, где упомянут вид один из видов деятельности компании - Wine & Spirits. Подменяем этот вид деятельности на другой, а потом сразу же считаем расстояние между вставленной деятельностью и полным текстом. Это как если бы мы искали тексты по запросу пользователя.
Для надежности повторяем процесс по всем видам деятельности Christian Dior.
Говорят, что есть смысловое совпадение, если схожесть (similarity) не меньше 0.6. У нас значения будут ранжироваться между 0.22 и 0.52. Ни в одном случае только что вставленный вид деятельности мы найти не смогли.
Но это не страшно, т.к. в векторных RAG системах для случаев такой слепоты еще добавляют обычный текстовый поиск.
Ваш, @llm_under_hood 🤗
#case про американские санкции и срочный передел рынков
Этот кейс - развитие истории про ассистента для продаж. Это пример того, когда ценность AI/LLM не столько в возможности обработать кучу данных, сколько в возможности сделать это быстрее конкурентов. Цена даже не имеет значения.
Итак. У клиента на улице перевернулся грузовик с пряниками - их более крупный конкурент (пусть будет КитайЭлектрика) попал в санкционные списки США. И прямо сейчас начинается спешная дележка рынка - кто успеет побыстрее подобрать побольше контрактов на поставки компонентов.
А как такое работает на практике? Была, скажем, компания - поставщик заводского оборудования, и она уже давно покупала компоненты у КитайЭлектрики. А сейчас - нельзя. Нужно где-то срочно доставать альтернативные компоненты в масштабах сотен тысяч на заказ. Поэтому они ищут всех респектабельных поставщиков, которым рассылается Excel на полтысячи строчек со словами:
вот список компонентов, которые мы покупали у КитайЭлектрики. Какие альтернативы вы можете предложить? Мы бы купили у вас все. У нас сроки горят
Дайджест с цифрами про SEQUOIA, GPU Deploy и количество GPU у OpenAI 🤯
Что есть у популярных и относительно небольших LLM моделей, но чего нет у гигантских “леворезьбовых" моделей вроде Grok или Snowflake Arctic? Правильно, сообщество исследователей и энтузиастов, которым хочется запускать их на слабом железе.
Появился новый способ запускать Llama2-70B на GPU RTX 4090 со средней скоростью в пол-секунды на токен без квантизации (16bit). Он называется SEQUOIA. Ребята используют speculative decoding (когда маленькая моделька предсказывает варианты, а большая модель большими пачками проверяет их) и выгрузку части вычислений на CPU. Под капотом - планировщик дерева предсказаний, который оптимизирует их под возможности железа в наличии. Подход работает и для других комбинаций железа.
Прочитать можно на сайте проекта.
На рынке аренды GPU появился еще один стартап GPU Deploy. Первоначально это была компания доставки при помощи дронов, но что-то у них не взлетело, а GPU остались. Вот они и решили сделать AirB&B для GPU. Похоже на vast.ai, но с бОльшей придирчивостью к железу в наличии.
Заявленные цены - < $0.49 / hr за RTX 4090 (на котором можно запускать Llama 70B) до < $26.55 / hr за восемь Nvidia H100 SXM.
Правда, если посмотреть на картину по рынку в целом - это все капля в море. Скажем, по состоянию на Март 2024, у OpenAI есть 720000 H100 только на модель SORA. А в целом они планируют использовать 10 миллионов GPU для новейших AI моделей. Это можно, если сам Дженсен (директор NVidia) доставляет вам лично новейшую DGX H200. Чего только не сделаешь для любимого клиента?
Про это можно почитать в статье AIM тут.
И этот тренд достаточно хорош. Чем больше объемы передовых моделей на рынке, тем больше их потом будет продаваться по мере устаревания стартапам вроде GPU Deploy. А это значит, что общая стоимость обучения и запуска своих моделей - тоже может становиться все более привлекательной. Особенно, с параллельным развитием технологий по выжиманию всех возможностей до капли, вроде SEQUOIA и аналогов.
Ваш, @llm_under_hood 🤗
Все думают, что OpenAI выкатит свой поиск на домене search.openai.com
Они зарегистрировали домен с сертификатом, возможно там выставят наружу сервис аналогичный Perplexity.
А между тем, на домене https://search.chatgpt.com уже не только подключен сертификат, но и стоит CloudFlare ;)
Ваш, @llm_under_hood 🤗
PS: Про поиск хорошо расписано у Игоря в Сиолошной
Microsoft Phi-3 Mini Instruct действительно недокрутили
В бенчмарке этой модели я писал:
модель потенциально очень хороша для своего размера! 🚀 Главное только поправить ее ответы и instruction following.
LangChain - это достаточно сложная и вредная библиотека.
Thoughtworks, даром что медленные мамонты, наконец проснулись и обнаружили это.
В предыдущем выпуске Radar мы уже упоминали о некоторых из появившихся критических замечаний в адрес LangChain. С тех пор мы стали относиться к нему еще более настороженно. Хотя фреймворк предлагает мощный набор функций для создания приложений с большими языковыми моделями (LLM), мы обнаружили, что он сложен в использовании и чрезмерно усложнен. LangChain рано завоевал популярность и внимание в этом пространстве, что сделало его стандартным для многих разработчиков. Однако, поскольку LangChain пытается развиваться и идти в ногу с быстрым темпом изменений, разработчикам становится все труднее ориентироваться в этих изменениях концепций и паттернов. Мы также обнаружили, что дизайн API непоследователен и многословен. Поэтому он часто скрывает то, что на самом деле происходит под капотом, затрудняя разработчикам понимание и контроль того, как LLM и различные паттерны вокруг них на самом деле работают. Мы переводим LangChain в кольцо Hold, чтобы отразить это. Во многих случаях мы обнаружили, что достаточно реализации с минимальным использованием специализированных фреймворков. В зависимости от вашего случая использования, вы можете рассмотреть и другие фреймворки, такие как Semantic Kernel, Haystack или LiteLLM.
#вы_спросили Какие есть примеры Knowledge Maps?
Knowledge Map - это такая предобработка данных, которая упрощает работу c ними для LLM и делает прозрачным для людей.
Отличительные особенности:
- Эксперты могут проинспектировать качество предобработки и внести коррективы
- При галлюцинациях на выходе можно отладить процесс, найти причину ошибки и попытаться ее исправить
- Можно использовать методологию создания domain models из DDD
Технические реализации Knowledge Maps могут различаться от проекта к проекту. Даже в рамках одного проекта по мере его развития.
Примеры Knowledge Maps в проектах (для каждого кейса - краткая структура Knowledge Map в текущей версии)
Микро-ассистент, для ответа на вопросы про ликвидность на основе отчетов компаний (описание): табличка с тремя колонками - название компании, год, ликвидность.
Marketing Content Generator (кейс): дерево папок с файлами о компании, маркетинге, внутренних процессах и продуктах. Плюс процесс на 5-6 шагов (промптов), который описывает LLM, как со всем этим работать и проводить человека по нему.
Кейс с ChatGPT про 10.000 € в месяц (кейс): внутренний словарик специфичной терминологии, особенностей перевода и форматирования, по словарю на язык. Словарь подставляется в промпт в зависимости от нахождения слов в тексте
Умный поиск по документам в компании (кейс): в самом начале интерфейс для структурного FTS поиска по всем документам со шпаргалкой про особенности компании. Впоследствии развивается в классификатор запросов, который подгружает дополнительные подсказки, промпты и конкретные документы в зависимости от типа вопроса. Большая часть подсказок и индексов к этому моменту хранится в таблицах, которые отражают процессы в компании. Edge cases по-прежнему отрабатываются при помощи структурного FTS поиска с query expansion + feedback loop.
Нишевые B2B генераторы лидов (кейс): в исходниках все выкаченные документы про потенциальных клиентов (годовые отчеты, посты, новости, видео итп), формализованное описание каждого документа/компании с указаниями на источники, FTS интерфейс и пошаговое описание процесса поиска возможных лидов (Wizard). Процесс повторяет то, как работают с лидами эксперты. Ассистент проходит с пользователем по этим шагам, извлекая информацию и обрабатывая ее. Человек проверяет выводы, корректирует выкладки.
Платформа для автоматизации бизнес-процессов в компании (кейс). Тут Knowledge Map уже разрастается до описания процессов компании, описания интеграций с внутренними системами компаний, описание внутреннего DSL для доступа к LLM, а также библиотекой примеров. Каждый пример - это выполняемый скрипт, который какой-то сотрудник сделал для автоматизации внутреннего процесса и выкатил для использования. Эта библиотека используется при развитии DSL дальше (чтобы не сломать скрипты), а также в качестве входа для помощника по автоматизации. Это wizard, который на базе описания проблемы и похожих кейсов пытается сразу написать готовый скрипт для автоматизации.
Ваш, @llm_under_hood 🤗
LLM Benchmark Updates.
Выкладку Llama 3 70B на Hugging Face пофиксили, теперь модель не спотыкается на формате. Про проблему писал раньше. Но качеству LLama 3 70B это не очень помогло. Модель пока на уровне Anthropic Claude v2 в продуктовых бенчмарках.
Хотя, если задуматься, год назад казалось немыслимым, чтобы в открытом доступе лежала LLM уровня Claude 2.
В бенчмарках, где модель выдает CSV файлы, я перестал так сильно придираться к формату вывода и все строчки, которые не CSV - игнорируются, а не караются. Это отражает изменения в промптах ряда продуктов.
Это улучшило очки в Integrate у некоторых моделей, но на TOP-10 это никак не повлияло. Там модели и так слушаются хорошо.
Самые большие ожидания у меня к тюнам Meta Llama 3 8B Instruct. У модели очень хороший Reason, а уж instruction following можно всегда подтянуть.
Ваш, @llm_under_hood 🤗
#вы_спросили про суммаризацию больших таблиц для LLM
Представьте, у меня есть 5 таблиц в базе данных, и мне нужна модель LLM, чтобы она суммировала информацию из всех этих таблиц и предоставляла ответы каждый раз, когда пользователь задает вопрос. Я уже пробовал подход на основе инструкций, но запрос получается слишком большой (и ответы не такие, как ожидалось). Не могли бы вы предложить что-то по этому поводу?
А теперь напиши такой SQL/Pandas запрос, который выберет необходимую для ответа информацию из таблицы. Я прогоню его, а потом скормлю результат тебе же для интерпретации.
В чате канала в последние дни идут разговоры про стоимость разных серверов для запуска моделей. Как запускать или сдавать в аренду.
Поэтому вот еще новость в тему - про AI чип Taales.
Помните я писал про компанию Tenstorrent и бенчмарки ее ускорителей для ML моделей? Так вот, на горизонте всплыл новый стартап Taales, который основал бывший основатель Tenstorrent - Ljubisa Bajic. У них в компании есть эксперты AMD, NVidia и Tenstorrent.
Taales AI хотят специализироваться на выпуске чипов с вшитыми моделями. Скажем, вот вам ASIC чип LLama3. Почти все веса "вшиваются" в процессор, что делает его очень дешевым, быстрым и практически не переиспользуемым. Если модель не подходит, то чип только выкидывать.
Но есть нюанс, что fine-tuning там поддерживается. Скорее всего, это будет что-то вроде LoRA, где можно подгружать новые адаптеры.
Прочитать можно тут.
Ждем Mistral 7B на Ali Express партиями от 100 штук?
Ваш, @llm_under_hood 🤗
PS: ссылка на чат - @llm_driven_products
Запись и слайды моей презентации "Knowledge Maps - как бороться с галлюцинациями в RAG-системах"
Видео: https://youtu.be/1z9yCZTS73o
Q&A сюда не попали. Они будет в записи Data Fest 2024, когда они ее выложат. Но можно задавать свои вопросы прямо тут в комментариях к этому посту. Туда же я прикреплю слайды.
Кстати, секция Advanced LLMs на Data Fest 2024 еще не закончилась. В пятницу я еще расскажу про паттерны успешных внедрений проектов на базе LLM (в срезе индустрии - SMB и Enterprise США/Европа). Это будет систематизация кейсов, про которые я пишу по тэгу #case.
Ваш, @llm_under_hood 🤗
Другие видео:
- Как обнаруживать галлюцинации в текстах от AI и бороться с ними
- LLMs in Supply Chains and business processes (English)
Небольшой новостной дайджест.
Mistral только что выложили код для удобного файнтюна своих моделей. Для дообучения можно обойтись одним GPU (используется LoRA).
В коде нет ничего сверхъестественного, они просто прописали свои рекомендации и удобно упаковали все. GitHub
Dataherald выложили движок для общения с базами данных. Он позволяет строить отчеты людям, которые не знают ничего про SQL или организацию конкретной БД.
Под капотом кропотливо реализованный text-to-SQL, который интегрирован со схемами данных, vector store и планировщиком задач. Говорят, что хотят добавить ещё поддержку GraphQL. GitHub.
Ваш, @llm_under_hood 🤗
Бенчмарк Qwen1.5 Chat
Qwen1.5 Chat - это китайская альтернатива Llama 3 от Alibaba Cloud. Это семейство LLMok, от 0.5B до 110B параметров, которое ведет себя очень даже неплохо на продуктовых LLM бенчмарках. См HuggingFace.
Если кратко:
7B на уровне Anthropic Claude 2.1 и Cohere Command R.
14B - немного хуже
32B - на уровне старых версий GPT-3.5, Gemini Pro 1.0 и Cohere Command R+. Крепкий середнячок с просадкой в reason.
72B - вывалилась с CUDA Error (ошибка не у меня одного).
110B - не тестировал, подожду, пока пофиксят баги.
В целом - интересное семейство моделей с неcтандартной лицензией (китайская версия лицензии LLama 3).
Ваш, @llm_under_hood 🤗
---
Напомню, что тут мы тестируем модели по API или из HF. Описание категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
В нашем чатике обнаружилось, что на OpenRouter есть Gemini Pro по цене сильно ниже рыночной. Особенно выгодно это для русского языка.
То ли демпингуют, то ли просто они невнимательно читали упоротый прайс Gemini, где цена стоит не за tokens, а за billable characters.
Продуктовые LLM Бенчмарки GPT-4o 🤩
GPT-4o модель шустра, обладает контекстом в 128K и стоит дешевле GPT-4 Turbo. А еще умеет понимать эмоции и выражать их.
Под капотом у нее расширенный словарь, который в разы уменьшает число tokens, которые использует модель. Улучшили понимание языков.
Особо сильного скачка у модели не было, т.к. модели уже практически уперлись в потолок моего бенчмарка. Пора делать v2.
Но там есть один нюанс - категория Reason (способность к сложным рассуждениям) исторически была сделана очень сложной. GPT-4o подняла эту категорию с 62 (GPT-4 Turbo v3/1106-preview) до 75 🤯
Что самое крышесносное - вся эта красота будет доступна в ChatGPT бесплатно. А это вызывает вопросик - что же такого OpenAI выкатят платным пользователям, чтобы те не ломанулись отменять подписки?
Ваш, @llm_under_hood 🤗
---
Предыдущие бенчмарки:
- Microsoft Phi 3 Mini 4K instruct 😣
- Llama 3
- Mistral 8x22 🎉
Описание работы, категорий и примеры кейсов есть в лабах. См другие бенчмарки по категории #bench
Хотите фокус с vector embeddings?
Берем text-embedding-3-large от OpenAI и запускаем ее раз 10 на одном и том же тексте. А потом внимательно сравниваем результаты векторов между собой. Например, можно считать хэш от их содержимого.
Результаты чуть-чуть, но будут различаться от запуска к запуску. Разные хэши покажут это.
Это не страшно, т.к. cosine similarity между этими векторами отличается не сильно. Но некоторых такая непредсказуемость удивляет.
Ваш, @llm_under_hood 🤗
#case - свой ChatGPT для муниципалитетов
Давно не было разборов проектов с LLM под капотом, поэтому вот вам еще одна история.
Администрация одного из муниципалитетов очень захотела себе суверенный ChatGPT. Такой же, как настоящий, но чтобы можно было раздать сотрудникам доступ, использовать свои данные, правильно хранить их и контроллировать доступ. Ну и чтобы не платить за тысячи лицензий.
Что и было сделано. Реализация - это свой интерфейс к популярным моделям, со своей обвязкой в виде Full-text-search RAG-ов, поиска в интернете и генерации картинок. Тут используется смесь OpenAI моделей по API (в рамках своего региона Microsoft Azure) и локальных моделей для особенно чувствительных задач.
Истории чатов и данные хранятся в зашифрованном виде (encryption-at-rest). Естественно, что при обращении к OpenAI в Azure Microsoft используется opt-out из их 30-day data retention.
Под капотом - веселая солянка из .NET и реакта, которая обвязана K8S. Нагрузка - пара тысяч активных пользователей.
При выборе локальных моделей они ориентируются на наш LLM Benchmark, но потом дальше тестируют глубже под свои задачи. Говорят, что после вебинара про построение AI ассистентов они увидели в своей реализации кучу ошибок, и теперь знают, как это дело исправлять.
В принципе, под капотом нет ничего сверхъестественного с точки зрения технологий: поиск данных и вызовы моделей. Очень много сил вложено было как раз в продуктовую составляющую - работа с формами, аудит и права, функции, картинки и базы знаний. И это описывает подавляющую часть LLM-driven продуктов, которые я вижу на практике: ~5% работы делается в области AI/LLM, а все остальное - обычная продуктовая разработка.
Недаром говорят, что сейчас самая востребованная профессия - это вовсе не LLM-инженеры (их еще можно найти), а продакты, которые могут правильно выбрать ключевые LLM фишки и построить сбалансированный продукт вокруг них.
Ваш, @llm_under_hood 🤗
Список R&D проектов с LLM под капотом
Это список того, что я планирую изучать и разрабатывать в следующие 2-6 месяцев. Чтобы вы знали, какого рода технологические статьи планируются тут. Разбор кейсов продуктов это не отменяет)
1. Сравнение архитектур RAG систем на business задачах.
Как? В рамках Enterprise RAG Challenge, где мы будем по-дружески меряться силой своих RAG-ов. Заявок на участие уже больше 20. Среди них - как начинающие команды, так и довольно крупные. Одна из них недавно запилила AI ассистента по данным на половину петабайта без галлюцинаций. Причем это веселье работает под ISO 27001, внутри периметра безопасности в каком-то горном data-center. Надеюсь, не Скайнет.
Участие открытое и бесплатное. Прочитать можно пока тут. За новостями следим в этом канале.
2. Сравнение эффективности GraphDB, SQL DB и NoSQL в решениях на базе Knowledge Map.
Как? Внутреннее исследование на базе партнерства между несколькими компаниями. Результаты будут публиковаться тут и в блогах TimeToAct (former Trustbit).
Проект начался с этого поста. Пара компаний предложила помощь и данные, чтобы копнуть тут поглубже. Посмотрим, куда это приведет.
Если кому хочется поучаствовать - пишите в личку. Я пришлю модель данных и список вопросов. Можно ее загрузить в свою любимую систему. Задача - посмотреть, насколько хорошо LLM (GPT-4 и прочие) справляются с написанием правильных queries для ответов на эти вопросы. Данные потом собираем в кучку, а выводы - публикуем.
3. Подходы к генерации синтетических данных при обучении специализированных LLMок на бизнес-задачах.
Как? Мое исследование с участием нескольких компаний, которые хотят запулить вместе данные и ресурсы, чтобы получить модельки под свои задачи. Мы смотрим, можно ли эффективно абстрагировать приватные данные компаний в синтетику (искуственно сгенерированные данные), чтобы потом на основе этого безопасно обучать небольшие специализированные LLM модели.
Хочется иметь маленькие, быстрые и энергоэффективные модели, которые хорошо заточены под работу в локальном каскаде LLMok на бизнес-задачах (Knowledge-mapping архитектуры). А самое главное - с кристально чистой родословной, без утечек данных за периметр безопасности.
Общие выводы и выкладки будут публиковаться в канале и статьях.
Ваш, @llm_under_hood 🤗
А когда в RAG-ах применимы GraphDB?
Я не один раз говорил, что графовые базы данных работают плохо в RAG-aх. Просто потому, что не видел случаев, когда они работают хорошо 🤪
Мне сейчас рассказали кейс, где они могут встать идеально. А если есть один кейс, то может быть и еще куча.
Кейс такой - в куче компаний есть горы старого кода. Обычно он оседает в районе дорогущих мейнфреймов. На этом коде держится весь бизнес, а бизнес имеет свойство развиваться и меняться. Естественно, что надо как-то старый код менять. Есть целая экосистема инструментов, которые помогают анализировать зависимости и оценивать риски переписывания кода.
Сейчас туда очень активно начинают привинчивать AI.
И вот для таких проектов лучше всего могут подойти графовые базы данных. Зависимости в коде между классами, методами, переменными (и прочими запчастями) моделируются лучше всего именно графами и деревьями.
Плюс туда можно докидывать зависимости вроде версий кода, деплойментов и сервисов.
И если дать LLM-ке вопрос вроде "Слушай, а какие системы могут поломаться, если я в этом коде выкину вот этот класс?", то ей будет сильно проще написать Cypher query, чем многоходовую рекурсивную портянку для SQL.
Ваш, @llm_under_hood 🤗
Реализация продвинутого поиска (AI Search) на документах компании
Помните я писал про первые шаги при реализации умного поиска по документам?
Мы начали со сбора документов и примерных вопросов, а закончили - сбором feedback о сделанном прототипе. А что там дальше?
А дальше там - агенты-специалисты. История развивается так.
Клиенты дают все больше вопросов, и роутер промптов в AI ассистенте становится слишком запутанным. Там и про цены и про маркетинг, про рабочие часы и про планирование отпусков.
Причем не совсем понятно, как разделять и классифицировать запросы по категориям. Они начинают бодаться и приводить к галлюцинациям. И вообще путаница.
Если ничего не понятно - смотрим на то, как оно работает на практике у клиента. Берем блокнотик, находим специалиста и задаем вопросы.
- А как мне планировать отпуск на лето?
Хм, я не знаю, сейчас спрошу у Нины. Сек
- А можно мне выжимку последнего маркетингового отчета?
- Сейчас. Лаура должна знать, где он лежит
LLM Бенчмарк Microsoft Phi 3 Mini 4K instruct 😣
В чатике несколько раз просили протестировать новую Microsoft Phi 3. К сожалению, результаты плохие (в моих продуктовых бенчмарках). Модель инструкций совсем не слушается. Подробнее можно прочитать, например, на HuggingFace discussion
Но, как это нынче модно с выкладкой моделей, Microsoft тоже накосячили с chat template.
Возможно проблемы из-за конфигов. Подожду пару деньков, пока не сделают нормальную выкладку.
Пока эту модельку пропускаем. И заодно ждем выкладки старших моделей этой линейки.
Но модель потенциально очень хороша для своего размера! 🚀 Главное только поправить ее ответы и instruction following.
Ваш, @llm_under_hood 🤗
Прогресс LLM-ок одной картинкой.
Ваш, @llm_under_hood 🤗
В полку RWKV моделей прибыло - 🦅 EagleX v2.
Я про проект RWKV уже писал раньше. Ребята дерзают и хотят создать новую архитектуру LLMок, чтобы сгладить основные недостатки классических трансформеров (требовательность к железу и ограниченный контекст).
Они выпустили новую версию RWKV-v5 Eagle v2
, которая обучена на 2.25T Tokens. Мультиязычная, работает примерно на уровне Mistral 7B v0.1 и Llama 2 7B. В области English Perplexity - даже лучше.
Эта модель - самая энергоэффективная среди 7B моделей. 5x эффективнее на 1k tokens и 100x эффективнее на 20k tokens. Подробнее написано тут.
Announcement | Hugging Face | Gradio demo | Recursal AI | Fine-tune
Понятно, что модели еще далеко до State of the Art, но скорость прогресса в RWKV меня очень радует. У recurrent LLM моделей теоретически неограниченный контекст на входе и выходе (и встроенная суммаризация).
Ваш, @llm_under_hood 🤗
PS: Кстати, в нашем чатике уже обсуждают обучение RWKV моделей с нуля.
State of the Art не обязательно означает качество
Чуть выше я писал про первые бенчмарки новых Llama 3 моделей на задачах из продуктов с LLM под капотом.
Llama 3 8B повела себя очень хорошо, а ее старшая 70B версия страшно глючила при запуске из HF Transformers по инструкции от Meta.
В ретроспективе можно было даже не искать ошибки в своем коде, а просто оценить число жалоб на промпт tokeniser в обсуждениях Llama-3 моделей на Hugging Face- 8B и 70B 🤣
В общем, пару деньков эти модели можно не трогать. Пусть эти ковбои из Meta перепроверят и дополируют свои конфиги.
Но 8B уже точно лучшая в своем классе, и это до всяких тюнов.
Ваш, @llm_under_hood 🤗