LLM под капотом – Telegram
LLM под капотом
21.1K subscribers
286 photos
7 videos
10 files
549 links
Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Download Telegram
Enterprise RAG Challenge: ориентировочно конец Апреля-Май

Помните я писал про предложение дружески померяться силами своих RAG-ов?

Challenge точно состоится, ведь только за первые сутки интерес проявило 14 человек/команд. И это не говоря о компаниях, которым интересно посмотреть на показатели разных систем с потребительской точки зрения.

Участвовать можно будет как публично, с раскрытием имени системы и ее компонентов (например, ChatGPT vs решение внутри контура), так и анонимно (такое тоже просят некоторые вендоры). Leaderboard будет публичный, и каждый сможет сортировать и фильтровать его по важным для себя критериям.

В комментариях просят разнообразных задач, начиная с понимания сложных таблиц и заканчивая картинками. Но начнем мы с малого - как RAG системы могут отвечать на вопросы по документам. Причем вопросы будут браться только те, на которые есть точный ответ.

Документы для первых раундов уже известны заранее - это публичные годовые отчеты международных компаний в виде PDF. Пример есть тут (архив 100 MiB)

Чтобы провести первый раунд соревнования, мне надо сесть и поработать с экспертами из компаний-потребителей - собрать вопросы для RAG-систем, а потом генерализовать их.

Список вопросов будет опубликован публично до начала соревнования в виде “Есть ли у компании A предприятия в стране B?”, “А кто сейчас президент компании C?” или “У какой компании больше всего сотрудников, и сколько?” итп

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

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

Буду держать вас в курсе.

Ваш, @llm_under_hood 🤗
🔥639👍8
Ваш, @llm_under_hood 🤗
😁29🤣15
Бенчмарк 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, не только Мистралю.


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👍159😱21👎1😁1
#клиентспросил
После первого хайпа OpenAI появилось много сервисов, которые так или иначе упрощали некоторые аспекты работы, например, с анализом pdf файлов. Через некоторое время вышла новая версия chatgpt, которая убила эти стартапы. Вот не получится ли также с knowledge map? Да, векторный RAG сейчас работает мягко скажем не идеально, но ребята из OpenAI думаю это тоже прекрасно понимают, и скорей всего работают над этой задачей.

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


