한 개발자가 온디바이스(on-device) 환경에서 실시간 음성 잡음 제거를 위한 고성능 C 라이브러리 'faster-enhancer.c'를 공개해 주목받고 있습니다. 이 라이브러리는 48 kHz 스트리밍 음성 향상 모델인 FastEnhancer-Medium의 런타임을 순수 C 언어로 재구현한 것으로, 기존 ONNX Runtime 대비 3배 이상 빠른 처리 속도를 자랑합니다. 특히 재학습이나 미세조정(fine-tuning) 없이 원본 모델의 가중치를 그대로 사용하면서도 탁월한 성능 최적화를 이뤄냈습니다.
'faster-enhancer.c'는 Apple M2 코어 1개에서 실시간 처리 계수(real-time factor) 0.069를 기록, 동일 환경에서 ONNX Runtime이 0.230을 기록한 것과 비교해 3.3배 빠른 성능을 보였습니다. 삼성 갤럭시 S23+(Snapdragon 8 Gen 2)에서도 0.096이라는 준수한 성능을 나타냈습니다. 이러한 속도 향상에도 불구하고 음성 품질 저하는 거의 없어, VoiceBank-DEMAND 벤치마크에서 부동소수점(fp32) 모델 대비 PESQ 점수 -0.006에 그쳐 사람이 구분하기 어려운 수준입니다. 이처럼 놀라운 최적화는 활성값 범위 재계산을 통한 양자화(quantization), Winograd F(2,3)를 적용한 합성곱(convolution) 최적화, GRU 게이트 융합을 통한 재귀(recursion) 최적화, int32 점수를 직접 처리하는 어텐션(attention) 최적화 등 여러 층위의 기법을 통해 달성되었습니다. 또한, ARM NEON/DOTPROD/I8MM, x86 AVX2/AVX-VNNI/AVX-512 등 다양한 ISA(Instruction Set Architecture)에 최적화된 int8 GEMM 커널을 직접 작성하여 하드웨어 활용도를 극대화했습니다.
이 라이브러리는 외부 의존성이 전혀 없고, CMake와 Make로 빌드되며 정적 라이브러리 크기가 162 KiB에 불과합니다. 공개 API는 단 4개의 함수(fe_init / fe_run / fe_reset / fe_free)로 구성되어 있어 개발자들이 쉽게 통합할 수 있습니다. 이러한 특성 덕분에 'faster-enhancer.c'는 스마트폰, 태블릿, IoT 기기 등 컴퓨팅 자원이 제한적인 엣지 디바이스에서 고품질의 실시간 음성 잡음 제거 기능을 구현하는 데 핵심적인 역할을 할 것으로 기대됩니다. 화상 회의, 음성 비서, 라이브 스트리밍 등 다양한 애플리케이션에서 사용자 경험을 크게 향상시킬 잠재력을 가지고 있으며, 개발자들에게는 효율적인 온디바이스 AI 솔루션 구축을 위한 강력한 도구가 될 것입니다.