Синтез выразительной речи для аудиокниг | Степан Комков, Яндекс Поиск

Это доклад Степана Комкова, старшего разработчика службы синтеза речи в Яндекс Поиске, на Practical ML Conf 2024. В своём выступлении Степан рассказал об опыте создания виртуального рассказчика в Букмейте. Зачем его создавали и чего хотят пользователи, как выжать максимум из технологий уходящего поколения и внедрить длинный контекст в low-resource real-time модель. И как GPT и диффузионные модели произвели революцию в синтезе речи.

Таймкоды

00:10 Введение в службу синтеза речи Яндекса

  • Степан Комков представляет службу синтеза речи Яндекса.
  • Основные продукты: голос Алисы, сервис перевода видео, виртуальный рассказчик для сервиса “Букейт”.
  • Фокус на фундаментальные исследования для опережения конкурентов.

01:04 Проект “Букейт”

  • “Букейт” содержит 250 тысяч книг.
  • Пользователи слушали книги через браузер, что стало сигналом для улучшения качества озвучивания.
  • Использование профессиональных дикторов оказалось дорогим, поэтому решили использовать синтез речи.

01:43 Переход к виртуальному рассказчику

  • Использование стека технологий для коррекции синтеза.
  • Решение использовать чистый синтез без полировки человеком.
  • Цель: сделать продукт дешевле и качественнее.

02:37 Запросы пользователей и улучшение технологии

  • Важность понимания запросов пользователей.
  • Причины использования небольших моделей: ошибки, контроль, время.
  • Переход к обсуждению запросов пользователей для аудиокниг.

04:02 Запросы пользователей для аудиокниг

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

05:38 Начало проекта и проблемы

  • Использование базового стека и моделей старого поколения.
  • Проблемы с записью аудиокниг и выбор профессиональных дикторов.
  • Запись пробных данных и выбор лучших дикторов.

07:09 Результаты и выводы

  • Запись 300 часов данных и обучение базового стека.
  • Получение мягкого, обволакивающего голоса и не монотонной манеры речи.
  • Модель выдает то, что было на входе, благодаря дикторам.

07:32 Проблемы и улучшения базовой технологии

  • Улучшение базовой технологии для синтеза речи.
  • Проблемы с иерархией пауз и авторская пунктуация.
  • Обучение на презентативном корпусе и контроль пауз.

08:32 Базовая модель и акустическая модель

  • Вход текста и преобразование в фонемную последовательность.
  • Акустическая модель переводит фонемную последовательность в мектограмму.
  • Вакодер переводит мектограмму в звук.

09:32 Авторегрессионная модель и контроль пауз

  • Авторегрессионная модель для предсказания следующего шага.
  • Использование ground-truth для улучшения синтеза.
  • Контроль пауз через карту внимания и обучение модели.

11:47 Проблемы с вариативностью и использование PngBert

  • Проблемы с вариативностью синтеза и использование PngBert.
  • PngBert исправляет ошибочные фонемы и учитывает контекст.
  • Улучшение качества синтеза с PngBert.

14:25 Продуктовое решение и зоны роста

  • Продуктовое решение для синтеза речи.
  • Важность дыхания и эмоций в синтезе.
  • Использование нексгена и диффузионных моделей для улучшения качества.

16:25 Модель TAR-TOS и её особенности

  • Модель TAR-TOS для синтеза речи.
  • Преобразование звука в набор слов и использование диффузионных моделей.
  • Мимикрирование под запись диктора и улучшение качества синтеза.

18:22 Проблемы и решения в синтезе речи

  • GPT-3 может зависать на фоне и повторять слова.
  • Используется стандартный хак для выбора лучшего синтеза.
  • Компании, такие как TikTok и Alibaba, также работают над синтезом звука.

19:22 Интеграция средств контроля синтеза

  • Важно контролировать ударение в текстах.
  • Ускорение синтеза на порядок.
  • Превосходство новой технологии над старой на всех уровнях качества.

21:20 Универсальная формула для достижения лучшего решения

  • Использование лучшего опенсорсного кода.
  • Ускорение кода на порядок.
  • Исправление багов и внедрение своих трюков.

22:15 Ускорение обучения на примере Tornado

  • Три основные сущности: текст, аудио и дискретные аудио токены.
  • Запайка звуков тишиной для создания фиксированной длины.
  • Обучение диффузии на двенадцатисекундных токенах.

24:25 Проблемы и решения в обучении диффузии

  • Маскировка слоев для уменьшения размера бача.
  • Динамическое боевание для устранения неинформативных градиентов.
  • Использование микс пресижен для оптимизации обучения.

27:14 Результаты и выводы

  • Синтез речи без использования методов контроля.
  • Модель понимает смысл текста и озвучивает его естественно.
  • Сравнение с предыдущей моделью: новая модель выигрывает в одном из трех-четырех текстов.

28:48 Выводы и советы

  • Статьи полезны, но гидхабы также важны.
  • Сначала делайте хорошо, потом гениально.
  • Технология развивается большими скачками, и синтез речи только начинает решаться.

30:35 Вопросы и ответы

  • Вопросы можно задавать в чате.
  • Базовый стек моделей был представлен на слайде.
  • Модель может мурчать и бурчать, но это требует доработки.

31:30 Авторские права и использование моделей

  • Проблемы с авторскими правами решены.
  • Модели используются в различных проектах Яндекса.
  • Переход на новые технологии требует адаптации.

32:55 Многоголосая озвучка и персонализация

  • Многоголосая озвучка интересна, но не является массовой.
  • Идея озвучивать голосом пользователя не была реализована.
  • Персонализация чтения модели в зависимости от профиля пользователя возможна.

35:47 Адаптация голоса и интонации

  • Модель адаптирует голос и интонацию в зависимости от контекста.
  • Это зона роста для улучшения качества озвучки.
  • Синтез речи бесконечно улучшается, но профессиональные дикторы все еще лучше.

37:46 Фонемное представление текста

  • Припроцессор — сложный обучаемый блок.
  • Расстановка пауз может быть сделана алгоритмически.
  • Припроцессор занимаются специально обученные специалисты.