Это был классный вопрос от Art M после вебинара (поэтому #клиентспросил 🤝) , который он разрешил запостить сюда.

Чтобы на него ответить, можно отталкиваться от системных ограничений:

(1) Компании-производители LLM не дураки. Они стремятся максимизировать свою прибыль.
(2) Количество разнообразных проектов, которые может осилить компания - ограничено. Нужно приоритизировать.
(3) При возможности компании выбирают те области, которые им более знакомы. Поставщику LLM проще улучшать модели, чем зарываться в особенности требований тысяч разных бизнесов.

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

Но все и сразу не осилить. Поэтому начинать они будут с крупных и очевидных кейсов, которые сразу принесут много денег или славы: business of law, legal, корпоративная документация, бизнес-ассистенты итп.

Чем крупнее и прибыльнее ниша, тем более вероятны там новые решения, которые будут работать лучше векторных RAG-ов (хотя работать хуже их - это еще надо постараться). А в нишах с оборотом меньше 1M-1B USD/EUR еще пару лет будет относительно просторно.

Аналогичная история повторялась c кучей других технологий: Services, Cloud, NoSQL, Kubernetes и контейнеры итп. LLM не похожи ни на что до этого, но системные ограничения никто не отменял.

Чем более конкретна ниша у вашего продукта c LLM под капотом, и чем лучше вы эту нишу знаете, тем спокойнее можно этот продукт разрабатывать. В идеале, конечно, работать с парой разных ниш, чтобы не класть все яица в одну корзину.

Ваш, @llm_under_hood 🤗
👍30🔥15🤝1
Интересную LLM откопали коллеги из Код один.

Это RWKV Language Model, которую пилят еще с прошлого года

Можно поиграть с ней на Hugging Face:
- v6 - 1.6B + Vision 🤯
- v5 - 7B

v6 задавали вопросы на башкирском, она отвечала внятно. И это редкость, ибо поддержка нишевых языков начала появляться только недавно в GPT-3/4

Я прогнал пару тестов из своего бенчмарка. v5 у меня отвечала неплохо, v6 - совсем слабо.

Но фишка не в этом:
- Эта модель менее требовательна к ресурсам, чем модели аналогичного уровня - демка запущена на T4 и летает шустро. Вызов функций на Андроид Смарте заказывали? См комментарии.
- Модель внезапно неплохо общается на разных языках.
- Модель не использует классический attention. Это вообще не трансформер, а рекуррентная нейронная сетка, и она может генерировать бесконечный поток сознания.

В общем, совсем не понятно, почему оно работает. Кто хочет разобраться получше - gonzo писал про эту модель еще летом прошлого года. Недавно вышла новая версия этой модели.

Имхо, это еще один звоночек в пользу грядущего устаревания трансформеров (ибо квадратичное время генерации - это так себе) и улучшения юнит-экономики использования LLM.

Это очень классный проект - они пилят что-то новое и отличное от всех остальных. А не просто очередной толстый MoE. Хочется пожелать им всяческих успехов и открытий дальше.

Home page | Картинка v6 | API Server (не только NVidia) | Model Card v6 | Как оно работает

Ваш, @llm_under_hood 🤗
🔥4810🤯5👍4
🚀 Новая модель в топе продуктового LLM бенчмарка! #bench

OpenAI выпустили обновление GPT-4 Turbo (gpt-4-turbo-2024-04-09), которое оказалось в топе LLM бенчмарка. Отрыв - значительный.

Похоже, что в OpenAI исправили косяк со внимательностью модели к описаниям задач. Из-за этого улучшилась оценка в Integrate.

Sama когда-то сказал, что prompt engineering со временем вымрет. Похоже, что он держит свое слово 🍻

Еще в бенчмарке есть похорошевшая мультимодальная Gemini Pro 1.5 от Google. Если бы не провал в области Reason, то Pro 1.5 перегнала бы Opus и соревновалась с GPT-4 Turbo.

Напомню, что бенчмарк построен на основе промптов и задач из реальных продуктов с LLM под капотом. Это проекты клиентов Trustbit, и инсайты в рамках AI Research.

Ваш, @llm_under_hood 🤗

---
Предыдущие LLM бенчмарки в канале:
- бенчмарки февраля 2024
- март (Haiku)
- Март (Claude 3)
- Cohere Command-R и Сommand-R+

Описание работы, категорий и примеры кейсов есть в лабах. #bench
👍38🤩118🔥2🤔1
Что такое Knowledge Maps?

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

В принципе, в подходе Knowledge Mapping нет ничего особенного. Но о нём я рассказываю по 2-3 часа на вебинарах, а времени все равно не хватает 🤣

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

На сайте Trustbit мои коллеги опубликовали обзорную статью про Knowledge Maps и построение систем на их основе (English | Deutsch). Разбор написан для бизнеса, но технических неточностей там нет, я вычитывал.

Ваш, @llm_under_hood 🤗

PS: И нет, Knowledge Map - это не Knowledge Graph.
🔥40👍21
#вы_спросили про Latency и Knowledge Mapping

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

А как понизить latency?
Упомянутые подходы подразумевали 1-2-3+ промежуточных шага, кажется, не очень подходит для real-time ассистентов


На самом деле тут как раз идет экономия времени (time budget) в большинстве запросов.

Бóльшая часть обработки данных идет в background (см желтые стрелки на картинке в комментариях). Почти всю предобработку, какой бы большой каскад промптов там ни стоял, можно делать заранее.

А в real-time нам остается классифицировать тип запроса и сходить по типичному сценарию за заранее разложенным данными. Эти данные складываются так, чтобы ответ по известным категориям вопросов становился простым и быстрым.

Но от длинного хвоста tail latency нам никуда не деться. В исключительных edge cases может понадобиться докатиться до сценария с выборкой chunks, фильтрацией мусора, reranking, multiple hops и прочей нудятиной на десятки секунд и минуты. Главное, тут показывать пользователю процесс размышления, чтобы не заскучал.

Кстати, предобработка данных делает окупаемость локальных GPU еще более приятной. По ночам GPU в небольших локальных системах обычно простаивают, а тут их можно загрузить извлечением данных из старых документов или подбором few-shots для промптов извлечения данных (например, синяя стрелка на схеме)

Ваш, @llm_under_hood 🤗
👍18🔥61
Первые шаги при реализации умного поиска (AI Search) по документам компании.

Клиент - международная компания, обычный небольшой enterprise с историей в пару десятков лет, клиентами в дюжине стран и численностью сотрудников до 5000.

Им хочется хороший и удобный поиск по всей внутренней документации, в идеале выдающий точные ответы. RAG без галлюцинаций, иными словами.

(см другие вариации этого кейса)

1. Identify scope and get statistics

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

2. Get data

Потом я выгрузил релевантную часть документации в файловую систему. В сумме ~8GB и 45344 документов. Причем выгружал я сам скрейпингом, предварительно согласовав с IT. Так оказалось проще и быстрее всего. Enterprise 🤣

Все документы сжаты в gzip и хранятся в content-addressable storage (CAS), ради дедупликации и простоты работы (выглядит, как содержимое .git/objects в ваших проектах). Там дикая смесь файлов, начиная от XLSX c PDF до MSG и PUB.

3. Basic data extraction

На следующем шаге мы прогоняем все документы через unstructured и сохраняем полученные фрагменты текста обратно в CAS. Потом эти фрагменты мы загрузим в БД с полнотекстовым поиском.

В ней будет две таблицы, первая - список всех документов и их иерархия, вторая - все фрагменты для каждого документа (общим счетом 6690323 штук). На вторую таблицу включаем full-text search.

Базу данных раздует при этом до 15GB. Скриншот с примером поиска в ручном режиме - в комментариях.

4. Knowledge map

На третьем шаге уже приделываем классификатор на базе GPT4. Он будет анализировать каждый запрос с учетом Knowledge Map, который описывает поисковые ограничения для разных типов запросов.

В него мы положим всю ту информацию, которую собрали на первом шаге. Например: “Информация по срокам поставки лежит в папке X, бери файлы не старше 2х недель” или “Про внутрикорпоративные соревнования смотри в папке Y, бери файлы не старше года. Если ищут определенный отдел - выбирай по заголовкам внутри файла в двухбуквенном формате” итп

5. Edge cases + GUI

На четвертов шаге прописываем вариант поиска для “не знаем, как искать” и приделываем GUI для демонстрации возможностей клиенту. В подобных кейсах я люблю использовать BulmaCSS для красоты и HTMX для динамичности c минимумом усилий. Спихиваем написание GUI на ChatGPT.

6. Gather feedback

Много ли можно сделать с подобным поиском? На самом деле он уже будет работать лучше существующего текстового поиска, т.к. GPT будет сильно сокращать список документов в выборке по эвристикам из knowledge map.

Но качество в этой итерации и не имеет значения. Главное показать клиенту как можно быстро и, главное, прозрачно улучшить качество поиска. Во время демки мы поковыряем вместе Knowledge Map и попробуем вместе “научить” систему находить новые типы документов.

Ну а дальше клиент попросит загрузить остальные 80% данных, подключить сторонние системы и вообще поглубже интегрировать ассистента во внутренние процессы.

Ваш, @llm_under_hood 🤗

Update: продолжение про агентов написано тут.
👍74🔥2411🎉1
Новый инструмент для дообучения LLM от авторов PyTorch - TorchTune 🚀

Разнообразных моделей сейчас становится все больше. А Sam Altman и вовсе обещает нам скачки в возможностях LLM и персонализацию (Youtube: Which Companies Will Be Steamrolled by OpenAI?)

Авторы PyTorch не отстают от трендов. Они хотят сделать простую и доступную библиотеку для дообучения и запуска своих моделей. Это пока альфа версия, но смотреть уже можно сейчас.

Announcement | Github | Tutorials

TorchTune сделана на базе PyTorch и из коробки поддерживает LLama2 7B/13B, Mistral 7B и Gemma 2B. 70B и MoE на очереди.

Авторы постарались сделать один раз и нормально реализацию таких вещей, как:

- интеграцию с Hugging Face
- логгирование и метрики для отслеживания процесса обучения
- квантизация
- оценки полученных моделей на популярных бенчмарках
- запуск моделей локально
- совместимость чекпоинтов обучения c популярными методами запуска моделей

При реализации всего этого, они пытались оптимизировать потребление памяти так, чтобы большая часть скриптов и рецептов влезала в GPU с 24GB VRAM.

С PyTorch у ребят получилось очень хорошо. Посмотрим, что будет с TorchTune.

Ваш, @llm_under_hood 🤗
🔥43👍10🤗81🥰1
Вебинар “Проектируем и внедряем AI-ассистенты с LLM под капотом”: 25 апреля в 11:00 GMT+3 (московское время)

Update: места в последний поток закончились. Если вы не попали на вебинар - не расстраивайтесь! В дальнейшем я планирую записать лекционную часть вебинара, без обсуждения кейсов участников, специально для более широкой аудитории и на английском языке. Ее можно будет купить отдельно.


В следующий четверг я проведу четвертый поток вебинара про проектирование AI-ассистентов.

Я расскажу о принципах построения и внедрения адаптируемых AI-ассистентов на примере небольшого end-to-end кейса. Мы поговорим о том, как проектировать подобные системы, собирать для них данные, контролировать качество, выстраивать работу с пользователями.

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

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

Содержание вебинара то же, что и для предыдущих трех потоков. Отличаются только кейсы, которые приносят участники. Про Knowledge Map как раз на этом вебинаре я и рассказываю.

Длительность - 2 часа. Язык - русский. Стоимость участия в вебинаре - 80 евро (нужна будет карточка для оплаты через Stripe, российские карты не сработают).

Как оплатить?
Понадобится карта, работающая за пределами России. Оплатить можно вот здесь.

Там же есть ответы на частые вопросы:
- Можно ли оплатить участие другого человека?
- Будет ли запись? Можно ли ее купить отдельно?
- Как принести свой кейс для разбора на вебинаре?

После оплаты вам придет email с деталями и персональной ссылкой в чат потока.

До встречи на следующей неделе!

Ваш, @llm_under_hood 🤗
🤝9👍7🔥21🤡1
Упс. Места на четвертый поток вебинара в этот раз разлетелись особенно быстро. Вчера мы разослали уведомление о начале продаж всем, кто записался в waitlist. Сегодня опубликовали анонс в канале, а час назад группа набралась полностью.

Как выяснилось, спрос на информацию о создании систем на базе Knowledge Maps - несколько больше, чем ожидалось. Больше всего он интересует тех, кому важно строить AI ассистентов без галлюцинаций, с возможностью заглянуть под капот и улучшить качество.

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

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

Если вы не успели на четыре потока - ничего страшного. В записи будет аналогичный контент, и вы её сможете посмотреть без спешки в удобное для себя время.

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

Когда? Переработка материалов и запись займут какое-то время. Ориентировочно Май-Июнь. Напишу в канале.

Ваш, @llm_under_hood 🤗
🤝35👍13🔥81
LLM Бенчмарк Mistral 8x22 - заметный скачок качества 🎉 #bench

Mistral AI начали фиксить свою проблему с болтливостью второго поколения своих моделей!

Недавно вышедшая модель Mistral 8x22 есть в открытом доступе. Теперь она на наших продуктовых LLM бенчмарках работает лучше, чем закрытый Mistral Large.

Более того, она настолько хорошо стала следовать инструкциям, что побила рекорд ChatGPT-4 Turbo (v2024-04-09) в категории integrate. Стоит при этом раз в 10 меньше, чем Mistral Large.

Что за категория Integrate? Это работа с API-шками, таблицами, функциями и внешними системами. Детальнее описано в лабах.

Хочется надеяться, что этот скачок качества распространится на все модели этого нового поколения.

Ваш, @llm_under_hood 🤗
🔥2410👍7
Бенчмарки Llama 3 на продуктовых задачах #bench

Начнем с хорошего. Llama 3 - 8B совершила гигантский скачок по сравнению с прошлой версией. Она обогнала Claude 3 Sonnet, Cohere Command R и даже Mistral 8x22B. Еще и разные языки неплохо понимает!

Тем обиднее плохие очки модели в категории Integrate, чисто из-за невнимательности. Так и хочется сказать модели "читай инструкции внимательно! Вон ChatGPT смог же больше 90 очков набрать!"

Кстати, если кто эту модель запускает локально, не забываем читать внимательно про их instruct format и eos_tokens - они поменялись с прошлой версии.

А вот Llama 3 - 70B ведет себя у меня отвратительно. Во-первых, в куче ответов почему-то начинает ответ с assistent\n\n. Но даже если закрыть глаза на это, качество ответов ниже плинтуса. Иногда модель попросту срывает в белиберду прямо в ответе.

Update: на HF из коробки косячные конфиги трансформеров, но это быстро пофиксится.

Дружно радуемся прогрессу Llama-3-8B! 🎉

Ваш, @llm_under_hood 🤗
🔥35👍155🎉2
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 🤗
👍186😁3🤔1🤯1
#вы_спросили про суммаризацию больших таблиц для LLM

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


Это классный вопрос мне задал AI/ML инженер Fortune 200 компании после вебинара.

Любая суммаризация сжимает текст, выкидывая из нее менее релевантную информацию. Основная засада в том, что мы заранее не можем знать, какая информация будет нужна для ответа, а какая - нет. Если ошиблись, то на выходе получаем ошибки и галлюцинации.

В такой ситуации нам первым делом надо классифицировать входящие запросы по характеру необходимой для ответа информации, а потом - предобработать (суммаризовать) соответствующим образом входные данные. Это подход Knoweldge Mapping, вид сбоку.

Для некоторых классов вопросов неплохо срабатывает даже подход, когда мы передаем в LLM схему наших таблиц, краткий справочник и вопрос пользователя со словами:

А теперь напиши такой SQL/Pandas запрос, который выберет необходимую для ответа информацию из таблицы. Я прогоню его, а потом скормлю результат тебе же для интерпретации.

Но все эти оптимизации в итоге зависят от характера вопросов и доступных данных. Бывает даже так, что посмотрев на предметную область, получается подобрать такие Knowledge Maps, что можно быстро и точно ответить на ~80% входящих вопросов (в абсолютном соотношении)

Ваш, @llm_under_hood 🤗
🔥16👍42
В полку 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 моделей с нуля.
30👍8🔥3
LLM Benchmark Updates. #bench

Выкладку 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 🤗
🔥21👍11🙏3
Прогресс LLM-ок одной картинкой.

Ваш, @llm_under_hood 🤗
🤗29🔥13🤔4👏1
#вы_спросили Какие есть примеры 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 🤗
37👍13🔥131