Руководство

Почему транскрибация на вашем Mac идёт медленно

Одна и та же запись на разных Mac с одним и тем же приложением может занять две минуты или сорок. Почти всю разницу объясняют четыре вещи.

Скорость локальной транскрибации разнится колоссально, и не пропорционально тому, насколько новый у вас Mac или сколько вы за него заплатили. Одна и та же часовая запись на одной машине может занять три минуты, а на другой — полчаса, при одном и том же приложении.

Почти всё это объясняют четыре вещи.

1. Apple Silicon против Intel #

Это главный фактор, и разница тут не маленькая.

В транскрибации преобладает матричная арифметика. У Apple Silicon есть две вещи, подходящие именно для неё: Neural Engine, созданный ровно под такую арифметику, и единая память, благодаря которой веса модели не приходится гонять туда-обратно между памятью процессора и графики.

У Mac на Intel нет ни того ни другого. Neural Engine там нет вовсе, поэтому энкодер — дорогая половина модели — откатывается на процессор или на дискретный GPU через шину. В итоге на том же файле часто получается в несколько раз медленнее.

Если у вас Mac на Intel, транскрибация всё равно вполне пригодна к использованию; просто её запускают и возвращаются позже, а не смотрят на неё. Программно этот разрыв не закрыть, потому что разрыв — это кусок кремния.

2. Использует ли приложение Neural Engine вообще #

Два приложения на одном и том же Mac серии M могут отличаться в разы, потому что использование Neural Engine не происходит само собой.

Чтобы энкодер работал там, модель нужно заранее скомпилировать в формат Core ML. Приложения, которые поставляют энкодер Core ML вместе с весами, получают быстрый путь; те, что этого не делают, выполняют всё на GPU или процессоре и оставляют массу производительности неиспользованной.

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

3. Размер модели #

Размеры Whisper отличаются примерно втрое по числу параметров на каждом шаге, и время масштабируется вместе с ними. Переход с Base на Large — это примерно в двадцать раз больше параметров; на длинном файле это разница между чашкой кофе и целым днём.

Если приложение по умолчанию берёт крупную модель или вы выбрали её потому, что «побольше» звучало лучше, одно это может объяснять ожидание. Прирост точности заметно меньше, чем внушает разница в размере, а на чистой речи он часто неразличим.

4. Сколько тишины вы оплачиваете транскрибацией #

Двухчасовая запись полуторачасового совещания содержит полчаса пустоты. Без детекции речевой активности модель обрабатывает и её тоже — декодирование тишины стоит столько же, сколько декодирование речи, и попутно порождает повторяющийся мусорный текст.

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

Что действительно ускоряет #

По силе эффекта:

  1. Возьмите модель поменьше. Base хватает для большинства чистой речи, и она во много раз быстрее Large.
  2. Возьмите приложение с энкодером Core ML, если у вас Apple Silicon.
  3. Обрежьте пустой эфир или используйте инструмент, который сначала находит речь.
  4. Закройте всё, что конкурирует за ресурсы. Транскрибация займёт все ядра, до которых дотянется. Экспорт видео в фоне вдвое урежет вашу пропускную способность.
  5. Подключите ноутбук к сети. На батарее macOS ограничивает длительную нагрузку, а режим пониженного энергопотребления делает это агрессивно.

Что не ускоряет #

Больше оперативной памяти, если только у вас не было свопинга: рабочий набор меньше, чем предполагают.

Более быстрый интернет. В локальной транскрибации нет сетевого шага. Если ваша скорость зависит от соединения, работа идёт не на вашем компьютере.

Перезапуск. Если прогон идёт медленно, перезапуск начнёт ту же работу с нуля.

Чего примерно ожидать #

На Mac с Apple Silicon, с моделью Base и энкодером Core ML транскрибация идёт в несколько раз быстрее реального времени — часовая запись заканчивается за считаные минуты. Наше собственное измерение на двухчасовом файле дало меньше трёх минут от начала до конца.

На Mac с Intel ожидайте, что это займёт заметную долю длительности самой записи. Всё равно стоит делать, всё равно бесплатно — просто не для того, чтобы смотреть.

Если на Apple Silicon вы далеко за пределами этих диапазонов, вероятные причины таковы, по порядку: крупная модель, приложение, не использующее Neural Engine, или множество других задач, конкурирующих за машину.

Коротко #

Apple Silicon против Intel — самый значимый фактор, и программно его не исправить. Дальше: берите модель поменьше, берите приложение, которое компилирует энкодер под Neural Engine, пропускайте тишину вместо её расшифровки и не запускайте всё это одновременно с экспортом видео на батарее.

Скачать Offline Transcription

Транскрибируйте аудио и видео целиком на своём Mac. Ничего не загружается в облако, аккаунт не нужен, поминутной тарификации нет.

macOS 13.0 or higher · iOS 16.4 or higher