Gerçek Zamanlı ASR Gecikme Bütçesi: VAD, Segmentasyon, Kuyruklanma ve Model Çıkarımı

Gerçek Zamanlı ASR Gecikme Bütçesi: VAD, Segmentasyon, Kuyruklanma ve Model Çıkarımı

Gerçek zamanlı konuşma tanımada kullanıcı tarafından hissedilen gecikmeyi ses alımı, VAD, segmentasyon, kuyrukta bekleme, model çıkarımı, çözümleme ve son işleme aşamalarına ayırarak ölçer.

Bir konuşma tanıma modelinin 10 saniyelik sesi 1 saniyede işlemesi iyi bir kapasite göstergesidir; ancak kullanıcının metni 1 saniyede göreceğini göstermez. Gerçek zamanlı ASR'de gecikme, model çalıştırılmadan önce başlar. Konuşmanın bitmesini algılamak, segmenti kapatmak ve işi kuyruğa almak da toplam sürenin parçasıdır.

Bu nedenle RTF ile kullanıcı gecikmesini ayrı metrikler olarak tutmak gerekir.

Gecikme bütçesini parçalamak

Uçtan uca süreyi şu biçimde düşünmek kullanışlıdır:

\[ T_{toplam} = T_{ses} + T_{VAD} + T_{segment} + T_{kuyruk} + T_{cikarim} + T_{cozumleme} + T_{son} \]

Buradaki terimler aynı anda gerçekleşebileceği için denklem her mimaride basit bir toplama dönüşmez; fakat ölçüm sınırlarını tanımlamak için iyi bir başlangıçtır.

Ses alımı

Streaming olmayan bir yapıda modelin çalışmaya başlaması için belirli miktarda sesin birikmesi gerekir. Segment 20 saniyeyse model çok hızlı olsa bile ilk sonuç 20 saniyeden önce üretilemeyebilir.

Bu nedenle model hızını artırmadan önce segment kapanma politikasının kullanıcı gecikmesine ne kadar katkı verdiğine bakmak gerekir.

VAD ve endpointing

VAD, konuşmanın varlığını algılar. Endpointing ise bir konuşma parçasının ne zaman tamamlandığına karar verir. Fazla agresif eşikler cümleyi erken kesebilir; fazla temkinli eşikler ise gereksiz sessizlik bekletir.

Buradaki gecikme doğrudan kaliteyle ilişkilidir. 200 ms daha erken segment kapatmak her zaman daha iyi değildir; kelime sonlarını veya kısa duraklamaları yanlış yorumlamak WER'i yükseltebilir.

Kuyrukta bekleme

Model sunucusu boşsa segment hemen işlenebilir. Ancak geliş hızı kapasiteye yaklaştığında kuyruk süresi model çıkarım süresini aşabilir.

Bu durumda GPU'nun tek bir segmenti ne kadar hızlı çözdüğünden çok şu değerler önem kazanır:

  • kuyruk uzunluğu,
  • geliş hızı,
  • servis hızı,
  • eşzamanlı çalışan iş sayısı,
  • P95/P99 kuyruk bekleme süresi.

Little Yasası ve kuyruk kararlılığı burada doğrudan uygulanabilir.

Model çıkarımı

Real-Time Factor, model hızını ses süresine oranlar. RTF 0,10 ise 10 saniyelik ses yaklaşık 1 saniyede işlenir. Bu kapasite planlaması için çok değerlidir; ancak tek başına uçtan uca gecikme metriği değildir.

Çıkarım süresi şu etkenlere bağlı olabilir:

  • model büyüklüğü,
  • CPU/GPU türü,
  • batch boyutu,
  • precision/quantization,
  • beam search ve decoding ayarları,
  • segment süresi.

Burada inference yerine model çıkarımı demek Türkçe metinde daha doğal; API veya framework adı söz konusu olduğunda İngilizce terim ayrıca korunabilir.

Çözümleme ve son işleme

Modelin token üretmesinden sonra da iş bitmeyebilir. Timestamp düzenleme, metin normalizasyonu, konuşmacı eşleme, veri tabanına yazma ve istemciye gönderme süreleri ayrı ölçülmelidir.

Bu bölüm küçük görünse bile yüksek trafikte senkron veri tabanı yazmaları veya seri çalışan son işlem adımları gecikmenin belirgin bölümüne dönüşebilir.

Tek bir ortalama yerine dağılım tutmak

Her aşama için yalnız ortalama süre tutmak yeterli değildir. En azından P50, P95 ve P99 değerlerini ayrı görmek gerekir. Özellikle kuyruk beklemesi ve segment kapanma süresi uzun kuyruklu dağılım gösterebilir.

Ölçüm kaydı şu zaman damgalarını içerebilir:

  • sesin sisteme ilk geliş zamanı,
  • konuşmanın başlangıcı,
  • konuşmanın sonu,
  • segmentin kapandığı an,
  • kuyruğa giriş,
  • model başlangıcı,
  • model bitişi,
  • son işlemenin bitişi,
  • sonucun istemciye yayımlandığı an.

Bu zaman damgaları olmadan “ASR yavaş” ifadesi teknik olarak fazla belirsizdir.

Kapasite ile gecikmeyi birlikte okumak

Bir sistem ortalama yükte rahat çalışıp ani trafik artışında kuyruk oluşturabilir. Bu nedenle yeterli RTF değeri tek başına yeterli kapasite anlamına gelmez. Boşluk oranı, burst trafik, kuyruk sınırı ve hata davranışı ayrıca tasarlanmalıdır.

Gerçek zamanlı konuşma tanımada kapasite mühendisliği sistemin ne kadar işi taşıyabildiğini ele alır. Gecikme bütçesi ise aynı işin kullanıcıya ne zaman ulaştığını gösterir. Üretim sisteminde bu iki ölçümü ayrı tutup birlikte değerlendirmek gerekir.

Bu sayfanın QR kodu