כרטיס כותרת שנוצר, שכותרתו 'MiniCPM-V-4.7-1B-DSpark', עם כותרת משנה 'מודל טיוטה בנפח 213M עבור מודל ראייה ברמת טלפון', שלושה צ'יפים סטטיסטיים עם הכיתוב 'פרמטרי טיוטה: 213,547,777', 'אסימונים במעבר: 15' ו'רישיון: Apache-2.0', כותרת תחתונה עם הכיתוב 'נשלח בשקט; הנתונים כפי שפורסמו בכרטיס המודל.', והלוגו האמיתי של OrcaRouter על רצועה לבנה בפינה הימנית התחתונה.
Engineering & Research

MiniCPM-V-4.7-1B-DSpark: מודל טיוטה של 213M שוחרר ללא הכרזה

מחבר

Alistair Wren

תאריך פרסום

מודלים אחרונים · 20צפו בכל המודלים →
בנצ'מרקים: Artificial Analysis · מתעדכן יומית
חזרה לכל הפוסטים

MiniCPM-V-4.7-1B-DSpark הוא צ'קפוינט בעל 213,547,777 פרמטרים שאינו מסוגל לענות על שאלה. הוא אינו קורא תמונות, אינו מקיים שיחה, וכשהוא מוגש לבדו הוא לא מפיק שום דבר ששווה לקרוא. כל תפקידו הוא לשבת לפני מודל אחד — MiniCPM-V-4.7-1B — ולנחש את חמישה-עשר הטוקנים הבאים, כך שמודל חזותי-לשוני קטן בדרגת טלפון יוכל לאמת בלוק מהם במעבר קדימה יחיד במקום לייצר אותם אחד בכל פעם.

גודל הקובץ הוא 0.85 GB תחת Apache-2.0, והוא הופיע ב-Hugging Face בשעה 04:26 UTC ב-8 באוקטובר 2026, באותה אצווה כמו הטיוטה עבור האח הגדול יותר 35B-A3B. ארבעה ימים לאחר מכן, כרטיס האב עדיין מתייחס אליו כאל הערת שוליים: הטיוטה מופיעה פעם אחת, כשורה בטבלת המשקלים ומאחורי מתג מכווץ "פענוח ספקולטיבי (DSpark)". אין פוסט בבלוג של OpenBMB עבורו, אין דוח טכני, ואין ערך בתיעוד של GitHub של הפרויקט עצמו.

השקט הזה הוא החלק המעניין, בגלל מה שהקובץ המסוים הזה מאפשר. זהו הארטיפקט הראשון במשפחת MiniCPM-V 4.7 שטענתו המרכזית — שמודל ראייה של 1B פועל באופן סביר בטלפון — יכולה להיבדק על ידי מישהו מחוץ ל-OpenBMB. כל מה שלמטה מחזיק שני ערימות נפרדות: מה שהוא קובץ בדיסק שאפשר לפתוח, ומה שהוא מספר שהיצרן הדפיס לצידו.

מה נמצא בפועל במאגר

ארבעה קבצים. זה כל הסיפור: .gitattributes, README.md, config.json, וקובץ model.safetensors בודד המכיל 854,204,052 בתים של משקולות BF16. אין טוקנייזר במאגר, כי אין צורך באחד — הטיוטה שואלת את זה של היעד, ואוצר המילים שבקונפיג שלה הוא בדיוק 248,094 הטוקנים של ההורה. מטייט שהטוקנים שלו לא ממופים אחד-לאחד לאלה של היעד לא יכול להציע דבר שהיעד יקבל, ולכן שיתוף אוצר המילים הוא דרישה ולא נוחות.

The Hub API מתעד שהמאגר נוצר ב-2026-10-08T04:26:19Z ושונה לאחרונה ב-2026-10-12T14:29:57Z, מתויג עבור אנגלית וסינית, ברישיון Apache-2.0, עם שלושה לייקים והורדה אחת בזמן כתיבת שורות אלו. המספר האחרון הוא זה שצריך להחזיק בו. הורדה אחת, ארבעה ימים אחרי, על קובץ קטן מספיק כדי להוריד אותו דרך חיבור טלפוני.

