1 of 59

Прохор Гладких, gladkikh.p.v@sberbank.ru

26.04.2023

Как адаптировать ML-модель под новое поведение пользователя и повысить качество на примере умной колонки SberBoom

2 of 59

1

3 of 59

Что сейчас будет?

2

Прохор Гладких

Team Lead Data Scientist

10 лет опыта DL, Python, C++, Scala, Java, Objective-C

4 of 59

О чём этот доклад?

3

Умные устройства�с экраном и без

1

Отдельные пайплайн классификации для SberBoom

На чём подняли качество

2

Инструмент анализа ошибок модели

3

4

5

Вопросы

5 мин

вопросы

35 мин

длительность доклада

5 of 59

Как работает Салют

4

– Хочу чипсы

  • Приговор турецкий�сериал смотреть
  • Влад А4
  • Включи первый канал
  • Какая погода?
  • Маша �и медведь
  • Включи музыку
  • Смотреть Титаник
  • Чебурашка

6 of 59

Как работает Салют

5

– Хочу чипсы

7 of 59

Как работает Салют

6

– Хочу чипсы

8 of 59

Как работает Салют

7

– Хочу чипсы

9 of 59

Распознавание намерения пользователя

8

Модель определения намерения пользователя

Текстовый классификатор�на 200+ классов

– Хочу чипсы

10 of 59

11 of 59

Как пользователи взаимодействуют с умным устройством с экраном?

10

12 of 59

11

13 of 59

А зачем нам вообще новая модель для SberBoom?

12

?

Оставляем текущую?

14 of 59

А зачем нам вообще новая модель для SberBoom?

video

— На этом устройстве включить

видео не получится

video

– Включи фильм�«Терминатор»

15 of 59

А зачем нам вообще новая модель для SberBoom?

music

video

– Включи сказку

16 of 59

А зачем нам вообще новая модель для SberBoom?

music

youtube

– Включи �«Руки вверх»

17 of 59

Распределение потока намерений пользователя

16

Без экрана

С экраном

74%

8%

4%

video

axon

run_app

youtube_main_screen

music

4%

прочие

bing�catalog

weather

current_time

smart_home

3%

2–0%

27%

20%

11%

music

axon

volume

player_stop

player_next

11%

прочие

10%

10–0%

smart_home 10%

weather

alarm

run_app

radio

18 of 59

Архитектура модели классификации

17

закажи

мне

чизкейк

классический

Исходные слова

19 of 59

Архитектура модели классификации

18

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Исходные слова

BPE-токены

20 of 59

Архитектура модели классификации

19

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

21 of 59

Архитектура модели классификации

20

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

22 of 59

Архитектура модели классификации

21

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

Rфразы

1024

23 of 59

Архитектура модели классификации

22

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

Rфразы

Голова

1024 x 300

1024

24 of 59

Архитектура модели классификации

23

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

Rфразы

Голова

300

food

1024 x 300

0.1

0.4

0.1

0.2

0.2

1024

25 of 59

Эксперимент: обучаем новую голову или отдельную модель e2e?

24

Roberta

Голова

Входной текст

Токенизатор

Roberta

freezed

Голова

Входной текст

Токенизатор

Скорость обучения

Качество

92 f1 �micro

93 f1 �micro

25 мин

3 часа

26 of 59

Эксперимент: обучаем новую голову или отдельную модель e2e?

25

Roberta

Голова

Входной текст

Токенизатор

Roberta

freezed

Голова

Входной текст

Токенизатор

Скорость обучения

Качество

92 f1 �micro

93 f1 �micro

25 мин

3 часа

27 of 59

Как обучается модель классификации?

26

Обучение

Показатели

Класс

Как дела?

Болталка

Поставь будильник на 7 часов

Будильник

Закажи чипсы

Еда

Почему небо голубое?

Вопрос

28 of 59

Как обучается модель классификации?

27

– Закажи сок

Еда

Предсказание

29 of 59

Откуда берутся данные для обучения?

28

music

alarm

  • Какая погода?
  • Сколько градусов?
  • Какая погода в Питере?
  • Жарко ли на улице?

weather

Product Owners

«Корзинки» = набор фраз

30 of 59

Можем ли мы использовать данные с потока для обучения?

29

31 of 59

Можем ли мы использовать данные с потока для обучения?

30

32 of 59

Можем ли мы использовать данные с потока для обучения?

31

33 of 59

Можем ли мы использовать данные с потока для обучения?

32

34 of 59

Можем ли мы использовать данные с потока для обучения?

33

35 of 59

Можем ли мы использовать данные с потока для обучения?

34

36 of 59

