Многоязычный ASR? Я ничего не понимаю, я хочу все 15 языков

искусственный интеллект

Аннотация: В этом сообщении блога мы представляем документ от Google «Масштабирование сквозных моделей для крупномасштабного многоязычного ASR», чтобы узнать, как построить многоязычную систему ASR, которая может распознавать 15 языков.

Эта статья опубликована в сообществе HUAWEI CLOUD.«Многоязычному ASR нечего понимать, я хочу все 15 языков», Автор: xiaoye0829.

В этом сообщении блога мы представляем статью Google «Масштабирование сквозных моделей для крупномасштабного многоязычного ASR». Создание системы ASR, которая может распознавать несколько языков, является сложной задачей, поскольку между этими языками очень большие различия, а количество данных очень неравномерно. В существующей работе мы можем наблюдать, что использование языков с богатым корпусом может помочь изучению языков только с небольшим объемом корпуса, но это часто сопровождается снижением эффекта языков с богатый корпус. Мы провели исследование на 15 языках, каждый из которых имел размер от 7,7 тыс. часов до 54,7 тыс. часов, и обнаружили, что увеличение количества параметров в модели является эффективным способом решения проблемы с пропускной способностью. одноязычная базовая модель, когда мы еще больше увеличим параметры модели до 1B или 10B, мы можем получить больше преимуществ. Кроме того, мы обнаружили, что большие модели не только более эффективны в использовании данных, но и более эффективны во времени обучения.Наша модель с параметрами 1B (1 миллиард) достигает той же точности, что и модель с параметрами 500M, и тратит только 34% время. время. Когда емкость модели ограничена, увеличение глубины модели обычно лучше, чем увеличение ширины модели, а кодировщик большего размера часто лучше, чем декодер большего размера.

В центре внимания многоязычного ASR обычно находится повышение производительности языков с низким уровнем ресурсов (лишь небольшое количество корпуса).Идея заключается в использовании данных из похожих языков, совместной оптимизации нескольких языков вместе и непрерывном прямом переносе. из высокоресурсных языков. В этой статье мы исследуем снижение производительности высокоресурсных языков в многоязычных моделях с точки зрения пропускной способности.

Предыдущая работа исследовала от 50 до 100 языков, но размер наборов данных очень ограничен, самый большой набор данных составляет всего 1 тыс. часов речевых данных. В наших экспериментах объем данных для каждого языка колеблется от 7,7 тыс. часов до 54,7 тыс. часов (как показано на рисунке ниже, количество речей представляет собой количество выступлений, часы — продолжительность речи), что позволяет нам иметь высокую -качество одноязычной модели, то мы обучаем многоязычную модель, которая может превзойти каждую одноязычную модель. Мы покажем, как решить эту проблему с точки зрения емкости.

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

