כיצד להשתמש בשנאי פנים מחבקים ב-Python

Kyzd Lhstms Bsn Y Pnym Mhbqym B Python



Hugging Face מוכרת כקהילת אינטליגנציה מלאכותית שהיא קוד פתוח והיא מספקת את כל המסגרות, הכלים, המודלים והארכיטקטורות החשובות שעוזרים לתקשר או להתאמן עם מודלים של השפה (עיבוד שפה טבעית). Hugging Face transformers היא ארכיטקטורת שפה המסייעת באספקת מודלים של עיבוד שפה מאומנים מראש ב- Python. השנאים הללו מבית Hugging Face מספקים מגוון רחב של מערכי נתונים וממשקי API שכבות המסייעים למתכנתים ליצור בקלות אינטראקציה עם המודלים שהוכשרו מראש עם חבילות הספרייה שלהם.

תחביר

לשנאי Hugging Face החדישים ביותר יש מגוון עצום של דגמים מאומנים מראש. ניתן ליישם מודלים אלה על מודלים שונים של שפה המפורטים ברשימה הבאה:

  • שנאים אלו עשויים לעבד את הטקסט בשפות שונות ויכולים לבצע משימות שונות על הטקסט כגון סיווג טקסט, שאלות ותשובות, תרגום הטקסט לשפות שונות ויצירת הטקסט.
  • אנו עשויים גם להשתמש בשנאים אלה ב-Huging Face עבור משימות סיווג מבוססות ראייה כגון זיהוי אובייקטים ומשימות מבוססות דיבור, למשל. סיווג דובר או זיהוי/זיהוי דיבור.

השנאים מבית Hugging Face כוללים את TensorFlow, PyTorch, ONNX וכו'. עבור התחביר של התקנת החבילה עבור שנאים אלו, אנו משתמשים בפקודה הבאה:







$ pip להתקין שנאים

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



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

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



אנו מתחילים בקידוד הדוגמה על ידי התקנה תחילה של חבילת הספרייה של ה'רובוטריקים' במסוף Python. כדי להוריד את החבילה של השנאי, השתמש ב-'pip install with the name of the package, כלומר שנאי'. לאחר שהורדנו והתקנו את חבילת השנאי, אנו מתקדמים על ידי ייבוא ​​חבילת 'צינורות' מהשנאי. הצינור משמש לעיבוד הנתונים לפני שהם מוזנים למודל.





אנו מייבאים את ה-'pprint' מה-pprint. חבילה זו מותקנת כדי להדפיס את הפלט ממודל יצירת הטקסט בצורה קריא, מובנה ומעוצב יותר. אחרת, אם אנו משתמשים בפונקציה 'print()', היא מציגה את הפלט בשורה אחת שאינה מעוצבת היטב וניתנת לקריאה בקלות. המודלים ליצירת טקסט עוזרים ליצור או להוסיף עוד טקסט לטקסט שסיפקנו בהתחלה למודל כקלט.

כדי לקרוא למודל המאומן מהשנאי, אנו משתמשים בפונקציה pipeline() ששני הפרמטרים הם קלט. הראשון מציין את שם המשימה שנבחרה והשני הוא שם הדגם משנאי. בתרחיש זה, המשימה שנבחרה היא יצירת הטקסט. המודל שהוכשר מראש שאנו משתמשים מהשנאי הוא 'gpt'.



לאחר השימוש בפונקציית pipeline, אנו מחליטים את הקלט שאנו רוצים לתת למודל שלנו כדי ליצור עבורו טקסט נוסף. לאחר מכן, נעביר את הקלט הזה לפונקציה 'task_pipeline()'. פונקציה זו יוצרת את הפלט עבור המודל על ידי נטילת הקלט, האורך המרבי של הפלט ומספר המשפטים שהפלט צריך להיות כפרמטרי הקלט שלו.

אנו נותנים את הקלט בתור 'זהו מודל שפה'. אנו קובעים את האורך המרבי של הפלט ל-'30' ואת מספר המשפטים בפלט ל-'3'. כעת, אנו פשוט קוראים לפונקציה pprint() כדי להציג את התוצאות שנוצרות מהמודל שלנו.

!pip להתקין שנאים

מצינור יבוא שנאים
מ-pprint ייבוא ​​pprint

SELECTED_TASK = 'יצירת טקסט'
MODEL = 'gpt2'
task = pipeline(f'{SELECTED_TASK}', דגם = MODEL)

INPUT = 'זהו מודל שפה'
OUT_put = task(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

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

דוגמה 2: סיווג טקסט באמצעות צינורות מהרובוטריקים

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

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

אז, ייבא את הפנדות בתור 'pd'. אנחנו רוצים לייבא את החבילה הזו כי אנחנו רוצים להדפיס את הפלט מהמודל בצורה של DataFrame. כעת, אנו מציינים את הטקסט שאנו רוצים לתת למודל שלנו כקלט כדי לסווג אותו כמשפט חיובי או שלילי. הגדרנו את הטקסט כ'אני בחור טוב'. אנו מעבירים את הטקסט הזה למודל המסווג () שיצרנו זה עתה בדוגמה זו ונשמור את התוצאות במשתנה 'פלט'.

כדי להציג את הפלט, אנו קוראים לקידומת של Pandas, כלומר pd בתור '.Dataframe()' ומעבירים את הפלט ממודל המסווגן לפונקציה הזו. כעת הוא מציג את התוצאות ממודל המסווגן כפי שמוצג בקטע הפלט הבא. מודל המסווגים שלנו מסווג את הטקסט כמחלקה החיובית.

!pip להתקין שנאים
מצינור יבוא שנאים
לייבא פנדות כ-pd
classifier = pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
טקסט = 'אני בחור טוב'
תוצאה = מסווג(טקסט)
pprint(תוצאה)
df = pd.DataFrame(result)

סיכום

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