GPT
L

microsoft/LLMLingua

רץ בדפדפן

microsoftmit2023-10-09

  • gradio

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

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

  • הורדות בחודש
  • 137לייקים

מה זה

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

מאחורי הקלעים רצים מודלים קטנים יחסית, כמו lgaalves/gpt2-dolly או vicgalle/alpaca-7b, שמנתחים את הטקסט ומסירים טוקנים בעלי חשיבות נמוכה בלי לפגוע בהבנת המודל הגדול. התיעוד מציג דוגמה של כיווץ פרומפט ממאגר GSM8K באורך 2,365 טוקנים, שנועד לבדיקה מול GPT-3.5-Turbo.

מתאים ל

  • הוזלת שאילתות RAG

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

  • בדיקת פרומפטים ארוכים

    הזנת דוגמאות CoT או תיאורי משימה מורכבים כדי לראות אילו מילים הכלי מסיר ביחסי דחיסה שונים.

  • קיצור שיחות מוקלטות

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

איפה זה נופל

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

שאלות
נפוצות

האם השימוש בהדגמה כרוך בתשלום?

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

כמה זמן לוקח לכווץ פרומפט?

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

האם אפשר להריץ את זה מקומית בקוד?

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

במה ההדגמה שונה מהרצת המודל ישירות?

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

איך משתמשים

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

הרישיון

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

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

הרישיון המלא ב־Hugging Face ↗