Поднимаем в облаке расшифровку речи в текст с помощью нейросетей. VPS на пределе возможностей |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-12-22 14:45 Привет, Хабр! В этом посте я продолжаю цикл статей о том, как выжать максимум из обычного VPS от RUVDS. В прошлый раз мы экспериментировали с языковыми моделями, а сегодня попробуем запустить систему распознавания речи — FasterWhisper, оптимизированную версию модели Whisper от OpenAI. Как и в прошлый раз, сделаем это в рамках бюджета в 5000 рублей в месяц. Что такое Whisper? Прежде чем мы начнём эксперименты, давайте разберёмся, с чем имеем дело. Whisper — это система автоматического распознавания речи (ASR), разработанная OpenAI и выпущенная в открытый доступ в сентябре 2022 года. В отличие от многих других моделей, Whisper обучался на внушительном наборе данных — 680 000 часов многоязычного аудио, собранного из интернета. И здесь кроется его главное преимущество: благодаря такому разнообразному датасету модель отлично справляется с различными акцентами, фоновым шумом и даже специализированной лексикой. И самое главное, в отличие от своих более популярных собратьев, произведённых OpenAI (ChatGPT различных версий), Whisper является Open Source моделью с открытым доступом. Да, иногда Open в OpenAI всё-таки означает Open Source, но, увы, лишь иногда. Архитектура Whisper достаточно проста: это encoder-decoder трансформер, который принимает на вход 30-секундные отрезки аудио, преобразованные в лог-мел спектрограмму. А дальше начинается самое интересное: декодер не просто расшифровывает речь, но и умеет определять язык, ставить временные метки для фраз и даже переводить речь на английский. Причём всё это — в рамках одной модели без необходимости дополнительных настроек. FasterWhisper, с которым мы будем работать — это оптимизированная версия оригинальной модели, использующая CTranslate2 для ускорения инференса. По сути, это тот же Whisper, но значительно быстрее и эффективнее в использовании ресурсов. Что особенно важно для нашего эксперимента на VPS.Настраиваем окружение Система у нас остаётся прежней — CentOS из прошлой статьи, как и остальная конфигурация сервера — 4 ядра CPU и 12 гигабайт RAM. И тут стоит сделать небольшое отступление, почему мы выбрали именно Docker-версию FasterWhisper. За кадром осталась увлекательная история о том, как Whisper на CPU умудрился изрядно попить крови у автора — что при установке через pip, что через conda. И это притом, что на домашней машине с CUDA и GPU от NVIDIA всё вставало без малейших проблем! Складывается впечатление, что CPU-версия живёт какой-то своей, особенно капризной жизнью. Либо, возможно, как это часто бывает с нейросетевыми проектами, мне не повезло, когда какая-то из библиотек для Python успела обновиться недавно и поломала совместимость с зависимостями, что за ней ещё пока не успели обновиться следом. А в Docker-контейнере окружение уже настроено и содержит все необходимые зависимости. Тем более, что по аппетитам Whisper достаточно скромная модель, а Docker процессорных ресурсов почти не потребляет — теми несколькими сотнями мегабайт памяти, которые он съест, вполне можно пожертвовать ради душевного спокойствия и рабочего решения из коробки. FasterWhisper Server Теперь самое интересное — запустим FasterWhisper Server в контейнере. Что здесь происходит? Мы запускаем готовый Docker-образ с FasterWhisper, который уже настроен для работы на CPU. Важный момент — мы монтируем кэш Hugging Face в контейнер, чтобы не скачивать модели каждый раз при перезапуске. Веб-интерфейс на основе Gradio будет доступен по появившемуся в консоли адресу — 0.0.0.0:8000, откроем его и продолжим уже в нём. Тестируем на практике Для тестирования я выбрал не совсем обычный материал, а именно отрывок из так и не завершённого романа «Азатот» Говарда Филипса Лавкрафта, причём сразу в двух версиях: оригинал на английском и русский перевод. Почему именно это произведение? Во-первых, оно относительно короткое, что идеально для первичного тестирования. Во-вторых, содержит специфическую лексику и сложные конструкции, что поможет проверить возможности модели в более сложных условиях, чем простая повседневная речь. В-третьих, я просто очень люблю творчество Лавкрафта, и это одно из моих любимых его произведений. ? Тест на русском языке Для начала посмотрим, как Whisper справится с почти тремя минутами текста на русском. Получилось не идеально, однако результат впечатляет. Несмотря на то, что это самая маленькая модель, качество оказалось сопоставимым с результатами платных сервисов, предоставляющих перевод речи в текст, или с возможностями Telegram с Premium-подпиской. ? Тест на английском языке С поправкой на моё не ужасное, но и не идеальное произношение, получилось опять же достаточно неплохо. Что до скорости, то результат аналогичный с поправкой на то, что файл вышел чуть больше. Реальное применение Но где же всё это может быть полезным? Первый и самый очевидный сценарий — внутрикорпоративное использование. Представьте ситуацию: ваша компания, как многие другие, серьёзно относится к безопасности данных и категорически запрещает использование сторонних сервисов для расшифровки речи. При этом потребность в транскрибации постоянно возникает — будь то записи совещаний, обучающие материалы или интервью с клиентами. Развёртывание собственного сервиса на VPS позволяет как удовлетворить требования по информационной безопасности и конфиденциальности корпоративных данных, так и наконец-то избавиться от нужды перепечатывать руками очередной еженедельный созвон по планёрке. Подводим итоги В отличие от наших экспериментов с мультимодальными LLM в прошлой статье, где анализ одного изображения мог занимать до 10 минут (успеешь и чай попить, и в окно посмотреть, и о жизни подумать), FasterWhisper показал себя как вполне жизнеспособное решение для повседневного использования. Трёхкратное отношение времени обработки к длительности аудио на CPU — это уже не просто эксперимент, а нечто, что можно реально применять в работе. И если LLM на CPU оставляли впечатление «без слёз не взглянешь», то здесь виден реальный потенциал для коммерческого использования. Источник: habr.com Комментарии: |
|