יום שישי, 2 באוקטובר 2026 מתעדכן אוטומטית כל שעה
→ חזרה למהדורה

Oído: זיהוי דיבור שרץ על שבב של 5 דולר ומשיג תוצאות טובות מ-Whisper tiny

צוות Lokutor פרסם בקוד פתוח את Oído, מנוע תמלול דיבור באנגלית שרץ כולו על מיקרו-בקר ESP32-S3, בלי ענן ובלי מאיץ נוירוני. במבחני LibriSpeech הוא מציג שיעור שגיאות נמוך מזה של Whisper tiny.en, שנבדק על מחשב נייד. לפי המפתחים, המדידות נעשו באמולטור, ובדיקות על לוחות פיזיים יפורסמו בימים הקרובים.

צוות Lokutor פרסם את Oído, מנוע בקוד פתוח לזיהוי דיבור. הוא מתמלל כל משפט באנגלית כשהוא רץ כולו על מיקרו-בקר ESP32-S3, שבב שהמפתחים מתארים כ"שבב של 5 דולר". אין צורך בחיבור לענן, ברשימת פקודות מוגדרת מראש או במאיץ ייעודי לרשתות נוירונים. לפי נתוני הפרויקט, המנוע משיג על מבחן ה-LibriSpeech המקובל שיעור שגיאות נמוך מזה של Whisper tiny.en, הגרסה הקטנה ביותר של מודל התמלול של OpenAI, שנבדק על מחשב נייד.

השם לקוח מהמטבחים בספרד: "¡Oído!" הוא מה שהטבחים קוראים כדי לאשר שקיבלו הזמנה, בערך "שמעתי, קיבלתי".

המספרים

בבסיס המנוע נמצא מודל Conformer-CTC Small של אנבידיה, שכווץ לדיוק של int8 (מספרים שלמים של 8 ביט) כדי להיכנס לזיכרון המצומצם של השבב. לפי המאגר, המודל תופס 14 מגה-בייט בזיכרון ה-flash. בזמן עבודה על קטע דיבור של 20 שניות הוא צורך לכל היותר 2.4 מגה-בייט מזיכרון העבודה, מתוך 8 מגה-בייט שיש ללוח.

שיעור השגיאות במילים (WER) של Oído עומד על 3.7% בקבוצת הבדיקה הנקייה של LibriSpeech ועל 8.2% בקבוצה הקשה יותר. ל-Whisper tiny.en המספרים הם 6.3% ו-15.9%, ול-Moonshine tiny הם 5.0% ו-12.1%. MultiNet7 של Espressif, יצרנית השבב, שמזהה רק רשימות פקודות קבועות, מגיע ל-8.5% ו-21.3%. לפי המפתחים, הכיווץ ל-int8 עלה בערך עשירית נקודת אחוז לכל היותר לעומת המודל המקורי בדיוק מלא.

גם ברעש יש יתרון. בבדיקה עם רעשי מכונית, מטבח וקפיטריה, מלמול של כמה דוברים והדהוד חדר, שיעור השגיאות הממוצע של Oído היה 8.4%, לעומת 12.1% ל-Whisper tiny.en. המפתחים מציינים שמלמול של ארבעה דוברים וחדרים עם הדהוד חזק הם עדיין המקרים הקשים.

הסתייגויות חשובות

יש כמה נקודות שכדאי לשים לב אליהן. הראשונה: הביצועים נמדדו עד עכשיו באמולטור QEMU של Espressif ולא על שבב אמיתי. המהירות הוערכה לפי ספירת פקודות מדויקת, והמפתחים כותבים במפורש שמדידות על לוחות פיזיים יתווספו בימים הקרובים. ההערכה היא שהמנוע יעבד שנייה של אודיו ב-0.7 עד 0.95 שניות, כלומר קצת מהר יותר מזמן אמת. השהיה לפקודה של 2 עד 4 שניות היא כשלוש שניות. השנייה: מודלי ההשוואה שרצו על מחשב נייד נבדקו על 500 משפטים מכל קבוצה, ואילו Oído נבדק על קבוצות הבדיקה המלאות. השלישית: המנוע תומך כרגע באנגלית בלבד.

המפתחים גם לא טוענים לראשוניות. הם מציינים ש-Arm כבר הציגה מודלי Conformer שמזהים אוצר מילים פתוח על מעבדי Cortex-M55 עם מאיץ NPU. לטענתם, זו התוצאה המדויקת ביותר ב-LibriSpeech שפורסמה למיקרו-בקר כלשהו.

למה זה חשוב

רוב העבודה ההנדסית הושקעה במנוע חדש שנכתב ב-C במיוחד ליחידת הווקטורים של ה-ESP32-S3. הוא מבצע 16 פעולות כפל-וצבירה בפקודה אחת, מחלק את העבודה בין שתי הליבות ומארגן את החישוב כך שכל משקל נקרא מה-flash פעם אחת בלבד לכל 64 פריימים של אודיו.

המשמעות האפשרית היא שתמלול חופשי, שעד היום דרש שרת או לפחות מעבד חזק, יוכל לרוץ על רכיבים זולים ונפוצים. המשמעות המעשית עשויה להיות מכשירים קוליים שלא שולחים הקלטות לענן, עובדים בלי אינטרנט ומוגבלים פחות לרשימה סגורה של פקודות. זה נוגע לפרטיות ולעלות, ומתאים לתחום ה-edge-ML: הרצת מודלים על המכשיר עצמו. עם זאת, ההכרעה תגיע רק כשיתפרסמו המדידות על חומרה אמיתית.

הקוד פתוח לכולם. המודל זמין ב-Hugging Face, ואפשר לנסות על מחשב נייד סימולציה שמשחזרת במדויק את החישוב של השבב, דרך המיקרופון של המחשב. גרסה מדויקת יותר, מבוססת Transducer, מגיעה ל-3.0% ו-6.7%. המשקלים שלה שייכים לאנבידיה ולכן לא נכללו בפרויקט, אבל אפשר להוריד ולהמיר אותם באופן עצמאי.

💬 יש לכם הערה על הכתבה?
פרסומת

→ לכל הכתבות