האבולוציה של לאמה: מאתגרת את הסטטוס קוו
כאשר לאמה הופיעה לראשונה, היא איתגרה את הדומיננטיות של מודלי שפה גדולים (LLMs) סגורי-מקור מענקיות הטכנולוגיה. Meta AI אימצה אסטרטגיה שהתמקדה במודלים קטנים וכלליים יותר. הרעיון המרכזי היה שמודלים קטנים אלה, שאומנו על מספר עצום של טוקנים, יהיו קלים וחסכוניים יותר לאימון מחדש ולכוונון עדין עבור משימות מיוחדות. גישה זו עמדה בניגוד מוחלט למגמה של בניית מודלים גדולים יותר ויותר, עתירי משאבים.
עם זאת, טבעה ‘קוד פתוח’ של לאמה הוא נושא לוויכוח. רישיון Meta Llama כולל הגבלות ספציפיות על שימוש מסחרי ושימוש מקובל. בעוד שניתן לטעון שהגבלות אלו מוצדקות, הן סותרות את ההגדרה המחמירה של Open Source Initiative לקוד פתוח. זה הוביל לדיונים מתמשכים בשאלה האם לאמה באמת נחשבת לקוד פתוח.
ניווט באתגרים משפטיים: חששות בנושא זכויות יוצרים
הפיתוח של לאמה לא היה חף ממכשולים משפטיים. בשנת 2023, מטא התמודדה עם שתי תביעות ייצוגיות מצד מחברים שטענו כי ספריהם המוגנים בזכויות יוצרים שימשו ללא רשות לאימון לאמה. תביעות אלו מדגישות את סוגיות זכויות היוצרים המורכבות סביב נתוני האימון המשמשים למודלי שפה גדולים. עד כה, בתי המשפט לא גילו אהדה יתרה לטענות המחברים.
הרחבת היכולות: משפחת המודלים ההולכת וגדלה של לאמה
מאז סוף 2023, Meta AI הרחיבה משמעותית את משפחת לאמה. המודלים אינם מוגבלים עוד לאינטראקציות מבוססות טקסט. המערכת האקולוגית הנוכחית של לאמה כוללת מודלים רב-מודאליים המסוגלים לעבד גם קלט טקסט וגם קלט חזותי, כמו גם מודלים המיועדים לפרשנות קוד ושילוב כלים. יתר על כן, מטא הציגה רכיבי בטיחות, המכונים Llama Guard, כדי לזהות ולהפחית סיכונים והתקפות פוטנציאליים, אלה נועדו להיות חלק ממסגרת כוללת הנקראת ‘Llama Stack’.
להלן מבט מעמיק יותר על כמה מהמודלים המרכזיים במשפחת לאמה (מעובה מכרטיסי המודל של Meta AI):
Llama Guard 1: שמירה על אינטראקציות
Llama Guard 1 הוא מודל בעל 7 מיליארד פרמטרים המבוסס על Llama 2. הוא משמש כמגן קלט-פלט, המסווג תוכן הן בהנחיות משתמש (סיווג הנחיות) והן בתגובות LLM (סיווג תגובות). מודל זה עוזר להבטיח אינטראקציות בטוחות ואחראיות יותר עם מערכות מבוססות לאמה.
Llama Guard משתמש בטקסונומיה בת שש רמות כדי לסווג נזקים פוטנציאליים:
- Violence & Hate: תוכן המקדם אלימות או שנאה כלפי יחידים או קבוצות.
- Sexual Content: חומר מפורש מינית או תוכן המנצל, מתעלל או מסכן ילדים.
- Guns & Illegal Weapons: תוכן הקשור למכירה, שימוש או שינוי בלתי חוקיים של כלי נשק ואמצעי לחימה אחרים.
- Regulated or Controlled Substances: תוכן המקדם שימוש או מכירה בלתי חוקיים של סמים, אלכוהול או טבק.
- Suicide & Self Harm: תוכן המעודד או מספק הוראות להתאבדות או פגיעה עצמית.
- Criminal Planning: תוכן המאפשר או מתכנן פעילויות בלתי חוקיות.
Code Llama 70B: שלישיית מיומנות קידוד
Code Llama 70B סימן התרחבות משמעותית ביכולות הקידוד של לאמה. מודל זה זמין בשלוש גרסאות נפרדות:
- Code Llama: מודל הבסיס המיועד לסינתזת קוד כללית והבנה. הוא יכול ליצור קוד, להסביר פונקציונליות של קוד ולסייע באיתור באגים.
- Code Llama – Python: גרסה מיוחדת המותאמת לתכנות Python. מודל זה מותאם ליצירה והבנה של קוד Python, מה שהופך אותו לכלי רב ערך עבור מפתחי Python.
- Code Llama – Instruct: גרסה המתמקדת במעקב אחר הוראות והבטחת פריסה בטוחה יותר. מודל זה שימושי במיוחד ליצירת קוד העומד בהנחיות ספציפיות ובפרוטוקולי בטיחות.
כל שלוש הגרסאות זמינות בגדלים שונים: 7 מיליארד, 13 מיליארד, 34 מיליארד ו-70 מיליארד פרמטרים. Code Llama והגרסאות שלו מיועדים לשימוש מסחרי ומחקרי כאחד, בעיקר באנגלית ובשפות תכנות קשורות. ישנן עדויות רבות המצביעות על כך של-Code Llama יש יכולות קידוד חזקות.
Llama Guard 2: סיווג בטיחות משופר
Llama Guard 2 בונה על הבסיס של קודמו, ומציע יכולות סיווג בטיחות משופרות. מודל זה בעל 8 מיליארד פרמטרים, המבוסס על Llama 3, מאומן לחזות תוויות בטיחות על פני 11 קטגוריות, בהתאם לטקסונומיה של MLCommons של סכנות.
קטגוריות הסכנה המכוסות על ידי Llama Guard 2 כוללות:
- S1: Violent Crimes: תוכן הקשור למעשי פשע אלימים.
- S2: Non-Violent Crimes: תוכן הקשור לעבירות פליליות לא אלימות.
- S3: Sex-Related Crimes: תוכן הכולל עבירות מין.
- S4: Child Sexual Exploitation: תוכן המנצל, מתעלל או מסכן ילדים מינית.
- S5: Specialized Advice: ייעוץ לא מוסמך או מטעה בתחומים מיוחדים (למשל, רפואי, משפטי, פיננסי).
- S6: Privacy: תוכן המפר פרטיות או חושף מידע אישי ללא הסכמה.
- S7: Intellectual Property: תוכן המפר זכויות קניין רוחני.
- S8: Indiscriminate Weapons: תוכן הקשור לכלי נשק הגורמים לנזק נרחב וללא הבחנה.
- S9: Hate: תוכן המביע שנאה או דעות קדומות כלפי יחידים או קבוצות.
- S10: Suicide & Self-Harm: תוכן המקדם או מספק הוראות להתאבדות או פגיעה עצמית.
- S11: Sexual Content: חומר מפורש מינית.
Meta Llama 3: רב-גוניות בדיאלוג
Meta Llama 3 מוצע בשני גדלים, 8 מיליארד ו-70 מיליארד פרמטרים, עם גרסאות מאומנות מראש ומכווננות להוראות. המודלים המכווננים להוראות מותאמים במיוחד ליישומים מבוססי דיאלוג, מה שהופך אותם למתאימים לצ’אטבוטים ולמערכות AI שיחתיות.
Prompt Guard: הגנה מפני קלט זדוני
Prompt Guard הוא מודל מסווג שנועד לזהות הנחיות זדוניות, כולל פריצות (ניסיונות לעקוף מגבלות בטיחות) והזרקות הנחיות (ניסיונות לתמרן את פלט המודל באמצעות קלט מעוצב). Meta AI ממליצה לכוונן את Prompt Guard עם נתונים ספציפיים ליישום כדי להשיג ביצועים מיטביים.
בניגוד ל-Llama Guard, Prompt Guard אינו דורש מבנה הנחיה ספציפי. הוא פועל על קלט מחרוזת, ומסווג אותו כבטוח או לא בטוח (בשתי רמות חומרה שונות). זהו מודל BERT שמוציא תוויות באופן בלעדי.
Llama Guard 3: בטיחות רב-מודאלית ורב-לשונית
Llama Guard 3 זמין בשלוש גרסאות: Llama Guard 3 1B, Llama Guard 3 8B ו-Llama Guard 3 11B-Vision. השניים הראשונים הם מודלים לטקסט בלבד, בעוד שהשלישי משלב את יכולות הבנת הראייה של מודל Llama 3.2 11B-Vision. כל הגרסאות הן רב-לשוניות (עבור הנחיות טקסט בלבד) ועומדות בקטגוריות הסכנה שהוגדרו על ידי קונסורציום MLCommons.
ניתן להשתמש ב-Llama Guard 3 8B גם עבור קטגוריה S14, Code Interpreter Abuse. חשוב לציין שמודל Llama Guard 3 1B אינו מותאם לקטגוריה ספציפית זו.
קטגוריות הסכנה, המרחיבות את אלו של Llama Guard 2 הן:
- S1: Violent Crimes
- S2: Non-Violent Crimes
- S3: Sex-Related Crimes
- S4: Child Sexual Exploitation
- S5: Defamation
- S6: Specialized Advice
- S7: Privacy
- S8: Intellectual Property
- S9: Indiscriminate Weapons
- S10: Hate
- S11: Suicide & Self-Harm
- S12: Sexual Content
- S13: Elections
- S14: Code Interpreter Abuse
Meta Llama 3.1: מודלים גנרטיביים רב-לשוניים
אוסף Meta Llama 3.1 כולל מודלי שפה גדולים רב-לשוניים, כולל מודלים גנרטיביים מאומנים מראש ומכווננים להוראות בגדלים של 8 מיליארד, 70 מיליארד ו-405 מיליארד פרמטרים (קלט טקסט, פלט טקסט).
השפות הנתמכות כוללות: אנגלית, גרמנית, צרפתית, איטלקית, פורטוגזית, הינדי, ספרדית ותאילנדית.
Meta Llama 3.2: יכולות דיאלוג משופרות
אוסף Llama 3.2 כולל מודלי שפה גדולים רב-לשוניים, הכוללים מודלים גנרטיביים מאומנים מראש ומכווננים להוראות בגדלים של 1 מיליארד ו-3 מיליארד פרמטרים (קלט טקסט, פלט טקסט). גרסאות מכומתות של מודלים אלה זמינות גם כן. מודלי הטקסט בלבד המכווננים להוראות של Llama 3.2 מותאמים לדיאלוג רב-לשוני, ומצטיינים במשימות כגון אחזור סוכני וסיכום. מודלי 1B ו-3B הם נגזרות קטנות יותר ופחות חזקות של Llama 3.1.
השפות הנתמכות באופן רשמי הן: אנגלית, גרמנית, צרפתית, איטלקית, פורטוגזית, הינדי, ספרדית ותאילנדית. עם זאת, Llama 3.2 אומן על מגוון רחב יותר של שפות מעבר לשמונה אלה.
Llama 3.2-Vision: הסקת מסקנות והבנה של תמונות
אוסף Llama 3.2-Vision מציג מודלי שפה גדולים רב-מודאליים. מודלים אלה מאומנים מראש ומכווננים להוראות להסקת מסקנות מתמונות, זמינים בגדלים של 11 מיליארד ו-90 מיליארד פרמטרים (קלט טקסט ותמונה, פלט טקסט). המודלים המכווננים להוראות מותאמים לזיהוי חזותי, הסקת מסקנות מתמונות, כיתוב וענייה על שאלות כלליות לגבי תמונות.
עבור משימות טקסט בלבד, השפות הנתמכות באופן רשמי הן אנגלית, גרמנית, צרפתית, איטלקית, פורטוגזית, הינדי, ספרדית ותאילנדית. Llama 3.2 אומן על קבוצה רחבה יותר של שפות, אך עבור יישומי תמונה+טקסט, אנגלית היא השפה היחידה הנתמכת.
Meta Llama 3.3: מודל 70B רב עוצמה
מודל השפה הגדול הרב-לשוני Meta Llama 3.3 הוא מודל גנרטיבי מאומן מראש ומכוונן להוראות עם 70 מיליארד פרמטרים (קלט טקסט, פלט טקסט).
שפות נתמכות: אנגלית, גרמנית, צרפתית, איטלקית, פורטוגזית, הינדי, ספרדית ותאילנדית.
חשוב להבין שמודלי שפה גדולים, כולל Llama 3.2, אינם מיועדים לפריסה מבודדת. יש לשלב אותם במערכת AI מקיפה עם מעקות בטיחות מתאימים. מפתחים צפויים ליישם אמצעי הגנה מערכתיים, במיוחד בעת בניית מערכות סוכניות.
Llama 3.3, מודלי טקסט בלבד של Llama 3.2 ו-Llama 3.1 כוללים תמיכה מובנית בכלים הבאים:
- Brave Search: קריאת כלי לביצוע חיפושים באינטרנט.
- Wolfram Alpha: קריאת כלי לביצוע חישובים מתמטיים מורכבים.
- Code Interpreter: קריאת כלי המאפשרת למודל להוציא קוד Python.
הערה: מודלי ראייה של Llama 3.2 אינם תומכים בקריאת כלים עם קלט טקסט+תמונה.
The Llama Stack: מסגרת מאוחדת
המספר העצום של דגמי Llama יכול להיות מבלבל. כדי לפשט את תהליך הבחירה והשילוב, Meta מציעה את Llama Stack. מסגרת זו מדגישה את דגמי Llama אך מספקת גם מתאמים ליכולות קשורות, כגון מסדי נתונים וקטוריים עבור generation-augmented retrieval (RAG).
Llama Stack תומך כעת ב-SDKs ב-Python, Swift, Node ו-Kotlin. הוא מציע הפצות שונות, כולל:
- Local distribution (using Ollama): לפיתוח ובדיקה מקומיים.
- On-device distributions (iOS and Android): לפריסת דגמי Llama במכשירים ניידים.
- Distributions for GPUs: למינוף הכוח של GPUs לעיבוד מהיר יותר.
- Remote-hosted distributions (Together and Fireworks): לגישה לדגמי Llama דרך שירותים מבוססי ענן.
הרעיון המרכזי מאחורי Llama Stack הוא לאפשר למפתחים לבנות יישומים באופן מקומי ולאחר מכן לעבור בקלות לסביבת ייצור. הוא אפילו מספק Llama Stack Playground אינטראקטיבי לפיתוח מקומי מול Llama Stack מרוחק.
הרצת מודלי Llama: אפשרויות פריסה מגוונות
ניתן לפרוס מודלי Llama במגוון פלטפורמות, כולל Linux, Windows, macOS והענן. מודלי Llama מכומתים, כגון Llama 3.2 ו-Llama 3.2-Vision, יכולים לפעול ביעילות על חומרה מודרנית, אפילו על מחשבים ניידים כמו M4 Pro MacBook Pro באמצעות כלים כמו Ollama.
Meta מספקת מדריכי ‘איך-לעשות’ מקיפים לפריסה ושימוש במודלי Llama. בנוסף, מדריכי שילוב זמינים עבור מסגרות פופולריות כמו LangChain ו-LlamaIndex.
לסיכום, Llama עברה את היותה רק מודל שפה פשוט, כעת היא מסגרת AI רב-מודאלית שלמה עם תכונות בטיחות, יצירת קוד ותמיכה בשפות רבות. המערכת של Meta מאפשרת לפרוס אותה במקומות רבים, אך בעיות משפטיות עם נתוני האימון, וויכוחים לגבי האם Llama היא קוד פתוח, נמשכים.