Triton-Kaldi 오프라인 디코더 아키텍처 설계 및 구현 계획

Source

  • Field Notes/ReturnZero/Daily Notes/Day 260. 2022-03-17.md

Summary

이 노트는 Triton-Kaldi 기반 음성 인식 파이프라인에 오프라인 디코더(Offline Decoder)를 도입하기 위한 설계 과정과 구현 계획을 기록한 개발 일지이다. 저자는 기존 온라인 처리 방식과 구분되는 오프라인 처리 흐름을 위해 ModelInstanceState 구조체를 확장하고, UtteranceTaskcorr_id를 활용한 청크 관리, 그리고 별도의 제어 쓰레드(online_pipeline_control_thread_)를 통한 배치 처리 로직을 구체화하고 있다. 주요 작업으로는 PrepareRequest의 역할 분할(온라인/오프라인 분리), ComputeTask 루프 구현, 그리고 SetLatticeCallback 설정 등 핵심 함수들의 변경 사항을 도출해냈다. 다만, tasks_last_chunks_의 용도나 콜백 설정의 정확성 등 미해결 의문점이 남아 있어 추가 검토가 필요한 상태이다.

Key Points

  • Triton-Kaldi 파이프라인에 오프라인 디코더 모드를 추가하기 위한 아키텍처 설계 진행
  • 시퀀스 단위 청크 관리를 위해 corr_idpending_chunks, full_loaded_sequences 등 새로운 상태 변수 도입
  • 온라인/오프라인 처리 분리를 위해 PrepareRequest를 대체하거나 조건부 호출하는 CreateTaskFromRequest 함수 계획
  • 배치 처리를 담당하는 별도 쓰레드(online_pipeline_control_thread_)와 ComputeTask 무한 루프 로직 설계
  • 오프라인 특징 추출(ComputeOfflineFeatures) 및 격자 콜백(SetLatticeCallback) 설정 과정에서의 기술적 의문점 도출
  • HifiGAN 논문 검토 및 Tacotron2 리뷰 등 병행 과제 언급