שדה הארכיטקטורה מציג Qwen3DSparkModel עם model_type של qwen3, וזה קוהרנטי ולא מוזר: עמוד השדרה הלשוני של MiniCPM-V 4.7 נובע מהסדרה של Qwen3, כך שסטב בן חמש שכבות שנחתך מאותה משפחה הוא מה שהיית מצפה לו. מה שאינו העתק קטן יותר של המודל האב הוא האופן שבו הסטב מדבר איתו. התצורה מציידת dflash_config עם projector_type: "dspark", enable_confidence_head: true, confidence_head_alpha: 1.0, confidence_head_with_markov: true, markov_head_type: "vanilla" ו markov_rank: 256. ראש הביטחון הזה הוא החלק שנלקח משיטת DSpark: זהו המנגנון להערכת כמה מבלוק מוצע שווה לאמת, וזו כל הסיבה שתצורת ההגשה חושפת מתג לכיבוי אימות אדפטיבי.

המפרט, ומדוע כל מספר נמצא שם

מצד הטיוטה, מהכרטיס ומהתצורה, ששניהם מסכימים:

• פרמטרי טיוטה — 213,547,777, כולם BF16, בקובץ צ׳קפוינט יחיד של 0.85 GB

עומק הטיוטה — 5 שכבות, כולן בקשב מלא, גודל נסתר 1,024, גודל ביניים 3,584, הפעלת SiLU

• גאומטריית קשב — 8 ראשי שאילתה מול 2 ראשי מפתח/ערך, ממד ראש 256, קשב שאילתות מקובץ

• אסימונים לכל מעבר קדימה — 15, נשמרים בקונפיגורציה בתור block_size: 15

• טווח מיקום — RoPE theta 10,000,000 עם הטמעה סיבובית בת 256 ממדים, וmax_position_embeddings מוגדר ל-262,144, בהתאמה לחלון 256K של האב

• שכבות Tap — [3, 7, 11, 15, 19], מתוך 24 של ההורה (num_target_layers: 24)

• אוצר מילים — 248,094, מקושר לטוקנייזר של היעד, עם טוקן מסכה ייעודי ב-248,076 עבור שלב הטיוטה החצי-אוטורגרסיבי

שתיים מהשורות הללו שוות יותר ממבט חטוף. הראשונה היא שכבות הטאפ. הטיוטה אינה קוראת את השכבה הסופית של האב; היא קוראת מצבים חבויים מחמש שכבות הפזורות לאורך עומקו של האב ומקרינה אותם דרך dspark מקרן. מצבי אמצע הרשת זולים יותר ליישור אליהם ועדיין נושאים מידע שהשכבה האחרונה כבר כיווצה לתוך לוגיטים של הטוקן הבא. השנייה היא ממד הראש של 256 מול גודל חבוי של 1,024. זהו ראש רחב במכוון על מודל צר, והתצורה מפעילה tie_word_embeddings: false — מטריצת ההטמעה נשמרת בנפרד ולא משותפת עם הקרנת הפלט, כך שמניין הפרמטרים כולל את שתיהן.

בשורה התחתונה, מדובר במודל מנסח שגודלו כחמישית מגודלו של מודל היעד, ובצורה שונה לחלוטין. לשם השוואה, הטיוטה של האח 35B-A3B היא 389,223,169 פרמטרים שמשתמשים בשכבות [3, 11, 19, 27, 35] מתוך 40. שתי טיוטות, אחת לכל יעד, מכיוון שטיוטה תקפה רק עבור אוצר המילים והייצוג הביניים שמולם היא אומנה.

A generated single-column scoreboard titled 'MiniCPM-V-4.7-1B-DSpark — the scoreboard'. Six rows read: 'Draft parameters: 213,547,777'; 'Tokens per forward pass: 15'; 'Paired target: MiniCPM-V-4.7-1B'; 'Acceptance, code: 5.347'; 'Acceptance, MMMU: 3.452'; 'Acceptance, general text: 3.370'. A footer reads 'Acceptance lengths as published by OpenBMB on the DSpark model card; not independently reproduced.' The real OrcaRouter logo sits on a white strip at the bottom right.

טבלת הקבלה היא כרטיס דגם, לא מדידה

הנה כל הנתונים המספריים ש-OpenBMB פרסמה על ביצועי הצמד הזה, מבוטאים כאסימונים מתקבלים לכל שלב אימות, נמדדים עם סיום EOS טבעי ועם max_new_tokens=8192:

• ראייה, MMMU — 3.452 אסימונים שהתקבלו לכל צעד

• ראייה, MathVista — 4.333

• ראייה, חשיבה ב-CharXiv (אימות) — 4.452

• ראייה, OCRBench — 4.752

• טקסט, מתמטיקה — 5.891

• טקסט, קוד — 5.347

