GPT
S

sqlcoder

קוד פתוח

defogother2023-08-11

  • transformers
  • pytorch
  • gpt_bigcode
  • text-generation
  • code

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

  • 8,192טוקנים בהקשר
  • 28.9 GBמשקל הקבצים
  • 253הורדות בחודש
  • 328לייקים

מה זה

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

במבחני הביצועים של החברה על סכמות שלא נכללו באימון, הוא הגיע לדיוק של 64.6 אחוזים. זה מעביר אותו מעל למודלים פתוחים אחרים כמו WizardCoder וגם מעל gpt-3.5-turbo שהגיע לשישים אחוז, אך הוא עדיין נשאר מאחורי gpt-4 שהגיע ל־74.3 אחוזים.

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

מתאים ל

  • המרת שאלות באנגלית ל־SQL

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

  • עבודה עצמאית ללא ענן

    הפעלת מנגנון Text-to-SQL בתוך רשת ארגונית מבודדת על גבי חומרת שרתים מקומית תואמת.

  • מחקרי השוואה של מודלי קוד

    בדיקת ביצועים מול גרסאות מתקדמות יותר של סדרת SQLCoder ומודלים פתוחים אחרים.

איפה זה נופל

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

אותה משפחה

sqlcoder יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם הוא מבין שאלות בעברית?

האימון והבדיקות נעשו באנגלית בלבד. סביר מאוד שהוא יתקשה לפרש שאלות בעברית או שמות עמודות בעברית, ולכן לא מומלץ להסתמך עליו בשפה זו.

כדאי להשתמש בו לפרויקט חדש?

עדיף שלא. היוצרים עצמם מציינים שהמאגר הזה מיושן וממליצים להשתמש בגרסת sqlcoder-7b-2, שהיא גם מדויקת יותר וגם דורשת חומרה קלה בהרבה.

אפשר להטמיע אותו במוצר סגור?

הרישיון מאפשר שימוש מסחרי, אבל אם תבצעו fine-tuning למשקלים של המודל, תהיו חייבים לחשוף אותם לציבור תחת אותו רישיון שיתופי.

איך מריצים

כדי להריץ אותו בדיוק המקורי של bfloat16 דרך ספריית transformers תצטרכו כרטיס מקצועי כמו A100 עם 40 גיגה זיכרון גרפי. זה כבד ומסורבל להתקנה מקומית פשוטה.

אם יש לכם כרטיס צרכני כמו RTX 3090, RTX 4090 או מחשבי מק עם שבבי M2 Pro, Max או Ultra, אפשר לטעון גרסה מכווצת בשמונה ביט עם עשרים גיגה זיכרון ומעלה. אם אין לכם את הברזלים האלה, הפעלת שרת ייעודי תעלה לא מעט כסף, וברוב המקרים עדיף לבחון מודל קטן יותר או להשתמש ב־API חיצוני.

from transformers import pipeline

pipe = pipeline("text-generation", model="defog/sqlcoder")
print(pipe("שלום"))

הרישיון

המשקלים משוחררים תחת רישיון CC BY-SA 4.0 לצד הגבלות שימוש של OpenRAIL-M. השימוש המסחרי מותר, אך אם אתם משנים את המשקלים או מאמנים אותו מחדש, אתם מחויבים לפרסם את המשקלים המותאמים שלכם תחת אותו רישיון בדיוק.

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