Прохор Гладких, gladkikh.p.v@sberbank.ru
26.04.2023
Как адаптировать ML-модель под новое поведение пользователя и повысить качество на примере умной колонки SberBoom
1
Что сейчас будет?
2
Прохор Гладких
Team Lead Data Scientist
10 лет опыта DL, Python, C++, Scala, Java, Objective-C
О чём этот доклад?
3
Умные устройства�с экраном и без
1
Отдельные пайплайн классификации для SberBoom
На чём подняли качество
2
Инструмент анализа ошибок модели
3
4
5
Вопросы
5 мин
вопросы
35 мин
длительность доклада
Как работает Салют
4
– Хочу чипсы
Как работает Салют
5
– Хочу чипсы
Как работает Салют
6
– Хочу чипсы
Как работает Салют
7
– Хочу чипсы
Распознавание намерения пользователя
8
Модель определения намерения пользователя
Текстовый классификатор�на 200+ классов
– Хочу чипсы
Как пользователи взаимодействуют с умным устройством с экраном?
10
11
А зачем нам вообще новая модель для SberBoom?
12
?
Оставляем текущую?
А зачем нам вообще новая модель для SberBoom?
video
— На этом устройстве включить
видео не получится
video
– Включи фильм�«Терминатор»
А зачем нам вообще новая модель для SberBoom?
music
video
– Включи сказку
А зачем нам вообще новая модель для SberBoom?
music
youtube
– Включи �«Руки вверх»
Распределение потока намерений пользователя
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
Архитектура модели классификации
17
закажи
мне
чизкейк
классический
Исходные слова
Архитектура модели классификации
18
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Исходные слова
BPE-токены
Архитектура модели классификации
19
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Roberta
Исходные слова
BPE-токены
EĠзак
EĠмне
EĠч
EĠклассический
Eажи
Eиз
Eкей
Eк
RĠзак
RĠмне
RĠч
RĠклассический
Rажи
Rиз
Rкей
Rк
Embeddings
Векторы кодировщика
Архитектура модели классификации
20
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Roberta
Исходные слова
BPE-токены
EĠзак
EĠмне
EĠч
EĠклассический
Eажи
Eиз
Eкей
Eк
RĠзак
RĠмне
RĠч
RĠклассический
Rажи
Rиз
Rкей
Rк
Embeddings
Векторы кодировщика
Pooling
Архитектура модели классификации
21
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Roberta
Исходные слова
BPE-токены
EĠзак
EĠмне
EĠч
EĠклассический
Eажи
Eиз
Eкей
Eк
RĠзак
RĠмне
RĠч
RĠклассический
Rажи
Rиз
Rкей
Rк
Embeddings
Векторы кодировщика
Pooling
Rфразы
1024
Архитектура модели классификации
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
Архитектура модели классификации
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
Эксперимент: обучаем новую голову или отдельную модель e2e?
24
Roberta
Голова
Входной текст
Токенизатор
Roberta
freezed
Голова
Входной текст
Токенизатор
Скорость обучения
Качество
92 f1 �micro
93 f1 �micro
25 мин
3 часа
Эксперимент: обучаем новую голову или отдельную модель e2e?
25
Roberta
Голова
Входной текст
Токенизатор
Roberta
freezed
Голова
Входной текст
Токенизатор
Скорость обучения
Качество
92 f1 �micro
93 f1 �micro
25 мин
3 часа
Как обучается модель классификации?
26
Обучение
Показатели | Класс |
Как дела? | Болталка |
Поставь будильник на 7 часов | Будильник |
Закажи чипсы | Еда |
Почему небо голубое? | Вопрос |
Как обучается модель классификации?
27
– Закажи сок
Еда
Предсказание
Откуда берутся данные для обучения?
28
music
alarm
weather
Product Owners
«Корзинки» = набор фраз
Можем ли мы использовать данные с потока для обучения?
29
Можем ли мы использовать данные с потока для обучения?
30
Можем ли мы использовать данные с потока для обучения?
31
Можем ли мы использовать данные с потока для обучения?
32
Можем ли мы использовать данные с потока для обучения?
33
Можем ли мы использовать данные с потока для обучения?
34
Использование разметки с потока
35
Плюсы
Большая вариативность фраз
Минусы
+0.7 f1
Постановка задачи NER*
36
* - Named Entity Recognition
Сбер – крупнейший банк в России, Центральной и Восточной Европе, а также один из лидирующих международных финансовых институтов.
12 ноября, 1841, Николай I, император Всероссийский, подписал указ о создании сберегательных касс. Эта дата считается днем рождения Сбербанка.
Геолокация
Организация
Человек
Титул
Дата
Дополнительные фичи от NER модели
37
Классификатор
Музыка
Дополнительные фичи от NER модели
38
Классификатор
Музыка
NER
+0.5 f1
Как мы проверяем улучшения моделей?
39
Есть улучшение на A/B?
Есть улучшение�на test?
Есть улучшение�на offline корзине?
Да
Да
ПРОМ
Доработки
Автоматическая сборка сервиса и обстрел запросами
40
ML
модель
NER
music
Включи “Инкогнито”
Грамматики
MLOps: Как не обучать модели вручную каждую неделю?
41
Новые намерения пользователей
MLOps: Как не обучать модели вручную каждую неделю?
42
Новые намерения пользователей
Обучение
MLOps: Как не обучать модели вручную каждую неделю?
43
Новые намерения пользователей
Обучение
Обстрел контрольными корзинами
MLOps: Как не обучать модели вручную каждую неделю?
44
Новые намерения пользователей
Обучение
Обстрел контрольными корзинами
Pull Request
MLOps: Как не обучать модели вручную каждую неделю?
45
Новые намерения пользователей
Обучение
Обстрел контрольными корзинами
Pull Request
Релиз
MLOps: Как не обучать модели вручную каждую неделю?
46
Новые намерения пользователей
Обучение
Обстрел контрольными корзинами
Pull Request
Релиз
ПРОД
Дополнительные фичи от NER модели
47
Ваша
модель классификации ошиблась
Инструмент анализа ошибок модели
48
Добавить в train
Разработать инструмент анализа ошибок
закажи
мне
чизкейк
классический
Исходные слова
Инструмент анализа ошибок модели
49
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Roberta
Исходные слова
BPE-токены
EĠзак
EĠмне
EĠч
EĠклассический
Eажи
Eиз
Eкей
Eк
RĠзак
RĠмне
RĠч
RĠклассический
Rажи
Rиз
Rкей
Rк
Embeddings
Векторы кодировщика
Pooling
Rфразы
Инструмент анализа ошибок модели
50
закажи
мне
чизкейк
классический
Ġзак
Ġмне
Ġч
Ġклассический
ажи
из
кей
к
Roberta
Исходные слова
BPE-токены
EĠзак
EĠмне
EĠч
EĠклассический
Eажи
Eиз
Eкей
Eк
RĠзак
RĠмне
RĠч
RĠклассический
Rажи
Rиз
Rкей
Rк
Embeddings
Векторы кодировщика
Pooling
Rфразы
Faiss Index
Пример работы инструмента анализа ошибок
51
Пример работы инструмента анализа ошибок
52
Итоговое повышение качества модели определения намерения
53
F1 micro�94.5 (+2.5)
Итоговое повышение качества модели определения намерения
54
F1 micro�94.5 (+2.5)
~+1 f1
~+0.3 f1
~+0.7 f1
~+0.5 f1
SmartMarket — маркетплейс приложений с Салютом
55
Бесплатные инструменты для самостоятельной разработки SmartApps
Сообщество разработчиков�в Telegram
Аналог ChatGPT от Sber
56
Telegram канал
Salute AI Community
Спасибо за внимание!
57
Прохор Гладких
prohor33
prohorgladkikh
prohorgladkikh
prohor-gladkikh
Ссылка на слайды
prohorg