
마이크로컨트롤러에서 13M ASR Conformer 실행하기
요약
1,310만 개의 파라미터를 가진 Conformer 모델을 ESP32-S3 마이크로컨트롤러에서 실행하기 위해 증류 및 양자화 기술을 적용한 프로젝트입니다. 모델 크기를 14MB 플래시 메모리 수준으로 줄여 저가형 하드웨어에서도 오디오 전사가 가능하도록 최적화했습니다.
핵심 포인트
- NVIDIA Conformer 모델을 증류 및 양자화하여 ESP32-S3에 최적화
- 양자화를 통해 14MB 플래시 메모리 및 제한된 SRAM/PSRAM 내 구동 성공
- Whisper Tiny 대비 현저히 빠른 추론 속도 확보
- 최적화 과정에서 WER(단어 오류율)이 약 3% 증가함
- 저가형 하드웨어에서의 모델 효율성 및 접근성 강조
안녕하세요 여러분, 최근 진행한 제 프로젝트를 공유하고자 합니다. 이 프로젝트는 1,310만 개의 파라미터를 가진 Convolution Transformer 모델을 10달러 미만의 마이크로컨트롤러(더 구체적으로는 ESP32-S3)로 가져온 것입니다. 이는 Hugging Face에 있는 NVIDIA의 작은 Conformer 모델을 증류(Distillation) 및 양자화(Quantization)한 버전입니다. 양자화 덕분에 이 모델은 이제 14MB의 플래시 메모리(Flash memory)에 들어갈 수 있으며, 8초 분량의 오디오를 전사(Transcribe)하기 위해 256KB의 SRAM과 4MB의 PSRAM을 사용합니다. 속도는 여전히 고통스러울 정도로 느립니다. 하지만 5초 분량의 오디오를 전사하는 데 추론(Inference) 시간이 10분이나 걸렸던 저의 초기 시도와 비교하면 번개처럼 빠릅니다. Whisper Tiny 모델도 시도해 보았지만, 그 모델은 5초 오디오에 50분 이상이 걸렸기 때문에 더 이상 최적화하려고 애쓰지 않았습니다. 이 마이크로컨트롤러는 8비트 연산을 위한 하드웨어 가속(Hardware acceleration)을 갖추고 있어, 이 플랫폼에서의 머신러닝(ML)이 모든 면에서 끔찍한 것은 아닙니다. 증류 및 양자화 과정으로 인해 Hugging Face ASR 벤치마크 데이터셋 전반에서 단어 오류율(Word Error Rate, WER)이 약 3% 증가했습니다 (전체 평가 결과는 GitHub의 readme를 참조하세요). 수조 개의 모델 파라미터를 희생하면서 특정 벤치마크의 1위 자리를 차지하는 것에 열을 올리기보다, LLM 효율성에 대한 연구가 더 많아지기를 바랍니다. 모델을 저렴한 하드웨어에서 구동할 수 있게 만드는 것이 이 취미를 계속 접근 가능하게 유지해 줍니다. submitted by /u/wunschpunsch3D [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기