В многоязычной системе ASR в этой статье используется модель кодера-декодера, основанная на внимании. Для кодировщика мы используем архитектуру конформера, которая состоит из слоя отображения входных данных, слоя встраивания относительного положения и некоторых слоев конформера. Первый блок конформера содержит 4 слоя конформера. Второй блок конформера содержит слой конформера. Наш декодер пробует две разные архитектуры: однонаправленный LSTM и Transformer с механизмами маскированного само-внимания и перекрестного внимания. Размер нашего выходного словаря представляет собой таблицу с 3328 токенами, в этой таблице 3315 токенов появляются в обучающем наборе не менее 1000 раз, а остальные токены представляют собой некоторые специальные токены, такие как «""", и некоторые места-наполнители. Большинство слов в словаре взяты из китайского языка, а китайский — единственный язык с проблемами OOV из-за его охвата в обучающей выборке. Мы также кодируем лингвистическую информацию в горячий вектор в качестве дополнительного входа. Мы просто объединяем все данные во время обучения и отбираем каждую партию в соответствии с распределением данных. Вся модель эокодера-декодера оптимизирована с учетом перекрестной энтропии между выходом сети и реальным текстом.

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

1. Глубина против ширины;

2. кодер против декодера;

3. Производительность модели, зависящей от языка, и емкость модели, не зависящей от языка;

4. Архитектура против емкости.

Строго говоря, мощность модели не совсем равна количеству параметров модели, например размеру модели. Для содержимого модели, зависящей от языка, емкость модели во время вывода меньше, чем емкость модели во время обучения, поскольку во время вывода активируются только дополнительные параметры и параметры, соответствующие определенному языку. Чтобы упростить обсуждение в этой статье, мы сосредоточимся на емкости модели во время обучения и используем сочетание размера и емкости модели. Масштабирование размера модели также создает множество практических проблем, таких как поддержка распараллеливания модели.

Эксперименты в этой статье проводятся на 15 языках из 9 языковых семей. Всего 235,4 млн голосов и 364,9 тыс. часов голосов. Эти данные собираются из акустической поисковой системы Google. Данные полностью анонимны и аннотируются в текст аннотаторами. Данные, используемые в этой статье, в 20 раз больше, чем в предыдущей статье. Насколько нам известно, это также первая статья, в которой проводятся многоязычные эксперименты с таким крупномасштабным набором данных. В отличие от предыдущей многоязычной работы, мы фокусируемся на проблеме интерференции между различными высокоресурсными языками. В наших условиях наш самый маленький язык имеет около 7,7 тыс. часов обучающих данных, что примерно в 7 раз больше, чем у самого большого языкового ресурса в предыдущей работе. Набор данных такого размера снова создает проблемы для эффективности обучения. Наш тестовый набор для каждого языка содержит от 3 до 19 тыс. образцов речи, взятых из поисковой системы Google, и не пересекается с обучающим набором. Точно так же набор тестов полностью анонимен и расшифрован вручную.

Для обучения мы использовали 80-мерные логарифмические мел-функции с размером окна 32 мс на кадр и перекрытием 10 мс между каждыми двумя окнами. Складывая функции 3 последовательных кадров и выполняя субдискретизацию, мы можем получить 240-мерные входные функции, а частота дискретизации этой функции составляет 30 мс. В кодировщик в качестве дополнительных входных данных подается 16-мерный вектор одного горячего языка, а дополнение данных SpecAugment также используется для повышения надежности модели. Вся модель обучается с 512 ядрами TPU, за исключением модели параметров 10B (10 миллиардов), которая обучается с использованием 1024 TPU, в основном из-за ограничения пропускной способности 16G на ядро. Модель оптимизирована с использованием синхронного стохастического градиентного спуска. Для LSTM в качестве модели декодера мы используем оптимизатор Adam для оптимизации, а для Transformer мы используем Adafactor в качестве оптимизатора. Также используется стратегия оптимизации скорости обучения трансформатора, где максимальная скорость обучения составляет 3e-4, а количество шагов для прогрева — 10k.

В этом разделе мы представляем результаты нашего исследования по созданию высококачественных многоязычных моделей на крупномасштабных наборах данных.Для простоты мы используем только средний WER для сравнения и сообщаем только о производительности каждого языка.

Мы используем Conformer в качестве кодировщика и LSTM в качестве декодера для построения одноязычной базовой модели.Кодер содержит 17 слоев блоков конформера.Размерность модели каждого слоя конформера составляет 512, и есть 8 головок внимания.В модуле внутренней свертки конформера, объем Размер ядра 15. Декодер представляет собой LSTM с двумя слоями 640-мерного LSTM со скрытым размером блока 2048. Каждая одноязычная модель имеет размер 140M и используется для прогнозирования токенов, связанных с этим языком. Средний WER составил 9,29%. Производительность каждого языка показана на графике ниже, где английский (США) имеет самый низкий WER (4,6 %), а маратхи (IN) имеет самый высокий WER (20,2 %). Языки с большим количеством обучающих данных, как правило, имеют более низкий WER.

Чтобы продемонстрировать эффективность конформера как кодировщика для многоязычного моделирования, мы сравниваем три разных кодировщика, каждый из которых использует LSTM в качестве декодера. 1. LSTM действует как кодировщик, включая 8 слоев LSTM, каждый слой имеет 2048 скрытых единиц и 640-мерных выходных единиц. 2. Контекстная сеть выступает в роли кодировщика, включая 24 слоя контекстной сети, каждый слой имеет 640-мерные скрытые блоки, а размер канала равен 2. 3. Конформер выступает в роли кодировщика, включая 17 слоев конформера, каждый слой имеет 512-мерный размер. скрытые слои, этот параметр и одноязычная модель согласуются. Уровень языковой адаптации (LanguageAdapter) вставляется между каждым уровнем кодировщика. Выбор этих трех различных структур кодировщика должен сделать общее количество параметров модели как можно более согласованным, что составляет около 220M. По сравнению с одноязычной моделью увеличение размера многоязычной модели в основном происходит за счет дополнительного уровня языковой адаптации (LanguageAdapter) и увеличения размера выходного словаря. Средний WER трех моделей составляет 11,86%, 10,77% и 9,43%. Этот результат полностью демонстрирует эффект конформера как кодировщика для многоязычного ASR. По сравнению с одноязычной моделью, хотя она и не так хороша, как одноязычная модель по качеству, она хорошо справляется с распознаванием 15 языков одновременно. Он сходится примерно на 21 эпохе и требует около 1,2 миллиона шагов для обучения, тогда как одноязычные модели обычно обучаются до 50 эпох. Чтобы понять влияние уровня языковой адаптации, мы провели следующие эксперименты по абляции.Чтобы выполнить эксперимент быстро, мы сравнили влияние модели на 200 тыс. шагов, что составляет около 3,5 эпох. Использование уровня языковой адаптации приводит к языково-зависимым параметрам и некоторому увеличению размера модели. Чтобы помочь нам лучше понять, мы обучаем единую модель адаптации, которая позволяет всем моделям совместно использовать одно и то же преобразование адаптера. Таким образом, наша модель может быть изменена, чтобы избавиться от модели адаптера. На 200 тысячах шагов эта модель достигла среднего WER 10,86% по сравнению с базовым уровнем (со слоем языковой адаптации) со средней частотой ошибок 10,38%. Из этого сравнения видно, что важно добавить в модель уровень языковой адаптации.

Помимо использования общего декодера, для увеличения емкости модели можно использовать модели с несколькими головками (с разными декодерами для разных языков), и, как и в предыдущей работе, мы используем разные декодеры для каждого языка. Всего будет использоваться 5 языков, в том числе германский, курсивный, арабский, индоиранский и другие. Для сравнения мы гарантируем, что модели с одним декодером и модели с несколькими декодерами имеют одинаковое количество параметров: 1. Модель с одним декодером имеет 6 слоев 768-мерных LSTM, каждый из которых имеет 3074-мерные скрытые единицы. 2. Несколько декодеров, имеется 5 декодеров, каждый декодер имеет 2 слоя 640-мерного LSTM, и каждый слой имеет 2048-мерные единицы скрытого слоя. Обе модели имеют параметры 354M. На шаге 200k средний WER одного декодера составляет 10,13%, а средний WER нескольких декодеров — 10,28%, что говорит о том, что мы используем один декодер, который лучше, чем несколько декодеров, при одном и том же размере модели.

Чтобы улучшить производительность нашей многоязычной модели, мы дополнительно увеличили параметры модели с 354M до 500M, увеличив ширину модели с 512 до 640 измерений. Увеличьте ширину с 17 слоев до 22 слоев. Эта расширенная модель может достигать WER 9,63% при 200 тыс. шагов и WER 9,13% при 1,1 млн шагов, что может превзойти одноязычную модель. Однако по сравнению с базовой моделью 220M обучение на 1/3 медленнее из-за обратного распространения ошибки RNN. Эта функция также делает использование LSTM в качестве декодера непригодным для дальнейшего расширения модели. По сравнению с LSTM модель декодера на основе преобразователя имеет более высокую способность к распараллеливанию во время обучения. В соответствии с той же архитектурой кодировщика мы строим модель Transformerdecoder с параметрами около 500 миллионов, 12 слоями преобразователей, 768 размерностями модели, 3072 измерениями скрытых слоев и 8 головками внимания. Его средний WER составляет 9,26%, что немного выше, чем у LSTM, но его скорость обучения близка к базовой модели 220 МБ. Поэтому мы используем Transformer в качестве декодера в следующем исследовании.

В следующих экспериментах мы хотим еще больше увеличить емкость модели с Конформером в качестве кодировщика и Преобразователем в качестве декодера.Результаты экспериментов показаны в следующей таблице, L представляет количество слоев модели, W представляет размерность модели, а потери — отрицательный логарифм обучающей выборки Путаница, чем меньше, тем лучше. скорость — это количество обучающих выборок в секунду. B0 — базовая модель, «-» означает отсутствие отличий от B0. Все E-модели имеют размер параметра 1B.

Сравнивая E1 и E2, E5 и E6, мы видим, что более глубокая модель дает лучшие результаты, чем более широкая модель. Однако для обучения более глубоких моделей требуется больше времени (2352 против 3419). По сравнению с E1-E4 и E5-E7, увеличение емкости кодера может дать лучшие результаты, чем увеличение емкости декодера. Однако более крупные декодеры, как правило, имеют лучшие потери при обучении. E4, эта модель в среднем делит емкость модели на ширину и глубину и не очень хорошо справляется с этой задачей.Для сравнения, E3 выделяет больше емкости модели на ширину и работает лучше. Наконец, для модели E8 емкость модели сначала распределяется на кодировщик и декодер, а затем большая часть емкости распределяется на глубину, что аналогично производительности E3. Модель E3, наконец, сходится на 600 тысячах шагов, около 10 эпох. В итоге было получено среднее значение WER около 9,07%.

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

Если вы хотите узнать больше о технологии искусственного интеллекта, добро пожаловать в зону искусственного интеллекта HUAWEI CLOUD.В настоящее время существует программирование искусственного интеллекта Python и т. д.Шесть боевых лагерейБесплатное обучение для всех.

Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~