Как пишет NVIDIA Developer, автоматическое распознавание речи должно учитывать реальный способ общения людей, а не только языки и стили, преобладающие в данных для предварительного обучения. Региональные диалекты и условия записи часто недостаточно представлены, поэтому многоязычная модель, хорошо работающая на широких тестах, может не справляться с реальными задачами. Это особенно актуально для саудовского арабского языка. Модель может распознавать современный стандартный арабский или английский, но испытывать трудности с речью на наджди и хиджази или с местными условиями записи. Настройка только на целевой диалект может улучшить его, но ослабить другие языки. NVIDIA Nemotron 3.5 ASR поддерживает многоязычную потоковую транскрипцию на 40 языках, включая готовый к транскрипции арабский, но специфические диалекты и условия записи всё равно выигрывают от настройки. Этот пост показывает, как адаптировать его с помощью фреймворка NVIDIA NeMo и рецепта настройки ASR: подготовить корпус с низкими ресурсами, создать взвешенную смесь повторного воспроизведения, настроить с эффективной пакетной обработкой и оценить качество транскрипции на независимом наборе. Этот процесс полезен, когда у вас достаточно размеченной речи для специализации модели ASR, но недостаточно для обучения с нуля: адаптация диалекта, транскрипция для конкретной области, развертывания, которые должны сохранить существующие языки. Его техники решают разные проблемы: минимальная кураторская работа удаляет неприемлемые метки и очевидные ошибки выравнивания, не отбрасывая редкую, трудную речь. Смешивание повторного воспроизведения чередует небольшое количество ранее изученных данных, чтобы уменьшить катастрофическое забывание. Частичное размораживание кодировщика ограничивает количество изменяемых параметров — это дешевле и быстрее, чем полная настройка, но с некоторыми потерями в точности. Бакетирование по длине уменьшает паддинг и делает обучение практичным для потоковых кодировщиков. Поиск с использованием лучей и больший контекст внимания могут улучшить оффлайн-точность без повторного обучения, но за счет задержки и вычислений. Эти параметры не являются универсальными по умолчанию. Повторное воспроизведение защищает только то, что представляют его данные; частичное размораживание требует перенастройки при изменении смеси. И этот процесс не обобщается на все арабские диалекты или развертывания. В этом руководстве описаны требования: NVIDIA NeMo, PyTorch, Python, OmegaConf. Этот учебник использует SADA 2022 и FLEURS. Необходимо знание Python, настройки модели, WER и CER. Для базового эксперимента было использовано две графические карты. Начните с выбора диалектов, которые вы собираетесь развернуть. Для первоначального эксперимента SADA это означало наджди и хиджази. Следующим шагом является удаление ссылок, которые модель не может изучить, и клипов, которые, вероятно, неправильно выровнены. SADA помечает неразборчивую речь как غيرواضح; поскольку модель не может произнести эту аннотацию, каждое ее появление создает неизбежную ошибку. Цель состоит в том, чтобы удалить структурно плохие примеры, а не трудные акценты или шумную речь, просто потому что базовая модель плохо с ними справляется. В начальном эксперименте только с SADA использовалось разделение на валидацию для мониторинга прогресса настройки. Предварительно обученная модель показала 49.5% WER на валидационном наборе и 59% WER на полном обучающем корпусе. Разница отражает более шумный звук и большую вариацию диалектов в обучающих данных. Базовая валидация (49.5%) служила нашим основным показателем на протяжении всего эксперимента. WER улучшился до 47.8% после первых 10 эпох, остался на уровне 47.8% после еще 10 эпох и достиг 46.7% во время более длительного продолжения v4. После 45 эпох валидация WER перестала улучшаться. Это скромное улучшение и явное плато указывают на то, что продолжение той же настройки вряд ли приведет к значительному улучшению. Процесс настройки ASR улучшает то, что транскрибируется; диаризация спикеров добавляет информацию о том, кто говорил и когда. В многоголосом аудио модель диаризации идентифицирует сегменты речи и присваивает последовательные метки спикеров. Сочетание этих меток и временных меток с выходом настроенного Nemotron 3.5 ASR создает транскрипт с указанием спикеров, который разделяет слова каждого участника, полезный для встреч, интервью, контактных центров и других многоголосых сред. Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.