38:12 Опросы и предпочтения слушателей

  • Опросы проводятся профессионалами.
  • Используются различные модели, включая HiFiGAN.
  • Обработка преднамеренных ошибок в тексте требует доработки.

39:55 Планы по обогащению списка спикеров

  • Планируется обогащение списка спикеров по запросу.
  • Фокус на качественных изменениях, а не на количественных.
  • Модель не может петь, но может читать рэп.

41:08 Основные проблемы и вызовы

  • Хорошие данные и оператор — ключевые факторы успеха.
  • Взаимодействие с большими данными может быть сложным.
  • Это самая сложная часть работы.

41:34 Вопросы и ответы

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

42:19 Многоголосность

  • Вопрос о многоголосности вызвал интерес.
  • Автор вопроса будет связан с разработчиками.
  • Благодарность за аплодисменты.

Ссылка на Таймкоды в Нейросети YandexGPT https://300.ya.ru/v_cbyqka5u

Расшифровка видео

0:00
[музыка]
0:11
Меня зовут Степан комков Я работаю службой синтеза реч Яндекса и Наверное сначала хотелось бы рассказать что мы за
0:18
служба и какие наши основные продукты Надеюсь все из вас знают кто такая Алиса для некоторых Алиса – это Ясмина смотря
0:24
в какой точке мира где вы находитесь мы делаем собственно голос этой Алисы также
0:30
Вы любите смотреть видео на русском языке даже если изначально оно не на русском возможно вам знаком или вам стоит познакомиться с нашим сервисом
0:36
перевод видео это просто плагин и вы смотрите любое видео на русском тоже с нашим синтезом и в этом году летом мы
0:43
запустили виртуального рассказчика бук большой сервис книг на самом деле
0:48
часть Яндекса и мы сделали для него специальную Модель которая озвучивает эти книги Ну и конечно же мы пытаемся
0:56
соответству духу времени постоянно какой-то часть наших усилий тратим иследования чтобы не отставать и по
1:01
возможности опережать наших коллег из других компаний Давайте немножко больше поговорим про bookmate что такое
1:07
bookmate в числах это порядка 250 сся книг и наши прекрасные аналитики
1:12
заметили что за год до этого проекта 4 млн часов 4 млн часов этих ниг послушали
1:18
с помощью дефолтной не предназначенной для этого читалки в браузере Ну Для нас это был сигнал что нужно помогать
1:24
пользователям слушать книги более комфортного звучания что может прийти в голову ну
1:31
озвучить все книги диктором профессиональный диктор на книгу обходится Ну порядка 1.000 руб
1:37
Если вы умножители получите такое большое число что он возможно больше бюджета всего
1:42
Яндекса далее мы вспомнили что у нас есть вообще потрясающий стек базовая
1:48
технология которая позволяет корректировать синтез то есть мы делаем синтез сначала подумали а потом с
1:53
помощью нашего стека полируем его специально обученные асессоры это делают но экономика всё ещё не сходила То есть
1:59
это всё ещё руб на книгу с ум времени асра то есть да мы уже упали сильно по безупречности по шкале безупречности
2:05
вс-таки это синтез а не запись персонального диктора но по шкале дешевизны подросли не так уж сильно и
2:11
тогда мы поняли что надо быть смелыми и надо делать Этот виртуального рассказчика на чистом синтезе без
2:17
полировки человеком и это не сильно на самом деле отстаёт по шкале безупречности от Human and the loop
2:24
потому что мы же можем разогнать нашу базовую технологию она станет очень Зато более
2:30
Ну и порядка это где-то будет 15 руб на книгу числа Понятно Они скорее для красоты но порядки
2:36
такие Итак о чём мы сегодня поговорим мы поговорим о том о запросе пользователя
2:41
нельзя делать что-то продукт вообще не понимаешь чего хотят пользователи мы расскажем как мы улучшали нашу базовую
2:46
технологию скажем так PR Generation под этот продукт и обозначим зону роста Ну и в конце конечно же будут ответы на
2:52
вопросы И начнём Мы конечно же с ответов на вопросы почему Ну сложно игнорировать
2:57
слона в комнате Почему небольшие модели многие из вас возможно знают что сейчас для
3:03
всего есть какая-то большая модель тренированные для текста понятное дело есть для картинок на самом деле для
3:09
каких-то RL вещей есть уже там базовые модели Трей для Self Driving Cars так
3:14
вот почему бы не взять для звука какую-нибудь большую модель и решать задачу ей Ну есть на это несколько
3:20
причин по порядку но во-первых выразительные красивые модели совершают более критичные ошибки мы всё-таки
3:26
продуктовая компания мы не можем пустить такие ошибки в продукт во-вторых У нас есть наработанный стек котором я уже
3:33
сказал Он позволяет очень тонко контролировать модель и что-то из этого стека заточена под нашу базовую
3:39
технологию мы теряем часть этого стека переходя на новую модель также Ну
3:44
всё-таки вот эти большие модели они называются большими не просто так они большие соответственно долгие Ну и
3:49
главная причина все предыдущие причины для талантливого инженера – это не преграда но в момент когда проект
3:56
начинался вс-таки больших моделях ещё речи не шло они были
4:01
ещё мечтой но это не значит что мы о них не поговорим уже двадцать чей год Итак
4:06
наконец-то возвращаемся на наш стандартный порядок повествования чего хотят пользователи для книг пользователи
4:12
хотят Согласно ксом мягкий оболашвили
4:30
вот если вот так вот бубнить целую книгу вы устанете через 2 минуты не только от книги Но от моего доклада тоже важна
4:35
иерархия пауз это отмечают пользователи это не какой-то технический термин пользователи
4:41
хотят чтобы они понимали Когда закончился абзац мы много читали книжек мы привыкли мыслить терминах абзацев нам
4:47
важно чтобы когда кончался абзац пауза была чуть больше чем между предложениями это отмечают обычные пользователи не
4:53
профессионалы не те у кого ухо натаска на синтез речи также синтез от которого не устаёшь понятно
5:00
Мы хотим чтобы нас слушали долго слабо измеримая Метрика Но нам нужно удовлетворять Ей также разнообразные
5:07
паттерны интонации хочется чтобы читатель всё равно хоть как-то взаимодействовал с
5:14
сюжетом то есть ускоряться в какой интенсивный момент может быть это отмечают также пользователи Ну и то что
5:19
пользователи не отмечают потому что пульмонит означаю звуки дыхания при речи
5:25
То есть вы сейчас скорее всего слышите как я нер на душу в микрофон Понятно перед Куй Люде когда мы слушаем книги оказывается нам
5:32
их не хватает если Идеальный голос без звуков дыхания Это плохо это замечают
5:37
пользователи Итак что же у нас имелось в начале проекта как уже сказано базовый стек оди одна из его главных главных
5:44
плюсов – это модели старого поколения Но зато они заводятся всего с 20 часов данных то есть мы можем взять спикера
5:50
записать всего 20 часов и у нас будет работающее решение у нас были записаны спикеры которые вообще не подходили под
5:56
аудиокниги дерзкие голосовые помощники какие-нибудь прочие люди мягкого бархатного голоса
6:03
Нам не хватало конечно же есть публичные данные с открытой лицензией но опять же модели старого поколения на выходе дают
6:09
в среднем то что было на входе на обучающих данных Мы хотим чтобы на выходе были студийные данные если мы добавляем публичные данные мы
6:16
смещая данных это нам не подходило ну что ж поехали мы что мы сделали Мы
6:22
обратили внимание на НОК профессиональных кторов оказалось что записывать книги сложно людей способных
6:29
прочитать дикторов способных прочитать доктор живага с первого раза мало если мы читаем предложение два раза дольше
6:35
времени записи меньше собранных данных больше потраченных денег среди персональных спикеров тех которых может
6:40
себе позволить даже Яндекс их ещё меньше многие копят на космолёт Итак что мы сделали Мы записали пробный
6:49
по часу многих спикеров провели внутренний турнир хотели понять кого мы хотим выбрать соответственно собрали для
6:55
выбранных спикеров репрезентативный корпус опять Спасибо нашей прекрасной аналитике писали выбранных дикторов На
7:01
выбранном корпусе что же мы получили получили слушаем Джеймс открыл
7:06
клетку ноби и прикрепил к лапке письмо Надеюсь многим из вас знаком этот голос Надеюсь вы пользуетесь нашим сервисом
7:13
записали 300 часов запасом и обучили на этом наш базовый стек и что мы получаем
7:18
уже на этом этапе это мы получаем две галочки из нашего чек-листа у нас уже
7:24
есть спокойный мягкий олай голос и уже есть не монотонные манера речи Спасибо дикторам модель выдаёт то что было на
7:29
входе дикторы читают выразительно звучит вот так Джеймс открыл клетку ноби и прикрепил к лапке письмо мне кажется не
7:37
профессионал не всегда отличит синтез От записанного качества Да этой записи не
7:43
было в троения если что Итак что мы сделали ну мы начали улучшать наш базовую технологию улучшать не в вакууме
7:49
надо найти проблемы болевые точки и бить в них первая проблема – Это как вы помните
7:55
иерархи проблема в м предложениях В каком смысле относительно
8:01
книги никак не ограничены в книгах бывают предложения любой длины поверьте можно найти книгу предложение будет одно
8:07
ити три страницы мы не хотим разрывать синтез предложения на много маленьких кусков также в книгах бывает
8:14
довольно-таки авторская пунктуация всё-таки Мы пытались обучаться на презента корпусе но надо уметь работать
8:20
с чем угодно и здесь мы всё-таки не доверяем нашей ресурс модели расстановку пауз само собой Она вс-таки такая вот
8:27
это небольшая модель и мы хотим что для этого мы делаем Давайте погрузимся продуктовая часть кончилась
8:34
Сейчас начнется техника для этого мы погружаемся в нашу базовую технологию базовая модель что приходит на вход на
8:40
вход приходит текст Ну можно было ожидать далее препроцессор какие-то классические нейронные модели превращают
8:46
текст в в обогащенную фою последовательность здесь есть обычные фонемы также псевдо фонемы как знаки
8:51
припинания и потом самае оная часть модели акустическая модель переводит мну последовательность в пекто Что такое
8:58
пекто это представление звука картинкой Ну преобразование фурье вспоминаем можно
9:04
звук 1d сигнал перевести в 2D сигнал с картинками у нас понятно CV всё-таки более развитая область там больше можем
9:10
заимствовать оттуда ну и наконец р – Это решённая задача не особо интересная переводит картинку уже в звук волну
9:18
Давайте углубиться в акустическую модель Она стандартная авторегрессионная модель называется Трон у нас вначале
9:24
есть энкодер который получает некоторые динги изм для м а потом
9:30
предсказывает уже ктому авторен То есть то что предсказали на каждом шаге используем для предсказания следующего
9:35
шага во время же обучение используем то есть
9:42
подсовывает чего он так хорошо работает для звука в звуке есть такой Инсайт мы произносим фо по порядку произносим
9:49
слева направо Как слово пишется условно говоря так и произносится то есть зде
9:54
хося
9:59
наш быть монотонным но не обязательно строго монотонным смотрите если в конце вопросительный знак о НМ лучше знать
10:05
заранее потому что надо заранее начать поднимать интонацию но в остальном регуляризация направляет ан быть
10:11
монотонным и получается стабильный синтез без разл тов без галлюцинаций потому что ну старые модели галлюцинации
10:17
и все остальные перки ещё впереди И вот как мы получили контроль над иерархией
10:23
пауз мы запускаем берм уже обученную модель и снова запускаем
10:29
то есть продам ктому на вход в
10:35
авторегрессия между фонеми и столбцами мел пекто то есть мы знаем какие столпцы
10:40
мел спек каким фонем соответствуют соответственно у нас есть псевдо фонемы пробелы условные и их мы находим и
10:48
кластеризованный
10:59
обучение заново то есть две итерации обучили полноценную модель с пробелами а во вторую итерацию уже пробелы по Кастри
11:06
зова и даём модели Понимание Вот здесь была короткая пауза длинная что это нам даёт это нам даёт контроль над синтезом
11:12
во время интереса потому что теперь даже если даже если предложение длинное неведа нае То которое мы никогда не
11:18
видели всё-таки наш препроцессор мы его чуть-чуть подправить предсказывает маленькие длинные средние паузы и синтез
11:25
звучит естественно и понимаемой послушаем Как это звучит вот мы получили галочку в начале без
11:31
контроля пауз Попробуйте понять смысл предложения завтра об этом будет известно в ЦРУ я абсолютно уверен что у
11:37
нас в управлении сидит Руш най Крот и он донесёт да это чере пик но здесь
11:43
авторская пунктуация была очень своеобразны модель разлетелась Теперь мы моделе помогаем на завтра об этом будет
11:50
известно в ЦРУ я абсолютно уверен что у нас в управлени сидит сный Крот и он
11:55
донесёт Надеюсь было слышно Поехали дальше какая такая уже более тонкая
12:00
проблема напоминаю опять Мы учимся вс-таки на фразах довольно коротких но мы не можем запихать в один бач в одну
12:05
итерацию обучения там 10 минут звука и модель хотя она и старая и вариативность
12:11
маленькая всё равно там есть чуткое ухо слышит разницу в звуки между разными синтеза то есть мельчайшие ре вибрации
12:18
мельчайшие не знаю шумы которые модель всё-таки тоже синтезирует на стыке двух синтезов тко ухо это слышит нам бы это
12:25
согласовать как это сделать в Коле здесь мы говорим большое Спасибо Гуглу за его
12:31
Р Что это такое Ну это буквально то что написано мы Надеюсь предположим что все
12:37
знакомы с бертом что мы делаем мы подаём ему на вход две последовательности фонем и графем то есть написано слово привет И
12:44
фонем представление этого слова привет И мы маскируем часть из этих фонем или графем и просим сеть предсказать
12:50
замаскированное на основе контекста то есть Граф что это Дат это Дат во поправляет
12:59
ошибочной фонемы если наш препроцессор поставил ошибочную фонему нбет всё-таки её подправить также мы можем учитывать
13:07
предыдущее предложение теперь Каким образом раньше нам бы пришлось всё что мы хотим синтезировать единым куском
13:12
синтезировать за раз ан квадратичной по сложности всё бы разлетелось но здесь мы даём контекст не всей модели а только
13:19
png берту текстовой части то есть мы подаём ему на вход сразу два предложения например и эмбеддинг первого предложения
13:26
влияют эмбеддинг второго предложения и ту информацию которую мы с него Снимаем да мы
13:32
снимаем на выходе снимаем Инги на которых предсказали Ф С выхода рта и в
13:38
этих уже содержится информация предыдущем предложении не синтезия его что это даёт на практике это Дат на
13:44
практики Победа 55 на 45 совершенно не интерпретирует Вот вот что каждый
13:51
десятый текст сго
13:59
скорее показатель чем качественный постарайтесь услышать Но это будет сложно в начале без контекста Где деньги
14:06
возьмём нет ведь денег видно что построение такое интонационное одно
14:11
и тоже уходим вниз Где деньги возьмём нет ведь денег и потом когда даём контекст уже получается более
14:17
согласовано Где деньги возьмём нет ведь денег то есть какое-то возвышение понимаем что это вопрос и уже только
14:23
потом уль Итак возвращаемся к нашему чек-листу здесь мы ставим галочку что это синтез
14:29
от которого не устоишь как я сделал такой вывод Ну потому что то что я сейчас рассказал это уже продуктовое
14:34
решение это то что у вас в телефонах на компьютерах и оно уже работает и по статистике опять наша прекрасная
14:41
аналитика по C бым они обнаружили что распределение того сколько пользователей слушают дикторов профессиональных и
14:46
синтез оно Ну практически совпадает то есть люди Ну устают от нашего синтеза же ровно столько же сколько от обычных
14:53
людей Как видим две галочки остались не полученными и здесь мы переходим к зонам
14:58
роста вот идея в том опять же что синтез как было сказано он должен быть не идеальным
15:04
по-человечески не идеальным во-первых дыхание опять же дыхание Конечно я оправдываю своё нервное дыхание микрофон
15:09
во многом но в целом в книгах тоже важно мы запинается мы эем каем всякие звуки
15:15
паразиты Ну иногда это уместно мы торопимся на скучном перечислении там
15:20
мне надо купить молоко яйца кефир и так далее и так далее это стоит произносить быстрее также диктор Желательно чтобы он
15:27
переживал некие эмоции прочтения он конечно же не должен разыгрывать спектакль Но если происходит какой-то
15:32
эмоциональный момент хорошо бы чтобы у спикера была некая дрожь в Голосе как этого достигнуть достигнуть этого нужно
15:39
с помощью Гена что первое приходит в голову когда мы говорим о Гене gpt Ну по
15:44
крайней мере Понятно В нашем контексте но это не только есть ещё вот такая модная тема тоже современная а именно
15:51
диффузионные модели чего не хватает этим двум ингредиентам не хватает очень мотивированного запертого в подвале
15:57
инженера это не я вот эти три ингредиента в совокупности породили в 2023 году
16:03
моде малоизвестная модель в академии Но это был скорее UB который который
16:10
академия по качеству синтеза догнала где-то через год-полтора только сейчас модели в академии достигают такого же
16:16
уровня и Давайте поговорим об этой модели Она ну она локальный такой мем в
16:22
хорошем смысле странный Слад ном нужном
16:27
контек на самом деле звук Казалось бы непрерывная вещь Это тоже В каком-то смысле набор слов мы можем его
16:34
превратить в набор слов и в простейшем виде все мы знаем Var After encoder когда мы кодируем что угодно в набор
16:40
Динго а потом декодирует с помощью нести Давайте теперь попросим эти им бедин ещё
16:46
заменять на какие-то ближайшие к ним из фиксированного набора то есть смотрите veral of encoder получаем им бедин слово
16:54
этот мбенг заменяем на какое-то ближайшее из Нашей памяти и из этого декоди получается у нас получилось
16:59
дискретный набор такой набор слов То есть мы можем вместо им Беди использовать его порядковый номер то
17:06
есть вот этот звук это Дин 2 Потом три потом 10 потом два это делается с
17:11
помощью двух лосовский Лос и также мы минимизируем
17:16
расстояние между предсказанные бедин и вот этими центроида хранящимися в памяти чтобы не было Ну Миса алайта потому что
17:21
мы теряем информацию когда переходим Take A с этого слайда звук – это набор слов вы просто не знали об этом возможно
17:28
Итак Next Ген детальные Поехали на вход получаем теперь не только текст но и некоторый промт это синтез речи который
17:36
мы хотим получить на выходе то есть запись нашего диктора уже имеющуюся потому что мы будем мимикрировать под
17:42
неё это всё подступает на вход gpt подобной модели которая вход получает
17:47
опять же текст но для озвучивания А выплёвывает уже слова в терминах звука то есть токино звука выплёвывает один с
17:54
другим авторегрессионная gpt Напоминаем звук – это текст
17:59
всё-таки порядковые номера этих идигов Ну токенов не очень полезная информация сделаем шаг назад и снова возьмём
18:05
предпоследний слой то есть динги на основе которых предсказал эти токены и вот эти уже динги на них мы законним
18:12
диффузию которая будет предсказывать честную ктому и предсказ пой наход по
18:17
кору как уже говорили решённая задача вообще неинтересно конечно опять множе м потопи
18:26
с всего эно не считаем этап номер полтора всё-таки птх лицинию и в звуке тоже он
18:34
может зависнуть на фонеме вот так вот Я вот решил вот экспромтом изобразить это может повторить одно и то же слово
18:39
иногда может ставить слово паразит кстати говоря потому что гпт понимает контекст она вдруг решила что человек
18:44
который читает этот текст он должен бегать Ну вот решила она так поэтому мы делаем стандартный Хак мы делаем не мы
18:51
автор я рассказываю авторскую стати точнее даже github он синтезирует 32 звука и из них обычной контрастивная
18:59
выбирает самый лучший синтез и уже вот он улетает на синтез диффузии и опять же опять же рассказываю
19:06
Как на самом деле это не это в че году многие компании среди них как вы видите
19:12
это tikt а тоже стартап в синтези звука конечно
19:17
же у них другие картинки другие цвета но как сказать мы-то видим мы-то Знаем мы видим что это в мысленном виде
19:27
идеже странно игнорировать какую-то такую смену парадигмы мы как Яндекс Ну
19:33
конечно же у нас есть своя эрудиция своя экспертиза но мы будем строить наш
19:38
синтез речи на фоне того что работает действительно вся Академия тоже пришла к чему-то тортойз подобному и мы попробуем
19:44
сделать нечто подобное так вот сейчас мы переключаем о том будем говорить о том
19:49
что нам нужно для этого некоторый roadmap во-первых Мы хотим интегрировать обратно наши средство контроля синтеза
19:55
Почему Потому что мы хотим например контролировать ударение в иначе нас ну пользователи ругаются когда
20:01
мы произносим неправильно вот как как это звучит имея в виду его феноменальную
20:07
способность безошибочно угадывать чужие мысли не знаю Было ли слышно но там была ошибка ударения имея в виду также это
20:15
всё нужно ускорять минимум на порядок здесь некоторая татика статистика на чистом питоне понятное дело есть onx tmt
20:22
ну Не бейте но на чистом питоне уже видна разница тортойс работает на одну секунду синтеза 6 секунд трон из-под
20:29
коробки на питоне 2 секунды то есть Real Time не Real Time Ну и в параметрах тоже
20:34
разница в эти два порядка 40 млн против миллиарда это надо скопы это надо ускорять это надо
20:40
оптимизировать и смотрите на самом-то деле чере пики уже потрясающее не сложно
20:46
превзойти нашу базовую технологию по качеству в среднем это правда несложно но наша технология она продуктовая Это
20:52
значит что наш самый худший синтез Он всё ещё очень добротный если мы хотим перейти на новую технологию нам нужно
20:59
теку не среднем А на всех срезах на всех полях Что это значит Это значит что самый худший синтез новой технологии
21:05
должен быть лучше чем самый худший синтез старой технологии иногда это бывает вот так отрыв притягивая к себе
21:12
взоры всех без исключения холандски обывателей оказывая на пути у трора младшего и
21:18
трора старшего это неприменимо к продукту мы поговорили о том чего мы
21:24
хотим И теперь я расскажу вот так вот по уну фор как достигать чего удобно как
21:30
достигать лучшего решения где угодно пункт первый Это не единственный вс-таки Это первый из нескольких мы берём лучший
21:39
Open sce самый лучший что мы делаем второй пункт уже на самом деле не такой
21:44
очевидный мы ускоряем его на порядок как минимум потому что мы хотим с этим экспериментировать обыч дефолтный код
21:50
работает медленно если мы хотим перебрать много вариантов врем эксперимента
21:58
что мы делаем Правильно мы правим Баги и выбираем й Test Амен Ну например там шейпы полетели от трейна к иренс и
22:06
финальный пункт опциональный необязательный можно внедрить свои трюки Ну я немножечко понимаю о чём
22:13
говорю так вот докажу ээ и сегодня на примере тортойз хотим поговорить про второй пункт о том как ускорять
22:20
обучение опять же резкая смена темы вернёмся к тортойз там есть три основных сущности это текст смотрите тексты для
22:27
синтеза разной длины у нас фиксированной длины соответственно динамические вот такие размерности
22:32
всегда пад чем-то чем пат текст тек Пади обычно токеном сцн что ещё какая
22:39
сущность звук звук то ли аудио то ли пекто оно паде тишиной логично То есть у
22:44
нас попали в ба два звука разной длины один из них запали тишиной просто добавили тишину получились два звука
22:50
одной длины и
22:59
потому что смотрите нам сеть обучается чтобы дискретные аудио токены помогали
23:04
реконструировать аудио токен тишины не всегда помогает и не всегда есть токен тишины который мы могли бы запа что
23:11
делать расскажем как это сделал автор автор взял взял вот эти все свои набор
23:16
звуков речей и запал их до 12 секунд тишиной Всё теперь у нас все
23:23
синн деем э секун ди п Ну как при обучении когда мы
23:31
подаём в авто регрессию и получаем теперь тенты для этих 12
23:37
секунд с тишиной причём Ланта ещё раз там не будет какого-то универсального Ланта они будут эволюционировать с этой
23:42
тишиной но они будут соответствовать этой тишине и теперь на этих двенадцати секундные нах тентах мы обучаем только
23:49
диффузию то есть мы диффузию учим переводить 12 секунд тентов в 12 секунд
23:54
звука не мы авто опять же я овари у это есть конечно же плюсы реально большие плюсы во-первых не надо
24:00
маскировать никакие слои Когда у нас всё одинаковое размерности атен маскировать приятно инволюции чуть меньше
24:07
маскировать кастомные р слои кастомные ли слои уже особо неприятно автор смог
24:13
этого избежать напоминают один инженер запертый в подвале также удалось избежать динамического бичевая когда все
24:18
шипы одного размера Не надо никаких динамических бывай Всё просто ну случайно итери Ну конечно же у этого
24:24
минусов чуть больше во-первых на иренс мы должны либо гонять все те же ку что долго либо у нас будет тела потому что
24:31
мы учились на 12 секундах гоняем столько сколько дали также непонятно вообще Как обучать диффузию в принципе потому что
24:37
мы либо должны хранить все эти предпочитаете это очень много либо если
24:42
мы не хотим их хранить нужно считать гпт ху онлайн во время обучения тоже очень плохо непонятно что делать Ну автор В
24:50
итоге чтобы у него всё это сошёлся пазл он гоняет на 12 секундах и в итоге у него
24:55
обучение с аккумуляции Бача 16 иногда мы используем может быть кто-то
25:01
использовал 16 то есть 16 раз мы прогнали данные и один разделали нный адет это ещ раз это не критика это один
25:07
человек который сделал технологию лучше чем все кто-либо не было на год раньше но всё же она с минусами в виду
25:13
ограниченности просно способности одного инженера Ну что ж надо бороться с этими минусами чтобы Элементарно поэкспериментировать сзм что мы делаем
25:20
во-первых маскируем все слои теперь нам не надо обва секу поте Э что поку
25:28
тишиной из которых маска оставила только что-то информативное либо только Сразу обрабатываем две информативных секунды
25:33
одно и тоже алгоритмически также Ну это разрастается нам размер Бача теперь у нас он по длине не 12 секунд а
25:41
сколько-то меньше в среднем можем брать батч больше больше ба большей быстрее обучение и тенты мы теперь всё-таки
25:48
можем хранить потому что они занимают столько же сколько и вавка то есть ну просто вавка занимает столько же сколько
25:53
ланты раз уж мы храним вавки Наверное мы можем сделать X2 и подержать ещё ланты
25:58
второй шаг мы Ну раз у нас теперь динамическая длина мы внедряем динамическое бичевание Для чего Ну чтобы
26:05
у нас не было не информативных токенов то есть у нас почти всегда в бач попадают аудио одной длины
26:10
соответственно Нет не информативных там градиентов все градиенты считаются по по всему размеру шейпа больше ADE большей
26:17
меньше итерации быстрее обучение далее мы добавили Mix precision супер сложный
26:24
трюк минус 40% с куста есть ещё один такой лайфхак на самом деле вот пре более очевидная вещь
26:32
но для динамического обучения часто помогает прокинуть какие-нибудь кудо флаги для торча чтобы он чуть-чуть по
26:38
оптимальнее лоцирование и что мы получили мы получили что теперь
26:45
обучение диффузии занимает 3 дня мы можем с ней экспериментировать и до этого мы честно говоря е даже ни разу не обучили потому что мы поняли что это
26:50
больше месяца Ну это просто бессмысленно внимательный слушатель может спросить а как
26:56
же к сожалению всё-таки tch compile требует некоторый compile Friendly стили
27:02
написания кода Исходный код потребует полного рефакторинга Чтобы на него навеси копай поэтому для койла замеров
27:08
нет поэтому хотите Делать копай нужно держать вме что там есть особые требования к стилю кода Ну что ж Давайте
27:15
за спойлери то что у нас получается на выходе вот сейчас синтез звучит уже вот так никакой спец информации мы не
27:21
внедрили никакие наши методы контроля синтеза мы просто подали текст и модель сама поняла что нужно делать слушаем не
27:28
мал ли Он для своего возраста – спросила старуха её голос был хриплым и гнусавым
27:34
вы ведь знаете что в нашей семье взрослеют поздно ваше преподобие – ответила мать пола своим мягким
27:39
контральто как же слышала прохрипел старуха но ему уже 15 лет Да ваше
27:46
преподобие то есть модель за счёт того что это уже большая модель На огромном количество
27:51
данных она понимает не только как озвучивать фонема Но их смысл и это Это единый спикер если поняли кто это вы
27:59
узнали его Надеюсь и модель сама понимает что
28:04
разных персонажей от зелёных знаками припинания нужно озвучивать чуть-чуть по-разному большие модели Привет Ну и
28:12
немножко количественной информации мы уже про мерили как и говорил показатели в среднем не то что нам нужно И всё же
28:17
их Интересно смотреть мы сравнили модель которая была представлена сейчас которая был синтез против трона нашей предыдущей
28:24
базовой модели Ну и получился конечно в среднем вынос эти СБС Ну это значит что по общему
28:30
впечатлению по естественности речи и По интонации новая модель выигрывает в одном из ТХ четырёх текстов то есть тче
28:37
текста все асессоры ну не все большинство из них единогласно говорят вот эта тема это очень на самом деле
28:42
хороший для ССА прокрасить даже 55 на 45 это уже большой результат Ну что ж Давайте перейдём к
28:50
каким-то выводам банальным но ВС же во-первых статьи полез Спасибо нашим коллегам или оппонентам как считать из
28:56
гуг пог нам для увеличения контекста для согласования вот этого качества
29:02
звука Но помимо статей полезны также хабы есть потрясающие инженеры которым
29:08
не интересна вся эки сю на крупной конференции они делают github и туда
29:14
надо поглядывать как первый работающий неген появился именно на гитхабе такой общий вывод И всё же
29:20
сначала делаем хорошо только потом Гениально вы може быть очень Талан инженером у Вас могут быть трюки про
29:26
которые измет мир вы их реализовали неправильно Ну как бы они не изменят мир
29:31
поэтому берём код Лизы улучшаем это нам помогает свои же трюки проверить быстрее
29:36
то есть да вы проверите первый трюк через месяц а не сразу Зато через месяц вы проверите сразу 10 а не один Ну и какой-то некоторые взгляд в
29:45
будущее технология развивается большими скачками то есть и сейчас произошла смена парадигмы Мы перешли на к с Гену и
29:52
в синтезе звука к большим предо моделинг и Поти подобным с диффузией сфа скачок уже перешёл но впереди на
30:00
самом деле это Теперь ещё больше потому что вот это всё взятое там с компьютер вижена из NLP надо улучшать и
30:05
адаптировать под звук там огромное количество задач каждый из этих блоков можно разрастаться э улучшать внедрять
30:12
что-то своё составлять свои средства контроля и так далее синтез речи не
30:17
решённая задача она только зашла на порог вот этого пути к решению на этом
30:23
собственно Всё спасибо большое за внимание
30:29
[музыка]
30:35
супер Спасибо огромное И это я говорю своим голосом а не сгенерированный так что начнём перейдём к вопросам напомню
30:42
свои вопросы Вы можете задавать в чате там подготовлены специальные посты куда задавать вопрос Делайте с хэштегом
30:49
вопрос и именем спикера чат канал у вас на йд или
30:55
появился вот на экране да А мы начнём с вопросов тебе надо будет выбрать напомню
31:01
один самый лучший из заданных Какие модели а также входные выходные данные
31:07
спектрограммы или вас ва у вас входят в базовый стек собственно базовый к был
31:14
рассказан на слайде действительно не было Ну ладно Ну да Ну да с вопросом
31:21
поспешили ничего страшного слей вопро следущий вопрос быстрый вопрос а потом
31:28
будет долгий А можно ли научить вашу модель мурчать бурчать мурчать Я думаю я на самом деле
31:37
минутка рекламы даже Алиса Если вы очень сильно достанете она вас
31:51
побурлим за схожесть голоса вашей модели с настоящими дикторами это дикторы
31:58
заключили контракт с Яндексом они знают каких проектов используют сво голос мы для них используем Отлично спасибо супер да У
32:05
меня вопрос Смотри ты у тебя название доклада озвучка аудиокниг но Ясное дело
32:11
эта технология много где в Яндексе используется и постепенно вот эти фичи они уже проросли в прод в практику для
32:19
аудиокниг Куда ещё прорастают эти фичи чтобы без спойлеров так вообще вот куда
32:26
Вектор Я не думаю что спойлер при смене парадигмы при каком-то фазовом свиг технологий всё что работало на старом
32:32
стеке переходит постепенно на новые где-то свои сложности но я думаю ответил на вопрос Ну да там
32:40
Al Яндекс е ене мы не можем называть какие-то даты Но конечно же мы хотим
32:46
чтобы наш продукт был буквально лучшим уже есть что-то что претендует название лучшего надо посмотреть
32:56
туда ли пользователям быть интересна многоголосая озвучка хотя бы разные
33:02
мужские и женские Голосова или озвучка всей книги одним диктором уже слишком
33:08
привычным Это хороший вопрос и опять же реферат в сторону нашей аналитики это
33:14
немножко разные вещи на самом деле это аудиокнига и аудиоспектакль как только больше одного голоса Это уже аудиоспектакль и иксы показывают что ну
33:21
это не то что интересно запрос на это конечно же есть на любую технологию есть свой запрос но люди своём привыкли
33:28
слушать единый голос например была ещё интересная идея озвучивать как-нибудь ещё раз возможно я просто инженера могу
33:36
сказать глупость меня могут побить продукты я не говорю от бизнеса но была интересная идея озвучивать например там
33:41
просто идея на Ю иксах голосом самого пользователя нам сразу сказали что это что за полно что никто не готов это
33:47
слушать и мы оставили это даже не прорабатывать Да но я тут недавно
33:54
переслушал Ведьмака в озвучке озвучиватель Ведьмака в играх и там
34:01
очень здорово одним голосом но разный интонации как ты рассказывал разные персонажи и отыгрываю и это наверное
34:08
самае вот э вот серебряная пуля для озвучки аудиокниг А следующий вопрос в среднем более взрослые и люди из
34:16
определённых социальных групп читают больше а это значит восприятие
34:22
прослушивания книг У них отличается от мени читающих то есть такой бас людей
34:28
Есть ли идея автоматически изменять чтение модели автора в зависимости от профиля пользователя и опять же
34:35
продуктова там есть вы можете контролировать скорость синтеза бегунком в приложении то
34:40
есть Надеюсь это нем не обязательно взрослые пользователи кто-то может
34:46
воспринимать медленный синтез более желательным для себя и вы можете этого достигнуть в будущем Конечно Ну у нас
34:52
уже есть два спикера например выбираете того который вам больше нравится Кост возрастание конечно оно не такое
34:58
интересное Как качественно интересно выкатывать что-то новое чем Ну увеличивать плюс один спикер но будет запрос от пользователя конечно же мы на
35:05
него посмотрим Угу Следующий вопрос может ли модель без
35:11
пунктуации читать с правильным выражением Конечно же если большая предо
35:17
Ну если у вас очень много данных и у вас большая модель Ну она может выучить
35:22
всякие закономерности мы говорили помните был пункт что стоит исправлять баги
35:28
в том же тортезе есть казалось я отвечаю вопрос в том же тазе есть ужасные баги которые по сути умножают некоторые части
35:34
модели на случайное число но модель учится с этим работать она их не игнорирует Ну потому что очень большие
35:40
данные Она запоминает распределение этого случайного числа и как бы от него отталкивается очень много данных выучите
35:46
что угодно то есть фактически озвучка выучит задачу пунктуации исправлением
35:51
пунктуации в себе же аели вы голом интонацию в книги или конкретного
35:58
момента Ну от конкретного момента мы поняли что да А вот от книги как-то вот есть ли э либо модельная настройка либо
36:07
ручная настройка я понял да Это хороший вопрос это как раз наша зона роста то есть хочется чтобы диктор не читал любой
36:13
текст будь то это инструкция какой-нибудь техники то ли драма одним голосом Сейчас всё-таки
36:28
интересный вопрос такой немного философский возможно синтез речи бесконечно
36:34
улучшается и идеального синтеза не добиться возможно ты это проверь и сам
36:41
вопрос как тогда понять что пра выпускать инженера Из
36:47
подвала Я синтеза речи я так Я немножечко фанати этого человека который
36:52
сделал Тото он Из подвала сразу ул ВП этим людом Так что видимо ка приходит если
36:59
говорим про инженера по поводу синтеза речи Ну конечно же мы можем проводить вс-таки сравнение профессионального диктора против синтеза как только мы
37:06
сравняли с синтезом речи прого диктора Задача В каком-то смысле решена Конечно же нет предела совершенству Но дальше
37:14
как будто бы нет смысла сейчас на длинных сложных книгах конечно же профессиональные дикторы выиграют синс
37:20
даже вот эти новые модели расти ещ есть куда Как получить мное представление
37:25
текста процессор это обучаемый блок какая там архитектура Ох при процессор
37:32
это это жесть ответ
37:37
получен там сложно это огромный стек множества моделей кто-то из них для которых уже
37:43
удалось набрать данные например установка пункции уже не ре сетевые кто-то из них более классический особенно если мы идём в какие-то очень
37:50
сложные вещи как но опять же конкретно расстановка пауз е можно сделать алгоритмически запятая дела между
37:56
словами маленька пауза запятая средняя точка запятой большая Предложение очень большая между азами самая большая Это я
38:02
приблизительно помахал руками но вот это уже что-то работает при процессором занимаются специально обученные гении я
38:08
туда не лезу Там страшно и сложно всё
38:14
впереди можно может получится ещё туда раскопать тему Да и потом нам
38:20
рассказать А а как проводились опросы по предпочтениям слушателей какие были
38:29
К сожалению здесь хватает компетенции Ответь на это вопрос есть профессиональные я даже не знаю как
38:34
назвать профессию прошу прощение никого не хочу оскорбить есть люди которые знают как задавать правильный вопрос не
38:39
подталкивая человеку к какому-то ответу например да чтобы Любой ответ было одинаково комфортно ответить это особая
38:47
наука социальная к счастью у нас есть ло цело Энием
38:56
сво мелк кодера Gun что-нибудь другое в
39:01
стандартном стеке это не секрет это есть блок на хаб Да Сейчас у нас на юный High Gun для новой модели у автора у автора
39:09
это univet мы экспериментируем мы у нас ещё нет продукта на этой модели пробуем
39:16
разное как обрабатывайте кейсы когда текст книги включает преднамеренные
39:21
ошибки пример книга цветы для Рона где повествование ведётся от лица главного
39:29
хороший восста позволяет это делать очень хоромы можем очень хорошо контролировать Какие
39:36
ф мы запросили мы можем их модифицировать справлять моде произнес новая технология она слишком умная если
39:43
видит ошибку она может е исправить просто потому что хочет она Я большая умная Я минимизируют здесь начинается как раз
39:50
зона ро
39:57
спикеров Если да ну планируете ли вы Ну опять же да Вопрос не ко мне это
40:03
количественный вопрос будет запрос у нового спикера мы запишем
40:08
пока пока больше говорим о технологиях о качественных изменениях нежели количественных супер Ну да это больше
40:14
про продукт Следующий вопрос может ли ваша модель петь а базовая технология не может п
40:22
наверно может читать новая технология ещ раз снова он довольно непредсказуемый
40:28
перебрав 20 промто он может что-то выдать практически любое робот най голос
40:34
шипящий поющий это ближе к чёрному ящику чем предыдущее поколение моделей с этим
40:41
нужно учиться работать Мы учимся всё будет супер трудно вытеснять вопросы
40:46
потому что очень много благодарности за доклад за очень классный доклад но а хочется нашёл вопрос можете выделить
40:54
самую значимую проблему при создании какой технологии самый главный Челлендж
40:59
где тут Позвольте взять секунд 10 на
41:07
обдумывание О’кей я отвечу Так и наверное многие инженеры меня поддержат [музыка]
41:13
э-э об этом говорят на любом курсе машин ленга хорошие данные хороший итератор
41:21
Без них у вас не будет модель это то что не всегда приятно делать К сожалению но без этого просто ничего не получится
41:27
и чем больше данные тем менее приятно с ними взаимодействовать это самая такая сложная часть ну а мы в зали данные и мы
41:37
зачитали все вопросы которые мы успеваем давай выберем лучшие напомню быстренько
41:42
мурчать модель многоголосая озвучка автоматически изменяет чтение модели
41:47
диктора Что делать если без пунктуации с правильным выражение прочтёт адаптирует
41:53
ли вы голос как получить фонем представление текста Как проводились
41:59
опросы синтез речи бесконечно улучшается И что дальше что используется в качестве
42:06
медера планируете ли обогащать список спикеров как обрабатывайте кейсы когда
42:12
текст книги включает ошибки Может ли ваша модель пить
42:18
петь Да и самый большой Челлендж мне очень
42:24
понравился вопрос который очень бил то куда думал продукт про многоголосной
42:29
многоголосной Автор этого вопроса с вами свяжутся Спасибо большое спасибо ещё
42:35
Аплодисменты для тебя

Поделиться: