GPT
S

selfrag_llama2_7b

קוד פתוח

selfragmit2023-10-18

  • transformers
  • pytorch
  • llama
  • text-generation
  • text-generation-inference

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

  • 4,096טוקנים בהקשר
  • 12.6 GBמשקל הקבצים
  • 1,604הורדות בחודש
  • 84לייקים

מה זה

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

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

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

מתאים ל

  • שליפת מידע מותאמת

    מערכות RAG שרוצות לחסוך קריאות יקרות למסד הנתונים ולשלוף רק כשהמודל באמת צריך.

  • בדיקת עובדות פנימית

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

  • מחקר על דגימה מונחית

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

אפשר להשתמש בו ישירות כמו ב־ChatGPT?

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

הוא יודע לחפש לבד ברשת או במסמכים שלי?

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

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