Similar presentations:
Мультимодальный inference — final
1.
МУЛЬТИМОДАЛЬНЫЙИНФЕРЕНС
PDF → JSON
KARPOV.COURSES
2.
АВТОМАТИЧЕСКИ ОБРАБОТАЕМ СЧЕТОТ PDF ДО STRUCTURED OUTPUT
Документ → OCR
Извлекаем текст
OCR → LLM
Понимаем содержание
LLM → JSON
Понимаем структуру
3.
Screencast 1 с демонстрацией результатаБерем какой-то PDF
Отправляем документ
OCR
Получаем текст
LLM
JSON с содержанием на выходе
4.
Один результат — несколько компонентов5.
ПОЧЕМУ НЕ ОДНА МОДЕЛЬ?OCR хорошо решает задачу извлечения текста из изображения или скана, но не
понимает смысл документов
LLM работает с содержанием и структурированием информации, но передать ей
необработанный скан не всегда оптимальный вариант. Поэтому разделение
ответственности между моделями может сделать систему предсказуемее
6.
ПУТЬ ДОКУМЕНТАБ
A
1/
OCR
Получаем текстовое представление документа
2/
LLM
Извлекаем нужные сущности и приводим
результат к заданной структуре
7.
ПЕРВЫЙ ЭТАП — OCR8.
OCR: ПРЕВРАЩАЕМ ДОКУМЕНТ В ТЕКСТСНАЧАЛА УБИРАЕМ ВИЗУАЛЬНУЮ ЧАСТЬ
PDF/Image → OCR
OCR → Text
Text → Следующий этап
9.
Screencast 2 ocrСоздание Inference
Выбор модели
GPU
Запуск
Загрузка PDF
Результат OCR
10.
ВТОРОЙ ЭТАП — LLM11.
ЧТО ПРОИСХОДИТ С ТЕКСТОМПолучаем текст после OCR
Передаем текст LLM
Получаем нужные поля в заданной структуре
12.
Screencast 3 LLMСоздание Inference
Выбор модели
GPU
Запуск
Загрузка текста от OCR
Результат JSON
13.
Собираем два Inference в один PipelineТеперь самое интересное.
У нас есть два независимых инференса
Осталось связать их на уровне приложения.
Первый запрос идёт в OCR.
Его результат становится входом для LLM.
А результат LLM становится ответом нашего
pipeline.
14.
screencast с Python-приложениемСо стороны пользователя это может выглядеть
как один сценарий.
Внутри мы последовательно вызываем два
inference.
Важно, что сами модели при этом остаются
независимыми сервисами.
Это позволяет отдельно менять их
конфигурацию и масштабирование.
15.
Узкое местоКак думаете, какой шаг окажется самым долгим —
сеть, OCR или LLM?
Теперь посмотрим на производительность.
Pipeline складывается из нескольких latency
OCR 0.2s
Общая задержка pipeline складывается из
Network 0.3s
задержек отдельных компонентов.
LLM 3.7s
В нашем примере почти всё время занимает
LLM.
Значит, если мы хотим ускорить весь pipeline, в
первую очередь нужно работать именно с ней.
16.
ЧТО МЫ ПОСТРОИЛИPDF → OCR → LLM → JSON — весь путь документа
Помните кухню ресторана из прошлого видео?
через pipeline
Здесь та же кухня, только с двумя специализированными станциями.
OCR и LLM — независимые inference-сервисы
OCR — повар-заготовщик: быстро превращает сырьё (документ) в
текст. LLM — шеф-повар: доводит блюдо до готовности — понимает
содержание и оформляет финальный результат. Каждая станция
Каждый компонент масштабируется отдельно
Узкое место обычно там, где модель "думает", а не
там, где сеть передаёт данные
работает и масштабируется независимо.
17.
СПАСИБОЗА ПРОСМОТР
Кирилл Веловатый
KARPOV.COURSES