با معرفی AnySpeechRecognizer و AnyDecisionModel، مدلهای باز Hugging Face امکان تشخیص صدا و تصمیمگیری سریع روی دستگاههای اپل را فراهم میکنند. این ابزارها با API آشنا و مدلهای محلی مانند Parakeet و Qwen، دقت بالا و مصرف کم ارائه میدهند.
زمینه و کاربردهای عملی
مدلهای زبان بزرگ میتوانند نوشتن، خلاصهسازی، ترجمه و فراخوانی ابزارها انجام دهند، اما بخش کوچکی از قابلیتهای یادگیری ماشین هستند. در سناریوهای واقعی مانند تماس پشتیبانی مشتری، ابتدا نیاز به تشخیص گفتار و سپس تصمیمگیری برای ارسال تماس به تیم مربوطه وجود دارد. AnySpeechRecognizer و AnyDecisionModel هر بخش را با مدل اختصاصی و سریعتر از مدلهای زبان بزرگ ارائه میدهند.
این بستهها با APIهای آشنا Swift کار میکنند و انتخاب مدل را به صورت محلی یا میزبان فراهم میکنند. توسعهدهندگان میتوانند با تغییر فقط یک خط واردات، از مدلهای اپل به مدلهای محلی سوئیچ کنند.
AnySpeechRecognizer: تشخیص صدا با انتخاب موتور
اپل در macOS 26 و iOS 26 API SpeechAnalyzer را معرفی کرد. این API شامل ماژولهایی مانند SpeechTranscriber و SpeechDetector است که فایل صوتی یا جریان بافرها را دریافت کرده و نتایج را از طریق توالیهای ناهمگام بازمیگرداند. AssetInventory مدلها را نصب میکند تا دانلود در زمان درخواست اتفاق بیفتد.
AnySpeechRecognizer این API را حفظ کرده اما موتور را انتخابپذیر میکند. واردات پیشفرض با Speech framework است. برای تغییر به مدل NVIDIA Parakeet کافی است:
let transcriber = SpeechTranscriber( model: ParakeetSpeechModel(variant: .v3), transcriptionOptions: [], reportingOptions: [.volatileResults], attributeOptions: [.audioTimeRange] )
مراحل نصب داراییها، اجرای تحلیلگر و خواندن نتایج بدون تغییر باقی میمانند.
مدلهای پشتیبانیشده
- Parakeet TDT 0.6B v3: تشخیص ۲۵ زبان اروپایی، تشخیص خودکار زبان بدون نیاز به locale.
- Parakeet Ultra: نسخه بهینهشده Moondream بر اساس v3 با دقت بیشتر.
- Parakeet Unified: نسخه انگلیسی تنها.
- Qwen3-ASR: از ۰٫۶B تا ۱٫۷B پارامتر، تشخیص ۳۰ زبان و ۲۲ گویش چینی از جمله ماندارین، کانتونیز، ژاپنی و کرهای.
Parakeetها با رانتایم Core ML اپل اجرا میشوند و برای ورودی زنده و فایل پشتیبانی کامل دارند. Qwen3-ASR روی GPU اجرا شده و برای فایلهای بلندتر مناسبتر است.
تبدیل مدلها به Core ML روی Hub
مدلهای اصلی به Core ML تبدیل و روی Hugging Face منتشر شدند:
| مدل | تبدیل Core ML | چکپوینت اصلی | مجوز |
|---|---|---|---|
| Parakeet TDT 0.6B v3 | mattt/parakeet-tdt-0.6b-v3-coreml | nvidia/parakeet-tdt-0.6b-v3 | CC BY 4.0 |
| Parakeet Ultra | mattt/parakeet-ultra-coreml | moondream/parakeet-ultra | CC BY 4.0 |
| Parakeet Unified EN 0.6B | mattt/parakeet-unified-en-0.6b-coreml | nvidia/parakeet-unified-en-0.6b | NVIDIA Open Model License |
| Qwen3-ASR 0.6B | mattt/qwen3-asr-0.6b-coreml | Qwen/Qwen3-ASR-0.6B-hf | Apache 2.0 |
| Qwen3-ASR 1.7B | mattt/qwen3-asr-1.7b-coreml | Qwen/Qwen3-ASR-1.7B-hf | Apache 2.0 |
| Streaming Sortformer 4spk v2 | mattt/diar-streaming-sortformer-4spk-v2-coreml | nvidia/diar_streaming_sortformer_4spk-v2 | CC BY 4.0 |
| Streaming Sortformer 4spk v2.1 | mattt/diar-streaming-sortformer-4spk-v2.1-coreml | nvidia/diar_streaming_sortformer_4spk-v2.1 | NVIDIA Open Model License |
هر مخزن چکسام و نسخه ثابت را ثبت کرده است. حجم دانلود: حدود ۶۰۰ مگابایت برای هر Parakeet، ۰٫۹ تا ۲٫۴ گیگابایت برای Qwen3-ASR و ۲۵۰ مگابایت برای Sortformer.
تشخیص گوینده (Speaker Diarization)
برای تشخیص ترتیب صحبت در مکالمه، AnySpeechRecognizer ماژول SpeakerDiarizer را اضافه کرده که Streaming Sortformer را روی Core ML اجرا میکند. تحلیلگر با ترکیب transcriber و diarizer کار میکند و نتایج را با زمانبندی به هر گوینده نسبت میدهد.
مدل پیشفرض Sortformer v2 است و نسخه v2.1 با دادههای بیشتر جلسات دقیقتر عمل میکند. این قابلیت فراتر از API Speech framework اپل است.
AnyDecisionModel: تصمیمگیری با احتمال و نتیجه تایپشده
در سناریوهای پشتیبانی، مدل زبان بزرگ را برای تصمیم میپرسیم اما نتایج خام احتمال را نشان نمیدهد. AnyDecisionModel این کار را با پرسشهای مستقیم و بازگشت نتیجه تایپشده انجام میدهد. مثال:
let model = MLXDecisionModel(modelID: "mlx-community/Qwen3-4B-Instruct-2507-4bit")
let session = DecisionSession(model: model, state: .text(ticket))
let urgent = try await session.probability(of: "Does this convey urgency?")
هر پرسش مستقل است و میتوان آنها را به صورت دستهای ارسال کرد.
پشتیبانی از مدلهای تصمیم
مدلهای عمومی زبان بزرگ برای تصمیمگیری آموزش ندیدهاند. AnyDecisionModel از دو رویکرد استفاده میکند:
- پروبهای احتمال تکتوکنی در مدلهای زبان بزرگ مانند Qwen3 4B.
- headهای تصمیم آموزشدیده مانند Clef-Flash 9B که در یک پاس پیشروود تمام احتمالها را بازمیگرداند.
مدل Clef-Flash با MLX backend روی دستگاه اجرا میشود و نیاز به حداقل ۱۶ گیگابایت حافظه دارد.
تنظیم و چک احتمالها
احتمالهای خام اغلب بیشمطمئن هستند. backends محلی Calibration را با دما و بایاس پشتیبانی میکنند. برای جلوگیری از تمایل به ترتیب گزینهها، rotationDebiasing فعال شود. هر نتیجه Choice و Score ارزش اطمینان بر اساس آنتروپی دارند که با دادههای خودتان چک شود.
backends موجود
- MLX و MLX decision heads: روی Apple silicon با mlx-swift-lm.
- Core AI: روی macOS 27 و iOS 27.
- llama.cpp: از GGUF مدلها.
- Jev و Ollama: backendهای میزبان یا محلی.
next-token backends حداکثر ۲۶ گزینه را قبول میکنند. decision heads محدودیت کمتری دارند.
شروع به کار و الزامات
هر دو بسته Swift 6.2 یا بالاتر و macOS 26 یا iOS 26 را نیاز دارند. Parakeet و Sortformer روی Apple silicon اجرا میشوند. بستهها با traits Swift ساخته شدهاند و بدون وابستگی شخص ثالث کار میکنند.
اضافه کردن در Package.swift:
dependencies: [ .package(url: "https://github.com/mattt/AnySpeechRecognizer", from: "0.1.0"), .package( url: "https://github.com/mattt/AnyDecisionModel", from: "0.6.0", traits: ["MLX"] ), ]
هر دو README شامل مثالهای کامل و جزئیات backends هستند. AnySpeechRecognizer ابزار خط فرمان hear را برای ارزیابی فایلها ارائه میدهد.
نتیجهگیری
AnySpeechRecognizer و AnyDecisionModel راه را برای استفاده از مدلهای باز بدون کپیبرداری از APIهای اپل هموار میکنند. توسعهدهندگان با این ابزارها میتوانند تشخیص صدا و تصمیمگیری را با سرعت، دقت و مصرف کمتری روی دستگاههای خود پیادهسازی کنند.
پرسشهای متداول
AnySpeechRecognizer چیست؟
بستهای برای پیادهسازی API SpeechAnalyzer اپل با پشتیبانی از موتورهای محلی مانند Parakeet و Qwen3-ASR.
AnyDecisionModel برای چه استفاده میشود؟
برای پرسشهای بله-خیر، چندگزینهای و امتیازدهی با بازگشت احتمال و نتیجه تایپشده.
مدلهای پشتیبانیشده در AnySpeechRecognizer کدامند؟
Parakeet TDT 0.6B v3، Parakeet Ultra و Qwen3-ASR با تشخیص گوینده.
آیا این مدلها فقط روی macOS کار میکنند؟
بله، روی macOS 26 و iOS 26 با Swift 6.2 یا بالاتر اجرا میشوند.
منبع: Hugging Face



