GPT
C

CodeBooga-34B-v0.1

קוד פתוח

oobaboogallama22023-10-19

  • transformers
  • safetensors
  • llama
  • text-generation
  • text-generation-inference

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

  • 34Bפרמטרים
  • 16,384טוקנים בהקשר
  • 62.9 GBמשקל הקבצים
  • 8,502הורדות בחודש

מה זה

מדובר במיזוג ישיר של שני מודלים בולטים לפיתוח תוכנה, Phind-CodeLlama-34B-v2 ו־WizardCoder-Python-34B-V1.0. המיזוג נעשה באמצעות סקריפט BlockMerge Gradient לפי משקלים משתנים בין השכבות, באותה שיטה שבה נוצר בשעתו MythoMax המוכר. המטרה פה היתה לקחת את היכולות הרחבות של Phind ולחבר אותן לעומק של WizardCoder בפייתון, כדי לקבל תשובות טובות יותר בלי להגדיל את כמות הפרמטרים.

בבדיקה לא פורמלית שהמפתח ביצע על שש שאלות מורכבות בפייתון ובג'אווה סקריפט, המודל צבר 22 נקודות מול 12 של WizardCoder ו־7 בלבד של Phind. זה לא מבחן ביצועים מדעי מלא, אבל זה כן מעיד על כך שהשילוב של השכבות נתן מענה שלם ומדויק יותר על שאלות עם ניואנסים, לפחות בהשוואה לשני מודלי המקור שמהם הורכב. מעבר לזה, המודל עובד עם פורמט Alpaca המוכר ומציע חלון הקשר של 16,384 טוקנים.

מתאים ל

  • פתרון באגים מורכבים בפייתון

    המיזוג מנצל את החוזק של WizardCoder על שאלות עמוקות וקשות שדורשות הבנה של ניואנסים בקוד.

  • כתיבת סקריפטים בג'אווה סקריפט

    בדיקות המפתח הראו עליונות ברורה על פני מודלי המקור בניסוח פתרונות בשפה זו.

  • עבודה מבודדת ללא רשת

    מתאים לצוותים שחייבים להריץ כלי פיתוח על שרתים מקומיים בלי להוציא קוד החוצה.

איפה זה נופל

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

שאלות
נפוצות

איזה פורמט פרומפט צריך לשלוח למודל?

המודל דורש מבנה Alpaca תקני עם הוראה ותגובה. שימוש במבנה אחר יפגע בדיוק התוצאות.

האם אפשר להריץ אותו על מחשב נייד רגיל?

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

איך מריצים

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

לשימוש מקומי סביר עדיף לפנות לגרסאות מכווצות כמו GGUF שפורסמו עבור llama.cpp, או קוונטיזציות EXL2 שהמפתח עצמו בדק בהרצה של 4.25 ביט. אם אין לכם תחנת עבודה ייעודית עם כרטיסי מסך חזקים במיוחד, יהיה זול ומהיר יותר להשתמש במודלי קוד מבוססי שירות ענן.

from transformers import pipeline

pipe = pipeline("text-generation", model="oobabooga/CodeBooga-34B-v0.1")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי עד 700 מיליון משתמשים
  • שינוי הקוד
  • חובת ייחוס

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