מודלים של בינה מלאכותית (AI) גנרטיבית, כמו משפחת המודלים של Gemini, יכולים ליצור תוכן מסוגים שונים של קלט נתונים, כולל טקסט, תמונות וקטעי אודיו. ברמה הבסיסית ביותר, המודלים האלה פועלים כמו אפליקציות מתוחכמות של השלמה אוטומטית. בהתאם לטקסט הקלט ('אפשר להוביל סוס למים'), מודל גנרטיבי יכול לחזות את טקסט הפלט שסביר להניח שיופיע אחריו ('אבל אי אפשר לגרום לו לשתות'), על סמך דפוסים שנלמדו מנתוני האימון שלו. אפשר להשתמש במאפיין הבסיסי הזה של מודלים גנרטיביים למגוון אפליקציות:
- לכתוב יצירות ספרותיות כמו שירה, סיפורים קצרים, מטאפורות ופוסטים בבלוג
- המרת נתונים מובְנים לטקסט בפורמט חופשי
- חילוץ וסיכום מידע מטקסט חופשי
- הפק קוד
- תרגום בין שפות
כדי להשתמש במודלים גנרטיביים ליצירת התכונות האלה, לא צריך שום מומחיות בלמידת מכונה (ML). לא צריך לאסוף מערך נתונים גדול או לאמן מודל. כדי ליצור את האב טיפוס הראשון, צריך רק לתאר בכמה משפטים מה אתם רוצים שהמודל יעשה.
מודלים גנרטיביים שמטפלים רק בקלט ובפלט של טקסט נקראים גם מודלים גדולים של שפה (LLM). משפחת המודלים של Gemini יכולה לעבד יותר מנתוני טקסט, והם יכולים לבצע את הפונקציות של LLM, אבל הם נקראים בעצם מודלים גנרטיביים.
דוגמאות לאפליקציות
בדוגמאות הבאות מוצגים קלט טקסט טיפוסי ופלט טקסט טיפוסי של מודל גנרטיבי.
יצירת שיר
קלט של משתמשים: Write me a four-line poem about puppies and Android phones. Make
sure it rhymes.
פלט המודל:
Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.
יצירת רשימה
קלט של משתמשים: Generate a bulleted list of items I need to pack for a three-day
camping trip.
פלט המודל:
* Tent
* Sleeping bag
* Sleeping pad
* Camp stove
* Pots and pans
* Utensils
* Food
* Water
* First-aid kit
* Sunscreen
* Insect repellent
* ...
אפשר לגרום למודלים גנרטיביים ליצור כל מיני התנהגויות מועילות כמו זו, פשוט על ידי יצירת טקסט הקלט הנכון, שנקרא גם הנחיה. האמנות והמדע של בחירת הניסוח הנכון כדי לגרום למודלים הגנרטיביים לבצע את הפעולות הרצויות נקראים עיצוב הנחיות (נקראים גם 'הנדסת הנחיות' או פשוט 'הנחיה').
עיצוב הנחיות 101
בקטע הקודם הוצגו כמה דוגמאות להנחיות שמכילות הוראה, כמו 'כתוב לי שיר'. סוג ההוראה הזה יכול להתאים לסוגי משימות מסוימים. עם זאת, באפליקציות אחרות, שיטה אחרת להצגת הנחיות שנקראת הצגת הנחיות בכמה פריימים עשויה לפעול טוב יותר. הנחיות מכמה צילומים מקדמות את העובדה שמודלים גדולים של שפה (LLM) טובים מאוד בזיהוי ובשכפול של דפוסים בנתוני טקסט. הרעיון הוא לשלוח למודל הגנרטיבי דפוס טקסט שהוא לומד להשלים. לדוגמה, נניח שאתם רוצים ליצור אפליקציה שמקבלת את שם המדינה ומפיקה את הפלט של עיר הבירה שלה. הנה הנחיית טקסט שמטרתה לעשות את זה:
Italy : Rome
France : Paris
Germany :
בהנחיה הזו, מגדירים דפוס: [country] : [capital]
. אם שולחים את ההנחיה הזו למודל שפה גדול, היא תשלים את התבנית באופן אוטומטי ותחזיר משהו כזה:
Berlin
Turkey : Ankara
Greece : Athens
התשובה הזו של המודל עשויה להיראות קצת מוזרה. המודל החזיר לא רק את הבירה של גרמניה (המדינה האחרונה בהנחיה שכתבתם ביד), אלא גם רשימה שלמה של זוגות נוספים של מדינות ובירות. הסיבה לכך היא שהמודל הגנרטיבי 'ממשיך את התבנית'. אם כל מה שאתם מנסים לעשות הוא ליצור פונקציה שמציינת את הבירה של מדינה שהזנתם ("Germany : Berlin"), סביר להניח שאתם לא מתעניינים בחלק מהטקסט שהמודל יוצר אחרי 'Berlin'. אכן, כמעצבי אפליקציות, סביר להניח שתרצו לקצר את הדוגמאות הלא רלוונטיות האלה. בנוסף, מומלץ להגדיר פרמטרים לקלט, כך ש-Germany לא תהיה מחרוזת קבועה אלא משתנה שמשתמש הקצה מספק:
Italy : Rome
France : Paris
<user input here> :
כתבתם רקטורה של כמה שורות ליצירת בירות של מדינות.
בעזרת התבנית הזו של הנחיה ל-few-shot תוכלו לבצע מספר רב של משימות. הנה כמה הנחיה עם פורמט קצת שונה שממיר את Python ל-JavaScript:
Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:
לחלופין, אפשר להשתמש בהנחיה 'מילון הפוך'. כשנותנים לה הגדרה, היא מחזירה את המילה שתואמת להגדרה הזו:
Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:
יכול להיות שתבחינו שהדפוס המדויק של ההנחיות הקצרות האלה משתנה מעט. בנוסף למתן דוגמאות, שליחת הוראות בהנחיות היא אסטרטגיה נוספת שכדאי לקחת בחשבון כשאתם כותבים הנחיות משלכם, כי היא עוזרת להעביר את הכוונה שלכם למודל.
פיתוח תוכנה באמצעות הנחיות לעומת פיתוח תוכנה מסורתי
בניגוד לתוכנות מסורתיות שתוכננו לפי מפרט שנכתב בקפידה, ההתנהגות של מודלים גנרטיביים היא לרוב לא ברורה, גם למאמנים של המודלים. כתוצאה מכך, לרוב אי אפשר לחזות מראש אילו סוגי מבנים של הנחיות הכי מתאימים למודל מסוים. בנוסף, ההתנהגות של מודל גנרטיבי נקבעת במידה רבה על ידי נתוני האימון שלו, ומכיוון שהמודלים מותאמים באופן שוטף למערכי נתונים חדשים, לפעמים המודל משתנה מספיק כדי לשנות בטעות את מבני ההנחיה שפועלים בצורה הטובה ביותר. מה המשמעות מבחינתכם? התנסה! אפשר לנסות פורמטים שונים של הנחיות.
פרמטרים של מודל
כל הנחיה ששולחים למודל כוללת ערכי פרמטרים ששולטים באופן שבו המודל יוצר תגובה. המודל יכול ליצור תוצאות שונות לערכי פרמטרים שונים. הפרמטרים הנפוצים ביותר של המודל הם:
Max output tokens: מציין את המספר המקסימלי של האסימונים שאפשר ליצור בתגובה. אסימון הוא ארבעה תווים בערך. 100 אסימונים תואמים ל-60-80 מילים בערך.
טמפרטורה: הטמפרטורה קובעת את מידת הרנדומיזציה בבחירת האסימונים. הטמפרטורה משמשת לדגימה במהלך יצירת התגובה, שמתרחשת כשמחילים את
topP
ואתtopK
. טמפרטורות נמוכות טובות להנחיות שמחייבות תגובה determinist (דטרמיניסטית) יותר או פחות פתוחה, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. כשהטמפרטורה היא 0, תמיד נבחרת התגובה עם ההסתברות הגבוהה ביותר.topK
: הפרמטרtopK
משנה את האופן שבו המודל בוחר את הטוקנים להצגה בפלט. כשהערך שלtopK
הוא 1, המשמעות היא שהאסימון שנבחר הוא בעל ההסתברות הגבוהה ביותר מבין כל האסימונים במילון של המודל (נקרא גם פענוח חמדן). לעומת זאת, כשהערך שלtopK
הוא 3, המשמעות היא שהאסימון הבא נבחר מתוך 3 האסימונים עם ההסתברות הגבוהה ביותר, לפי הטמפרטורה. בכל שלב של בחירת אסימון, נדגמים האסימוניםtopK
עם ההסתברויות הגבוהות ביותר. לאחר מכן, הטוקנים מסוננים לפיtopP
, והטוקן הסופי נבחר באמצעות דגימת טמפרטורה.topP
: הפרמטרtopP
משנה את האופן שבו המודל בוחר טוקנים להצגה בפלט. האסימונים נבחרים מהסיכוי הגבוה ביותר לנמוך ביותר, עד שסכום ההסתברויות שלהם שווה לערךtopP
. לדוגמה, אם ההסתברויות של האסימונים A, B ו-C הן 0.3, 0.2 ו-0.1, וערךtopP
הוא 0.5, המודל יבחר את האסימון הבא מתוך A או B באמצעות הטמפרטורה, ויחרוג את C כאפשרות. ערך ברירת המחדל שלtopP
הוא 0.95.stop_sequences
: מגדירים רצף עצירה כדי להורות למודל להפסיק ליצור תוכן. רצף עצירה יכול להיות כל רצף של תווים. נסו להימנע משימוש ברצף תווים שעשוי להופיע בתוכן שנוצר.
סוגי הנחיות
בהתאם לרמת המידע ההקשרי שנכלל בהם, ההנחיות מסווגות באופן כללי לשלושה סוגים.
הנחיות ישירות (Zero-shot)
ההנחיות האלה לא מכילות דוגמאות לשחזור המודל. בעצם, הנחיות ללא דוגמאות מראות את היכולת של המודל להשלים את ההנחיה ללא דוגמאות או מידע נוספים. כלומר, המודל צריך להסתמך על הידע הקיים שלו כדי ליצור תשובה סבירה.
דפוסים נפוצים של הנחיות ללא אימון מראש:
- תוכן ההוראות
<Overall instruction>
<Content to operate on>
לדוגמה,
Summarize the following into two sentences at the third-grade level:
Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.
Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!
Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.
Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
- Instruction-content-instruction
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>
לדוגמה,
Here is some text I'd like you to summarize:
Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.
Summarize it in two sentences at the third-grade reading level.
- המשך. לפעמים אפשר לגרום למודל להמשיך בטקסט בלי הוראות. לדוגמה, הנה הנחיה מאפס שבה המודל נועד להמשיך את הקלט שסופק:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow
שימוש בהנחיות ללא דוגמה ליצירת פורמטים של טקסט יצירתי, כמו שירים, קודים, סקריפטים, יצירות מוזיקליות, אימיילים או מכתבים.
הנחיות חד-פעמיות
ההנחיות האלה מספקות למודל דוגמה אחת לשכפול ולהמשך התבנית. כך אפשר ליצור תשובות צפויות מהמודל.
לדוגמה, אפשר ליצור התאמות לאוכל כמו:
Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:
הנחיות עם כמה דוגמאות
ההנחיות האלה מספקות למודל כמה דוגמאות לשכפול. תוכלו להשתמש בהנחיות של כמה שניות כדי לבצע משימות מורכבות, כמו סינתזה של נתונים על סמך דפוס.
הנחיה לדוגמה עשויה להיות:
Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}
מודלים גנרטיביים מבפנים
המטרה של הקטע הזה היא לענות על השאלה – האם יש אקראיות בתשובות של מודלים גנרטיביים, או שהן גורמיות?
התשובה הקצרה – כן לשתיהן. כשנותנים הנחיה למודל גנרטיבי, התשובה בטקסט נוצרת בשני שלבים. בשלב הראשון, המודל הגנרטיבי מעבד את ההנחיה לקלט ויוצר התפלגות הסתברות על אסימונים (מילים) אפשריים שצפויים להגיע בהמשך. לדוגמה, אם תזינו את הטקסט "The dog jumped over the ... ", המודל הגנרטיבי ייצור מערך של המילים הבאות האפשריות:
[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]
התהליך הזה הוא דטרמיניסטי. מודל גנרטיבי ייצור את אותה ההתפלגות בכל פעם שיוזן לו אותו טקסט של הנחיה.
בשלב השני, המודל הגנרטיבי ממיר את ההתפלגויות האלה לתשובות טקסט בפועל באמצעות אחת מכמה אסטרטגיות פענוח. אחת מהשיטות הפשוטות לפענוח היא לבחור את האסימון הסביר ביותר בכל פעימה. התהליך הזה תמיד יהיה דטרמיניסטי. עם זאת, אפשר גם ליצור תגובה על ידי דגימה אקראית מההפצה שהמודל מחזיר. התהליך הזה יהיה סטוכסטי (אקראי). מגדירים את הטמפרטורה כדי לשלוט במידת האקראיות המותרת בתהליך הפענוח הזה. כשהטמפרטורה היא 0, רק האסימונים בעלי הסבירות הגבוהה ביותר ייבחרו, ואין אקראיות. לעומת זאת, טמפרטורה גבוהה מחדירה רמה גבוהה של אקראיות לאסימונים שנבחרים על ידי המודל, וכתוצאה מכך התשובות של המודל יהיו יותר מפתיעות ולא צפויות.
קריאה נוספת
- עכשיו, אחרי שהבנתם לעומק את ההנחיות והמודלים הגנרטיביים, תוכלו לנסות לכתוב הנחיות משלכם באמצעות Google AI Studio.
- בהנחיות לגבי הנחיות מפורט מידע נוסף על שיטות מומלצות ליצירת הנחיות.