엔지니어링 2026년 4월 8일

ONNX에서 전환한 이유 GGUF

더 작은 설치 크기, 빠른 콜드 스타트, 더 이상 플랫폼별 런타임 휠과의 충돌 없음. 이 전환 뒤에 있는 엔지니어링 이야기입니다.

Voice Pro의 초기 버전들은 공식적으로 제공되는 Qwen ASR ONNX 형식을 사용하여 ONNX Runtime을 활용했습니다. 이 방식도 작동은 했지만, 실제 배포하는 데에는 많은 어려움이 있었습니다. 우리가 직면했던 문제들과, 이제 앱이 어떻게 작동하게 되었는지는 다음과 같습니다. llama.cpp GGUF 양자화 모델을 사용하여.

문제 1: 설치 크기

ONNX Runtime + DirectML 제공자 + CUDA 제공자 + 모델 가중치를 포함한 Voice Pro의 Windows 빌드가 출시되었습니다. 430 MB. Linux도 비슷했습니다. 아직 사용해 보지도 않은 받아쓰기 도구를 위해 그렇게 많은 것을 다운로드하라고 요구하는 것은 과한 요구입니다.

GGUF 빌드는 Windows 기준 83 MB. 컴파일된 llama.cpp 바이너리는 매우 작으며, 양자화된 기본 모델은 약 60MB입니다(fp16 ONNX 기준 약 200MB). 또한 CPU, CUDA, DirectML, Vulkan용 별도의 실행 공급자 DLL을 배포하지 않습니다 — llama.cpp는 하나의 바이너리로 이 네 가지를 모두 처리합니다.

문제 2: 콜드 스타트

새로 설치된 Windows에서 DirectML을 사용하는 ONNX Runtime은 추론 세션을 초기화하는 데 3~5초가 걸렸습니다. 재부팅 후 사용자가 단축키를 처음 누를 때마다 이 지연이 발생했습니다. '즉시 말하기'가 핵심인 받아쓰기 도구로서는 용납할 수 없는 지연입니다.

동일한 하드웨어에서 llama.cpp는 약 400ms 만에 GGUF 모델을 콜드 스타트로 로드합니다. 메모리 매핑된 가중치, 그래프 컴파일 단계 없음, 초기화할 런타임 휠도 없습니다.

문제 3: 패키지화 문제

ONNX Runtime은 Python wheel로 제공되며, 이는 다음을 의미합니다. Python 버전, OS, CPU 아키텍처에 따라 다른 wheel 제공. GPU 가속을 추가하면 CUDA 버전과 DirectML 버전이 곱해집니다. Nuitka(당사의 패키징 도구)는 잘못된 변형을 계속 번들링했습니다. 저희는 6개의 조건 분기를 가진 빌드 스크립트를 사용했습니다.

llama.cpp는 단일 C++ 바이너리입니다. 우리는 플랫폼(Windows x64, Linux x64)별로 한 번 컴파일하여 Voice Pro가 호출하는 네이티브 실행 파일로 제공합니다. 추론에는 Python 런타임 의존성이 전혀 없습니다. Python은 단지 접착제 역할만 합니다.

문제 4: 소형 모델에서의 품질

양자화의 문제점은 정확도 저하입니다. 실제로, 당사의 기본 모델인 Qwen3-ASR 0.6B를 Q5_K_M으로 양자화한 경우, 내부 평가 세트에서 전체 fp16 ONNX 버전에 비해 WER이 0.3% 이내로 나타났습니다. Q4_0의 경우는 현저히 성능이 떨어지므로, 기본값으로는 Q5_K_M을 제공합니다. 최고의 정확도를 원하는 사용자들은 모델 관리자에서 fp16 버전을 다운로드할 수 있습니다.

우리가 포기한 것

llama.cpp의 ASR 지원은 ONNX Runtime보다 최신입니다. 일부 이색적인 모델 아키텍처에는 아직 GGUF 변환기가 없습니다. 당분간은 문제가 되지 않습니다 — Qwen3-ASR은 깨끗하게 변환됩니다 — 하지만 향후 완전히 다른 ASR 모델을 시도하려면 ONNX 경로를 폴백으로 유지해야 할 수도 있습니다.

최종 결과: 설치 크기가 5배 작아지고, 콜드 스타트가 약 10배 빨라지며, 12개가 아닌 하나의 바이너리로 빌드합니다. 처음부터 이렇게 했어야 했습니다.

다운로드 (83 MB) 모든 기능 보기

배송될 때 들어보세요.

신규 출시, 실제 벤치마크, 그리고 가끔은 심층 분석. 스팸 없음, 원클릭 구독 해지.

우리가 만드는 모든 것

Voice Pro

내 목소리를 학습하는 로컬 음성 인식. 영구 라이선스. 당사의 플래그십 제품.

유료 · 플래그십

brethof-brain

AI 에이전트를 위한 장기 기억 저장 — 전체 텍스트 + 벡터 + 그래프. 세션 시작 시 안내되며, 모든 질의 시 다시 불러오고 자동으로 아카이빙됩니다.

유료 · 무료 티어

3D 모델

인쇄 가능한 디지털 모델입니다. GLB와 OBJ가 포함되어 있습니다. 평생 접근이 가능합니다.

유료 · 디지털 카탈로그

3D 프린트

프린터 5대와 실제 인쇄 능력을 갖추고 있습니다. 아직 셀프 서비스 점은 없으니, 필요한 사항을 알려주시면 이메일로 견적을 보내드리겠습니다.

예약을 통해 · 이메일로 문의해 주세요

Nova

저희의 YouTube 채널입니다. 사이버 호랑이 진행자가 현지의 AI 도구들과 그 실제 기능들을 소개해 드립니다.

채널 · 라이브

추천 목록

AI 코딩 에이전트, MCP 서버, 로컬 AI 및 Linux를 위한 엄선된 GitHub 목록들입니다. 각 항목에는 출처 링크가 함께 제공됩니다.

무료 · 엄선된 콘텐츠

가이드

Linux, Windows, macOS에서 로컬 AI를 사용하는 방법에 대한 상세 가이드로, 설정 파일도 함께 포함되어 있습니다.

무료 · 라이브

안티-데브 티어 리스트

부정적 큐레이션: 시간을 낭비하는 관행과 도구들, 순위별로 정리됨. 영수증 제출 필요.

무료 · 라이브

Brethof AI 소개

우리는 누구인가, 왜 프라이버시를 최우선으로 하는 AI를 만드는가, 그리고 우리가 하지 않을 일은 무엇인가.

외부: YouTube · GitHub