📦 Релиз EE моделей v1.6.1

v1.6.1

1️⃣ Улучшенные модели для AM/LM:

2️⃣ Ускорение декодера:

  • Декодер сам по себе стал быстрее в 3-4 раза;

Как следствие теперь можно поднимать существенно меньше LM консьюмеров, без потери в скорости:

  • GPU: 12 LM -> 4 LM;
  • CPU: 4 LM -> 1 LM;
  • Но поскольку нужно более 1 воркера всё равно, мы не смогли убрать эти воркеры совсем;
  • Это должно было повлечь обратно несовместимое изменение всех выданных ключей, но мы пока решили перенести это на СЛЕДУЮЩИЙ РЕЛИЗ КОГДА ВЫДЕТ PYTORCH 2.0;

3️⃣ Параметр АПИ для листов со словарями:

  • Добавили dictionary в параметры запроса;
  • Слова из dictionary имеют больший приоритет для LM, а значит будут чаще появляться в транскрипте;
  • Пример: 'dictionary': json.dumps(['домножить', 'бульцмана']);

4️⃣ Небольшие фиксы логов:

  • Лучше читабельность;
  • Больше инфы для дебага, добавили chunk_sha1s в основные логи консьюмеров;
  • Новый параметр запроса: health_check. С health_check=True логи(кроме rmq) больше не пишутся;

5️⃣ Обновление сайзингов:

  • Сайзинги для gRPC;
  • С кратно (!) меньшим число LM консьюмеров (!) и без логов примерные приросты скорости на CPU +10%, на GPU до 30%;

6️⃣ Мелочи:

  • Баг с ресемплингом из 8к - пока не пофикшен, иногда пока по непонятной причине очень долго ресеплится из 8к в 16к;
  • Кривые файлы частично пофиксились;

7️⃣ gRPC:

  • Новый VAD - быстрее и точнее для 8КГц;
  • Сам по себе VAD стал в 3-4 раза быстрее, но само по себе это мало ощутимо downstream;
  • Асинхронность:
  •  Cуммарно аудио обрабатывается в ~2 раза быстрее;
  •  VAD больше не ждёт транскрипцию, а сразу посылает ответ о наличии речи;
  •  Полноценный функционал синхронного gRPC с таймаутами и early requestaми;
  •  Больше нет жёсткого порога на количество параллельных сессий;
  •  Пофиксили баги v1.6.0 с утечкой памяти;
  • Проверка что много коннектов к 1 процессу работает;
  • Изменение логики коннектов к gRPC, теперь процессы вместо тредов * процессов, асинк "бесконечный";