Нейросети, видеокарты и здравый смысл

Протестировали нейросети и показали, в чём разница между разными моделями видеокарт — не только AI/ML-инженеры должны понимать, что скрывается за TFLOPS и в чём их разница.

Как сравнить?

Будем сравнивать просто - сколько требуется времени в секундах, чтобы решить задачу.

Пример №1

Задача - попытаться распознать запись разговора (аудио в текст), чтобы затем выполнить анализ текста.

В качество стенда: 8 Гбайт видеопамяти NVIDIA L4 и NVIDIA A16.

ПО: Нейросетевая модель Whisper от openai

Нейросети, видеокарты и здравый смысл

На больших моделях (large-v2/v3) время обработки GPU (видеокарта) NVIDIA L4 значительно выше, чем модели на NVIDIA A16.

Можно было бы сказать - зачем вообще нам NVIDIA A16, если L4 априори быстрее/мощнее? (выбираем нужное)

AI/ML-инженер скажет - чудаки, а если был бы faster-whisper, то результат был бы выше, а если бы взяли NVIDIA L40S...

Да, всегда можно взять и что-то оптимизировать, например, faster-whisper позволяет обработать аудио на модели Turbo за 12 секунд.

А как же публичные платформы?

Откуда всплыл whisper, плюс эти видеокарты?

Пример №1 это был вовсе не пример, а кейс компании, которой требовалось распознавать речь и далее её анализировать.

Изначально компания с помощью публичных сервисов организовывала speech-to-text, один из был speechkit от Яндекс, но результат на их текстах был унылый, более 45% ошибок.

Удалось сократить ошибки распознания - не с помощью оптимизации модели, а просто нашли сервис, который лучше распознавал - удалось до 29% дойти. Нашли себе середину золотую :)

Ну и?

Затем компания написала нам о тестировании GPU (видеокарты) NVIDIA L4 для подготовки стенда под анализ текста.

Ясно, продаваны

Перед тем, как что-то продать, всё таки инженерный подход должен быть в решении вопроса или задачи. И вообще, слишком много ошибок в распознавании текста - важна тематика, какая речь, как записана и многое другое.

Запросил информацию, что делают и как - решил проверить, может ли быть такой большой процент ошибок - открыл наш сайт mclouds.ru и сделал запись того, как читаю пару страничек текста.

Пример кода, скрыл информацию о тексте, чтобы не было портянки.

from jiwer import wer original = "Всем привет! Это mclouds ru, mclouds.ru. ..." whisper = "Всем привет! Это mclouds.ru. ..." yandex = "Всем привет, это м Клаудс ру м Клаудс. ру! ..." error = wer(original, whisper) print(f'{error:.2%} WER for whisper turbo model') error = wer(original, yandex) print(f'{error:.2%} WER for xednay speechkit')
13.95% WER for whisper turbo model 70.92% WER for xednay speechkit

Эм.. Почти 71% ошибок?

С какими нюансами столкнулись?

Ещё не начали, а уже пошли нюансы, а именно:

  • Здравый смысл - нет универсальной таблетки
  • В зависимости от тематики записанной речи, выбирать нужно датасет/онлайн сервис, который лучше заточен под ваш speech
  • На разных видеокартах может быть разный результат, который может отличаться более чем в два раза (СПАСИБО КЭП!)
  • Существуют разные реализации и модели для транскрибации аудио в текст, оригинал не всегда быстрее и качественнее

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

Регистрация на вебинар по ссылке.

1
Начать дискуссию