• טקסט, כללי — 3.370

הטווח נע מ־5.891 עד 3.370, גורם של בערך 1.75 בין הקטגוריה הקלה ביותר לקשה ביותר. סדר זה אינו מפתיע באופן שאומר לך משהו על המספרים: מתמטיקה היא המשטח הסדיר ביותר שמודל שפה מייצר, טקסט כללי הוא הפחות סדיר, ושיעור ההצלחה של מנסח עוקב אחרי מידת החיזוי של פלט היעד ולא אחרי איכותו.

שלוש הסתייגויות צריכות להופיע בטבלה ההיא, והכרטיס אינו מוסר אף אחת מהן מיוזמתו.

זה דיווח עצמי, ויש בדיוק הורדה אחת עבור המאגר. אף אחד מחוץ ל-OpenBMB לא הפיק מספר קבלה עבור הצ׳קפוינט הזה שמישהו אחר יכול להסתכל עליו. הנתונים הם של הספק, כפי שנמדדו בהרנס של הספק, על מערך המשימות של הספק.

אורך הקבלה הוא תכונה של הזוג, לא של המודל. מודל יעד שחוזר על עצמו מעניק למודל הטיוטה שלו ניצחון קל, לכן מספר גבוה יותר כאן אינו ראיה ש-MiniCPM-V 4.7-1B טוב במשהו. הוא מעיד על מידת הצפיות של הפלט שלו, וזו שאלה אחרת עם תשובה אחרת.

וזה לא האצה. מציע טיוטה שמציע 15 טוקנים ומקבל אימות ל-3.4 מהם עדיין מקדם כמה טוקנים בכל מעבר קדימה של היעד, אבל אימות של בלוק בן 15 טוקנים עולה יותר מיצירת טוקן אחד, וכל הצעה שנדחית משלמים עליה והיא נזרקת. המרת אורך קבלה לנתון של זמן שעון דורשת את עלות האימות, גודל האצווה והחומרה, שאף אחד מהם הכרטיס לא מספק. מתכון ההגשה היחיד שהוא כן מספק מגדיר --max-num-seqs 1, וזו תצורה שמכווננת לעבוד ולא כזו שמכווננת להיות מהירה.

כשקוראים את הטבלה בהשוואה לאחותה, היא נעשית שימושית יותר. מודל הטיוטה 35B-A3B רושם 7.387 בקוד ו-5.098 ב-MMMU; מודל הטיוטה 1B הזה רושם 5.347 ו-3.452. מודלי יעד קטנים יותר עם מודלי טיוטה קטנים יותר מקבלים באופן ניכר פחות טוקנים בכל צעד, וזהו בדיוק סוג הפרט חוצה-המשפחות שכרטיס בודד לא יכול להראות, בעוד ששני כרטיסים יכולים.

אימון, והפרט שמסביר את כל העיצוב

המתכון בן ארבע שורות: שני מיליון רצפי אימון, שישה אפוקים, AdamW, ופונקציית מטרה משולבת של אנטרופיה צולבת, איבר L1 ואובדן ביטחון. השורה שחשובה היא זו שעוסקת במקור שממנו הגיעו נתוני האימון — התגובות נוצרו על ידי MiniCPM-V-4.7-1B עצמו, משילוב של פרומפטים חזותיים וטקסטואליים.

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

המאמר של השיטה עצמה, arXiv 2607.05147, אינו של OpenBMB. זהו מאמר בן 33 מחברים שהוגש ב-6 ביולי 2026, המתאר את DSpark כמסגרת פענוח ספקולטיבי שמחברת עמוד שדרה מקביל עם מודול סדרתי קל-משקל וקובעת את אורך האימות מתוך הסתברויות הישרדות-תחילית משוערות. הוא מדווח על פריסה בתוך מערכת שירות של DeepSeek-V4, משתמש בבסיס ייצור בשם MTP-1, וטוען לייצור מהיר ב-60 עד 85 אחוזים למשתמש בתפוקה תואמת. הטענות האלה שייכות למאמר ולפריסה ההיא. שום דבר שפורסם אינו מקשר ביניהן לבין טיוטה בת חמש שכבות ובגודל 213M על מודל ראייה של 1B, וטבלת הקבלה שלעיל היא הגשר היחיד שמישהו הציע.

למה הקובץ הזה חשוב יותר ממה שהגודל שלו מרמז

