Rust로 구현된 Voxtral Mini 4B, 브라우저에서 실시간 음성 인식 가능!

by DD
3개월 전
조회수 32

Rust로 구현된 Voxtral Mini 4B 모델이 브라우저에서 실행되어 실시간 음성 인식을 제공한다.

WASM + WebGPU를 활용하여 클라이언트 측에서 2.5GB의 GGUF 모델을 구동하며, GPU 가속을 지원한다.

성능 및 메모리 제약으로 인해 실시간성에 대한 논쟁이 있으며, Whisper.wasm과의 비교가 이루어진다.

정확도 문제브라우저 호환성 문제가 제기되었으며, CUDA 구현스트리밍 지원에 대한 논의가 진행된다.

브라우저 환경에서의 성능 및 메모리 제약

Voxtral Mini 4B 모델을 브라우저에서 실행하기 위해 2GB 할당 제한(Allocation Limit), 4GB 주소 공간(Address Space), 1.5GiB 임베딩 테이블(Embedding Table) 등 여러 제약 사항을 해결했다. 특히, Q4 GGUF 양자화(Quantization)를 통해 모델 크기를 2.5GB로 줄여 브라우저 환경에서 실행 가능하도록 최적화했다. 하지만, M4 Max 환경에서도 실시간에 가까운 성능을 보이지 못한다는 의견이 존재한다.

WASM 및 WebGPU를 활용한 GPU 가속

본 프로젝트는 WASM(WebAssembly)WebGPU를 사용하여 브라우저 내에서 GPU 가속(GPU Acceleration)을 구현했다. Burn ML 프레임워크를 기반으로 하며, WGSL 셰이더(Shader)를 통해 Q4 매트릭스 곱셈(Matrix Multiplication)을 최적화했다. 또한, ShardedCursor를 사용하여 여러 Vec 버퍼(Buffer)에서 데이터를 읽어 메모리 사용량을 효율적으로 관리한다. 하지만, WebGPU256 워크그룹 제한(Workgroup Limit)으로 인해 추가적인 최적화가 필요하다.

Whisper.wasm과의 비교 및 정확도 논쟁

커뮤니티에서는 Whisper.wasm과 비교하여 Voxtral Mini 4B의 정확도에 대한 논의가 이루어졌다. 특히, 2.5GB의 작은 모델 크기는 장점이지만, 정확도 측면에서 Whisper base/small 모델에 비해 열세일 수 있다는 의견이 제기되었다. 또한, 일부 사용자는 잘못된 번역 결과(Incorrect Translation)를 경험했으며, 아랍어(Arabic)로 번역되는 문제도 발생했다.

스트리밍 지원 및 CUDA 구현에 대한 기대

일부 사용자는 실시간 스트리밍(Realtime Streaming) 지원을 요청하며, 핸디.컴퓨터(handy.computer)와의 통합 가능성을 언급했다. 또한, CUDA 구현(CUDA Implementation)을 통해 성능을 향상시키려는 시도가 진행 중이다. 하지만, 현재 구현은 클릭 후 녹음(Click-to-Record) 방식이며, Hugging Face 서버의 실시간 데모와 같은 즉각적인 응답을 제공하지 못한다는 지적이 있다.

Rust implementation of Mistral's Voxtral Mini 4B Realtime runs in your browser