GPT
M

MiniCPM-2B-sft-fp32

קוד פתוח

openbmbother2024-01-30

  • transformers
  • pytorch
  • text-generation
  • MiniCPM
  • ModelBest

גרסת דיוק מלא של מודל סיני קומפקטי עם 2.4 מיליארד פרמטרים. הוא מציע יכולות שיחה, קוד ומתמטיקה שאמורות להתחרות במודלים של 7 מיליארד, באריזה קטנה בהרבה.

  • 4,096טוקנים בהקשר
  • 10.2 GBמשקל הקבצים
  • 383הורדות בחודש
  • 297לייקים

מה זה

מדובר במודל שפותח בשיתוף בין חברת ModelBest למעבדת ה־NLP של אוניברסיטת צ'ינגחואה, ועבר כוונון להוראות. לפי נתוני המפתחים, במבחנים כלליים הוא מציג ביצועים שקרובים ל־Mistral-7B ואף עוקף אותו במשימות קוד, מתמטיקה ושפה סינית, לצד עדיפות על מודלים כבדים בהרבה כמו Llama2-13B או Falcon-40B.

המשמעות בפועל היא ניסיון לדחוס איכות של מודל בינוני לתוך ארכיטקטורה קלה של 40 שכבות. הגרסה הזו מגיעה בדיוק מלא של 32 ביט, מה שחריג למודל קצה שאמור לפעול על חומרה קלה, ותופס 10.2 גיגה-בייט על הדיסק במקום חצי מזה בפורמטים מכווצים יותר.

מתאים ל

  • מחקר וניתוח משקלים

    דיוק מלא של 32 ביט מאפשר לבחון את המודל ישירות בלי עיוותים של קוונטיזציה.

  • סביבות פיתוח סינית ואנגלית

    מתאים לעיבוד טקסט דו-לשוני ולפתרון בעיות קוד קצרות על חומרה מקומית.

  • בסיס לכוונון עצמאי

    כרטיס מסך ביתי אחד מספיק כדי לאמן אותו מחדש על דאטה פנימי של החברה.

איפה זה נופל

המודל סובל מהזיות ורגיש מאוד לניסוח ההוראה, כך שאותה שאלה עשויה להניב תוצאות שונות לחלוטין בניסיונות עוקבים. בגלל שאימנו אותו על מאגר ShareGPT בלי אימון זהות ייעודי, הוא נוטה לחשוב ולהציג את עצמו כמודל של OpenAI. בנוסף, זיכרון הידע שלו מוגבל והוא תומך רשמית באנגלית וסינית בלבד, בלי שום התאמה או הבטחה לגבי עברית.

שאלות
נפוצות

למה להוריד את גרסת ה־fp32 ולא גרסה קלה יותר?

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

האם המודל יודע לקרוא ולכתוב בעברית?

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

אפשר לשלב אותו באפליקציה מסחרית בלי לשלם?

כן, אבל רק אחרי קבלת אישור. הרישיון מחייב שליחת פנייה לכתובת הדוא"ל של החברה וקבלת אישור כתוב לפני ההשקה, כך שלא מדובר ברישיון קוד פתוח חופשי לגמרי.

איך מריצים

כדי להריץ אותו דרך ספריית transformers מגרסה 4.36 ומעלה, חייבים לציין את סוג הנתונים כ־float32 ולהפעיל את trust_remote_code, אחרת המפתחים מזהירים משגיאות חישוב. בגלל הדיוק המלא, הוא דורש סביב 12 עד 16 גיגה-בייט של זיכרון כרטיס מסך, בעוד כרטיסי 1080 או 2080 מתאימים רק לכוונון עדין חלקי, וכרטיס כמו 3090 או 4090 נדרש לכוונון מלא.

המפתחים עצמם מציינים שאיכות הפלט דרך transformers נמוכה יותר בהשוואה להרצה תחת vLLM. אם אתם מחפשים מהירות או פריסה במכשיר קצה, אין סיבה לקחת את גרסת ה־fp32 כשיש גרסאות bf16 או איטרציות מכווצות ל־4 ביט, ואם המטרה היא סתם גישה מהירה לשפה בלי לנהל תשתית, עדיף לפנות ל־API חיצוני.

from transformers import pipeline

pipe = pipeline("text-generation", model="openbmb/MiniCPM-2B-sft-fp32")
print(pipe("שלום"))

הרישיון

הקוד פתוח תחת רישיון Apache-2.0, אבל משקלי המודל כפופים לרישיון מותאם אישית שנקרא General Model License. שימוש מחקרי חופשי לחלוטין, אך שימוש מסחרי מותנה בפנייה בדוא"ל למפתחים וקבלת אישור בכתב, גם אם הרישום עצמו לא כרוך בתשלום. בלי אישור כזה אסור לשלב אותו במוצר מסחרי.

הרישיון המלא בעמוד המודל ↗