הטענה המרכזית במשפחת MiniCPM-V 4.7 היא טענת עיבוד על־מכשיר. כרטיס ה-1B מגיע עם תרשים ביצועים מול זמן הסקה, תרשים ביצועים כולל עבור גרסת ה-instruct של 1B, הקלטת מסך שלא נערכה שצולמה ב-iPhone 17 Pro Max, ומשפט איכותני שלפיו גרסת ה-1B עולה באופן מהותי על Qwen3.5 0.8B הן בציון הכולל והן ביעילות ההסקה. הוא גם מפרט משפחת קוונטיזציה — int4, AWQ, GPTQ, GGUF, בתוספת תמיכה ב-FP8 — ויעדי חומרה ליום-0 הכוללים את iOS, Android, HarmonyOS, Rockchip, Houmo, Intel, AMD ו-Arm.

כל אחד מאלה הוא טענת ספק בלי שום מספר חיצוני שמצורף אליה, ואחד מהם גם מרושל מבפנים: טקסט הכרטיס מכנה אותו מודל 1B בעוד שסרגל הצד של Hub מדווח על גודל מודל של 2B פרמטרים. הצ'קפוינט של DSpark שונה במהותו מכל זה. הוא 0.85 GB, ברישיון Apache-2.0, והוא מגיע עם פקודת הגשה — מה שאומר שגורם חיצוני עם GPU צרכני יכול להריץ אותו השבוע ולהפיק את הנתון החיצוני הנמדד הראשון של המשפחה. לא ציון בנצ'מרק, אלא משהו שכמעט שימושי באותה מידה: אורך קבלה משוחזר.

אם מישהו משיג 3.45 ב-MMMU ו-3.37 בטקסט כללי, הכרטיס אמין ולסיפור על־המכשיר יש את נקודת הנתונים החיצונית הראשונה שלו. אם שיעור הקבלה נמוך באופן מהותי, הטבלה נמדדה בתנאים שהמתכון המפורסם אינו משחזר, וגרף הביצועים לזמן ההסקה יורש את הספק הזה. כל אחת מהתוצאות שווה יותר מעוד גרף של ספק, וזה החלק היחיד במשפחה שבו השגת אחת היא זולה.

להריץ את זה, ומה זה עולה לנסות

הכרטיס מספק מתכון אחד והוא קריאה של vllm serve, לא הצהרה בעלמא. הוא טוען את היעד openbmb/MiniCPM-V-4.7-1B, מגיש אותו תחת השם MiniCPM-V-4.7-1B, מגדיר --max-model-len 40960 וגם --max-num-batched-tokens 40960, מקבע --attention-backend FLASH_ATTN וגם --mm-encoder-attn-backend FLASH_ATTN, מעביר ארגומנט מעבד מולטימודלי של {"downsample_mode": "4x"}, סומך על kwargs מולטימודליים לכל בקשה, ומכוון תצורת ספקולציה אל ה-checkpoint של DSpark עם "method": "dspark", "num_speculative_tokens": 15 ואימות אדפטיבי כבוי. ארגומנטי ברירת המחדל של תבנית הצ'אט משאירים את החשיבה מושבתת.

שני פרטים בשורה הזו ראויים לקריאה שנייה. --max-num-seqs 1 פירושו שההגדרה שפורסמה מגישה רצף אחד בכל פעם, כך שהמתכון מתאר תצורת השהיה של זרם בודד, ולא תצורת תפוקה. ומצב הדגימה החזותית 4x הוא הזול מבין השניים שהכרטיס האם מפרסם — אותו כרטיס מציע סכמה משולבת של 4x/16x שמחליפה פירוט במהירות, והמתכון בוחר בצד של אותה החלפה שמעדיף מהירות.

מעטפת החומרה היא ההיפך מהשיווק של המשפחה. יעד ה-1B הוא בערך 2 GB ב-BF16 בתוספת מטמון KV, והטיוטה מוסיפה 0.85 GB על גבי זה, כך שמדובר במשימה של GPU בודד — כרטיס צרכני, או תחנת עבודה עם מספיק זיכרון מאוחד — ולא במשימה לטלפון. המסלול על-מכשיר בתיעוד של מודל האב עובר דרך בניות מכומתות ומסגרות שאינן במתכון הזה, וצ'קפוינט DSpark כפי שפורסם הוא ארטיפקט בצד השרת ב-BF16.

