2.56M

Мультимодальный 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.

ПЕРВЫЙ ЭТАП — OCR

8.

OCR: ПРЕВРАЩАЕМ ДОКУМЕНТ В ТЕКСТ
СНАЧАЛА УБИРАЕМ ВИЗУАЛЬНУЮ ЧАСТЬ
PDF/Image → OCR
OCR → Text
Text → Следующий этап

9.

Screencast 2 ocr
Создание Inference
Выбор модели
GPU
Запуск
Загрузка PDF
Результат OCR

10.

ВТОРОЙ ЭТАП — LLM

11.

ЧТО ПРОИСХОДИТ С ТЕКСТОМ
Получаем текст после 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
English     Русский Rules