Использование разметки с потока

35

Плюсы

Большая вариативность фраз

Минусы

  • Качество модели зависит�от качества разметки
  • Некоторые намерения имеют малую частотность, например: ��«Какая валюта в Конго?»

+0.7 f1

37 of 59

Постановка задачи NER*

36

* - Named Entity Recognition

Сбер – крупнейший банк в России, Центральной и Восточной Европе, а также один из лидирующих международных финансовых институтов.

12 ноября, 1841, Николай I, император Всероссийский, подписал указ о создании сберегательных касс. Эта дата считается днем рождения Сбербанка.

Геолокация

Организация

Человек

Титул

Дата

38 of 59

Дополнительные фичи от NER модели

37

Классификатор

  • Включи песню «Королевство кривых» гр. Пикник

Музыка

39 of 59

Дополнительные фичи от NER модели

38

Классификатор

  • Включи песню «Королевство кривых» гр. Пикник

Музыка

NER

  • Включи песню «Королевство�кривых» гр. Пикник

+0.5 f1

40 of 59

Как мы проверяем улучшения моделей?

39

Есть улучшение на A/B?

Есть улучшение�на test?

Есть улучшение�на offline корзине?

Да

Да

ПРОМ

Доработки

41 of 59

Автоматическая сборка сервиса и обстрел запросами

40

ML

модель

NER

music

Включи “Инкогнито”

Грамматики

42 of 59

MLOps: Как не обучать модели вручную каждую неделю?

41

Новые намерения пользователей

43 of 59

MLOps: Как не обучать модели вручную каждую неделю?

42

Новые намерения пользователей

Обучение

44 of 59

MLOps: Как не обучать модели вручную каждую неделю?

43

Новые намерения пользователей

Обучение

Обстрел контрольными корзинами

45 of 59

MLOps: Как не обучать модели вручную каждую неделю?

44

Новые намерения пользователей

Обучение

Обстрел контрольными корзинами

Pull Request

46 of 59

MLOps: Как не обучать модели вручную каждую неделю?

45

Новые намерения пользователей

Обучение

Обстрел контрольными корзинами

Pull Request

Релиз

47 of 59

MLOps: Как не обучать модели вручную каждую неделю?

46

Новые намерения пользователей

Обучение

Обстрел контрольными корзинами

Pull Request

Релиз

ПРОД

48 of 59

Дополнительные фичи от NER модели

47

Ваша

модель классификации ошиблась

49 of 59

Инструмент анализа ошибок модели

48

Добавить в train

Разработать инструмент анализа ошибок

закажи

мне

чизкейк

классический

Исходные слова

50 of 59

Инструмент анализа ошибок модели

49

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

Rфразы

51 of 59

Инструмент анализа ошибок модели

50

закажи

мне

чизкейк

классический

Ġзак

Ġмне

Ġч

Ġклассический

ажи

из

кей

к

Roberta

Исходные слова

BPE-токены

EĠзак

EĠмне

EĠч

EĠклассический

Eажи

Eиз

Eкей

Eк

RĠзак

RĠмне

RĠч

RĠклассический

Rажи

Rиз

Rкей

Rк

Embeddings

Векторы кодировщика

Pooling

Rфразы

Faiss Index

52 of 59

Пример работы инструмента анализа ошибок

51

53 of 59

Пример работы инструмента анализа ошибок

52

54 of 59

Итоговое повышение качества модели определения намерения

53

  • Выделение отдельной модели для SberBoom
  • Добавление разметки потока в train
  • Добавление фичи от NER модели
  • Инструмент анализа ошибок
  • Улучшение качества разметки
  • Другие манипуляции с датасетом

F1 micro�94.5 (+2.5)

55 of 59

Итоговое повышение качества модели определения намерения

54

  • Выделение отдельной модели для SberBoom
  • Добавление разметки потока в train
  • Добавление фичи от NER модели
  • Инструмент анализа ошибок
  • Улучшение качества разметки
  • Другие манипуляции с датасетом

F1 micro�94.5 (+2.5)

~+1 f1

~+0.3 f1

~+0.7 f1

~+0.5 f1

56 of 59

SmartMarket — маркетплейс приложений с Салютом

55

  • Салют, запусти проект!

Бесплатные инструменты для самостоятельной разработки SmartApps

Сообщество разработчиков�в Telegram

57 of 59

Аналог ChatGPT от Sber

56

Telegram канал

Salute AI Community

58 of 59

Спасибо за внимание!

57

Прохор Гладких

prohor33

prohorgladkikh

prohorgladkikh

prohor-gladkikh

Ссылка на слайды

prohorg

59 of 59