זה מותיר פער שרוב הצוותים ייתקלו בו: הגרסה המעניינת של MiniCPM-V 4.7-1B היא זו שעל המכשיר, והגרסה שאפשר להריץ היום בלי להחזיק את שרשרת הכלים של הטלפון היא גרסה בצד השרת. אם מה שאתם באמת צריכים הוא הסקה מולטימודלית קטנה עכשיו, המקבילה המתארחת הקרובה ביותר היא מודל אחר — Qwen3 VL 8B Instruct נמצא ב-OrcaRouter במחיר $0.18 למיליון טוקני קלט ו-$0.70 למיליון פלט, עם חלון הקשר של 128K וקלט טקסט, תמונה ווידאו, בלי משקולות מקומיות ובלי מתכון הגשה שצריך לשמור עליו פעיל. MiniCPM-V 4.7 אינו מודל מתארח ב-OrcaRouter והמאמר הזה לא יעמיד פנים אחרת; הניסוח הכנה הוא שאלה שתי דרכים לבצע משימה אחת, ורק אחת מהן ניתנת למדידה מהקטלוג אחר הצהריים.

המקום שבו משהו כמו DSpark מצדיק את קיומו הוא המקרה של מודל לא מוכח, וזו שאלת ניתוב ולא שאלת מודל. מודל טיוטה שאיש לא הצליח לשחזר הוא בדיוק סוג הרכיב שרוצים מאחורי נקודת קצה שאפשר לסגת ממנה. הרצת 200+ מודלים מאחורי מפתח אחד, מחירי מחירון של ספקים מועברים הלאה עם 0% תוספת, עם מעבר אוטומטי לגיבוי כאשר נתיב מידרדר, פירושה שניסוי הגשה שמשתבש עולה לך בניסיון חוזר ולא בהשבתה — ומכיוון שאין תוספת מחיר על דבר, שינוי מחיר של ספק במודל כלשהו בקטלוג נכנס לתוקף באותו יום ולא במחזור החיוב הבא.

A headless capture of the OrcaRouter model page for qwen/qwen3-vl-8b-instruct, taken October 13, 2026. The breadcrumb reads Home / Models / Qwen / Qwen3 VL 8B Instruct above the heading 'Qwen3 VL 8B Instruct', with the description 'Qwen3-VL 8B Instruct — open-weight small vision-language model, 8B params, 128k context, no thinking mode.' Spec lines read $0.18 per million input tokens, $0.70 per million output tokens, a 128k context window, input of text, image and video, and text output.

מה יהפוך את זה לניתן לבדיקה?

חסרים שלושה דברים, ורק אחד מהם דורש את OpenBMB.

הספק לא הודיע דבר. במאגר יש כרטיס מודל, רישיון ומתכון אימון, אבל אין פוסט בבלוג, אין דוח טכני, ואין שורה בתיעוד ה-GitHub של הפרויקט — שנכון לשבוע הראשון של המשפחה, עדיין תיאר את הדור הקודם כדור הנוכחי. ארבעה ימים לאחר שהצ'קפוינט נחת, כרטיס המודל האב 1B מקשר אליו כשורה בטבלה ולא יותר מכך.

איש לא שִׁחזר את נתוני הקבלה, ומספר ההורדות הוא אחד. זהו הפער הזול ביותר לסגור והחשוב ביותר, מפני שזהו המקום היחיד שבו מדידה חיצונית תזיז באופן משמעותי את סיפור המשפחה.

ושאלת האיכות נותרת לחלוטין ללא התייחסות. אין שום ציון MMMU, אין תוצאה של OCRBench, אין נתון של הבנת מסמכים ואין נתון גראונדינג עבור MiniCPM-V 4.7-1B בשום מקום בגרסה שפורסמה — טבלת ה-acceptance היא טבלה העוסקת בדקודינג, ולקרוא אורך acceptance גבוה כאות לאיכות הוא בדיוק הטעות שאליה המספרים האלה מזמינים.

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

A headless capture of the Hugging Face repository page for openbmb/MiniCPM-V-4.7-1B-DSpark, taken October 13, 2026. The header shows the model name under the openbmb organisation, the text-generation pipeline tag, and chips for Transformers, Safetensors, arxiv:2607.05147 and License: apache-2.0, with Model card / Files x4 / Community tabs. The README heading reads 'MiniCPM-V-4.7-1B-DSpark' above a DSpark specification table whose rows read Target model: MiniCPM-V-4.7-1B; Draft layers: 5; Draft parameters: 213,547,777; Draft tokens per forward pass: 15; Target hidden-state layers: [3, 7, 11, 15, 19]; Checkpoint precision: BF16.