AnySpeechRecognizer 및 AnyDecisionModel: Apple 플랫폼을 위한 음성 및 의사결정 오픈 모델
개요
AnySpeechRecognizer와 AnyDecisionModel은 개발자가 Apple 플랫폼 애플리케이션에 음성 인식 및 의사결정 기능을 통합할 수 있도록 일관되고 모듈화된 API를 제공하기 위해 설계된 새로운 Swift 패키지입니다. 이 도구들을 사용하면 개발자는 NVIDIA의 Parakeet, Alibaba의 Qwen3-ASR, Cloudflare의 Clef와 같은 다양한 로컬 및 호스팅 모델 백엔드 간에 전환하면서도 통합된 코드베이스를 유지할 수 있습니다.
AnySpeechRecognizer
AnySpeechRecognizer는 개발자가 익숙한 SpeechAnalyzer API를 유지하면서 대체 엔진을 연결할 수 있도록 하여 Apple의 기본 음성 인식(speech-to-text) 프레임워크를 확장합니다. 이 패키지는 Core ML을 통한 로컬 실행을 지원하며, 전사(transcription) 및 화자 분리(speaker diarization)를 위한 특화된 모듈을 포함합니다.
지원 엔진 및 모델
- Parakeet 시리즈: Parakeet v3(다국어), Parakeet Ultra(Moondream 최적화), Parakeet Unified(영어 전용)를 포함합니다. 이 모델들은 실시간 입력을 지원하며 단어 단위의 타이밍 및 신뢰도 점수를 제공합니다.
- Qwen3-ASR: 0.6B 및 1.7B 파라미터 크기로 제공되며, 30개 언어와 22개 중국어 방언을 지원합니다. 실시간 스트리밍보다는 파일 기반 전사에 최적화되어 있습니다.
- 화자 분리(Speaker Diarization): 이 패키지는 NVIDIA의 Streaming Sortformer를 사용하는
SpeakerDiarizer모듈을 도입하여 최대 4명의 화자를 동시에 추적할 수 있으며, 이는 Apple의 기본 Speech 프레임워크의 공백을 메워줍니다.
기술적 구현
모델은 Core ML로 변환되어 Hugging Face Hub에 호스팅되며, 패키지는 일관성을 보장하기 위해 특정 리비전을 고정합니다. 이 패키지에는 개발자가 전사 정확도를 테스트하고 자신의 하드웨어에서 성능을 평가할 수 있는 명령줄 도구인 hear가 포함되어 있습니다. M4 Max Mac Studio에서의 성능 벤치마크에 따르면, Parakeet 모델은 깨끗한 테스트 데이터에서 1.43% 수준의 낮은 단어 오류율(WER)을 달성할 수 있습니다.
AnyDecisionModel
AnyDecisionModel은 언어 모델이 생성한 자유 형식의 텍스트를 파싱하는 기존 방식에서 벗어나, 의사결정 작업을 위한 구조화되고 타입 안전(type-safe)한 접근 방식을 제공합니다. 이 모델은 개별 선택지, 예/아니오 질문, 평점 척도에 대한 확률을 반환하도록 설계되었습니다.
기능 및 백엔드
- 확률적 출력: 텍스트 생성 대신, 모델은 확률 및 신뢰도 점수가 포함된 타입화된 결과를 반환하므로 프로그래밍 로직에 적합합니다.
- 백엔드 유연성: 이 패키지는 MLX(로컬 Apple 실리콘 실행용), Core AI, llama.cpp, Jev, Ollama 등 다양한 백엔드를 지원합니다.
- 의사결정 헤드(Decision Heads): 고급 사용 사례를 위해 Cloudflare의 Clef-Flash와 같이 단일 순방향 패스(forward pass)로 복잡한 스키마를 처리할 수 있는 전용 의사결정 헤드가 있는 모델을 지원합니다.
- 편향 제거(Debiasing): 모델이 목록 위치에 따라 특정 옵션을 선호하는 일반적인 문제를 완화하기 위해, 이 패키지는 옵션의 여러 순열에 걸쳐 확률을 평균화하는
rotationDebiasing을 포함합니다.
예제 애플리케이션: Emoji Magnet
AnyDecisionModel의 유용성을 입증하기 위해 개발자들은 사용자가 제공한 자연어 설명을 기반으로 이모지를 동적으로 필터링하는 macOS 애플리케이션인 "Emoji Magnet"을 제작했습니다. 이 앱은 모델을 사용하여 실시간으로 수백 개의 이모지 후보를 평가하며, 외부 키워드 규칙에 의존하지 않고도 로컬 추론이 어떻게 복잡한 분류 작업을 처리할 수 있는지 보여줍니다.
요구 사항 및 시작하기
두 패키지 모두 Swift 6.2 이상과 macOS 26 또는 iOS 26 이상이 필요합니다. Parakeet, Sortformer 및 MLX 기반 의사결정 모델의 로컬 실행에는 Apple 실리콘이 필요합니다. 개발자는 Package.swift 파일에 종속성을 추가하여 이러한 도구를 통합할 수 있으며, MLX 또는 Llama와 같은 로컬 추론 백엔드를 활성화하기 위한 특정 트레이트를 사용할 수 있습니다.