GPT
S

sqlcoder2

קוד פתוח

defogother2023-10-02

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

המודל הזה ממיר שאלות באנגלית לשאילתות SQL ישירות מול הסכמה שלכם. הוא עוקף את GPT 3.5 במבחני ביצועים ומאפשר להשאיר נתונים רגישים בתוך השרת שלכם.

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

מה זה

במקום מודל כללי שיודע קצת מהכול, מדובר במודל של 15 מיליארד פרמטרים שמבוסס על StarCoder ועבר כוונון ייעודי למשימה אחת בלבד, כתיבת שאילתות SQL. המפתחים אימנו אותו על יותר מ־20 אלף שאלות שנאספו ידנית מול עשר סכמות שונות, כך שהוא מבין מבני נתונים מורכבים ולא רק פקודות בסיסיות.

במבחן שבדק סכמות חדשות לגמרי שלא הופיעו באימון, הוא הגיע ל־77.5 אחוזי דיוק. זה משאיר מאחור מודלים קנייניים כמו GPT 3.5 ו־Claude 2, ונופל רק במעט מגרסה מאוחרת יותר של GPT 4. בניתוח לפי קטגוריות, המודל אפילו עקף את GPT 4 בשאלות שכוללות מניפולציות של תאריכים, תחום שבו מודלי שפה נוטים לטעות בקלות.

מתאים ל

  • ממשק פנימי למסדי נתונים

    מאפשר לאנשי צוות טכניים ולא טכניים לתשאל בסיסי נתונים פנימיים באנגלית מבלי לחשוף מידע לשירות חיצוני.

  • תרגום שאלות מבוססות תאריך

    מצטיין במיוחד בשאילתות עם חיתוכי תאריכים מורכבים, תחום שבו עקף את GPT 4 במבחני ההשוואה.

  • כוונון אישי על סכמה

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

איפה זה נופל

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

שאלות
נפוצות

אפשר לשאול אותו שאלות בעברית על בסיס הנתונים?

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

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

השימוש המסחרי מותר, אבל אם תאמנו את המודל על הנתונים שלכם כדי לשפר את המשקלים שלו, רישיון CC BY-SA מחייב אתכם לשחרר את המשקלים המעודכנים לרשת.

איך מריצים

המשקל המלא של הקבצים מגיע לכמעט 29 גיגה בייט בדיוק של float16, כך שהרצה רגילה דורשת כרטיס מקצועי כמו A100 עם 40 גיגה זיכרון. אם אתם רוצים להריץ אותו על חומרה זולה יותר, תצטרכו להשתמש בקוונטיזציה של 8 ביט או 4 ביט.

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

from transformers import pipeline

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

הרישיון

הקוד ברישיון Apache 2, אבל משקלי המודל מוגדרים תחת שילוב של CC BY-SA 4.0 והגבלות שימוש אחראי. אפשר להשתמש בו לצרכים מסחריים, אבל חל עליו סעיף שיתוף זהה, מה שאומר שאם תעשו לו פיין טיונינג ותשנו את המשקלים, תהיו חייבים לשחרר את המשקלים החדשים בקוד פתוח תחת אותו הרישיון בדיוק.

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