צ'אט LLaMA חינם באינטרנט - אין צורך בהתחברות
מה זה למה?
למה היא סדרת מודלים של שפה גדולה מתקדמת מבית Meta AI (פייסבוק). עם מיליארדי פרמטרים, למה תוכננה להעצמת יכולות חשיבה, תכנות ויישומים רחבים במגוון שפות ומשימות.
אנו חיים בתקופה יוצאת דופן שבה יוזמות קוד פתוח, הנתמכות על ידי קהילות נלהבות, מתמודדות עם פתרונות יקרי ערך של ענקיות הטכנולוגיה. דוגמה מרכזית להתקדמות זו היא העלייה של מודלי שפה קומפקטיים אך יעילים כמו Vicuna, Koala, Alpaca ו-StableLM. מודלים אלו משיגים ביצועים דומים ל-ChatGPT תוך שימוש במינימום משאבי חישוב. מה שמאחד אותם הוא הבסיס במודלי LLaMA של Meta AI.
לעיון מעמיק יותר בהתקדמויות בולטות נוספות בתחום טכנולוגיות השפה בקוד פתוח, עיין במאמר שלנו על 12 חלופות GPT-4 בקוד פתוח.
בדיון זה נבחן את מודלי LLaMA של Meta AI, את יכולותיהם, וכיצד לגשת אליהם דרך ספריית Transformers. נבצע גם השוואת ביצועים, נציין את האתגרים המרכזיים ונחקור את המגבלות שלהם. מאז שנכתב מאמר זה, Meta AI הציגה גם את LLaMA 2 ו-LLaMA 3 – שכל אחד מהם אנו מכסים במאמרים ייעודיים עם תובנות נוספות.
הבנת LLaMA: מודל שפה גדול מבית Meta AI
LLaMA (Large Language Model Meta AI) היא סדרת מודלים יסודיים מתקדמים של שפה בגודל של 7 עד 65 מיליארד פרמטרים. למרות טבעם הקומפקטי, מודלים אלו מספקים ביצועים מצוינים ומפחיתים את דרישות החישוב עבור חוקרים ומפתחים כדי להתנסות, לאמת עבודה קיימת ולחקור יישומים חדשניים.
מודלים יסודיים אלו אומנו על מערכי נתונים גדולים ללא תוויות, מה שהופך אותם להתאמה גבוהה לדייקון למשימות שונות. מקורות הנתונים כוללים:
- 67.0% CommonCrawl
- 15.0% C4
- 4.5% GitHub
- 4.5% ויקיפדיה
- 4.5% ספרים
- 2.5% ArXiv
- 2.0% StackExchange
תודות למערך נתונים מגוון זה, מודלי LLaMA השיגו ביצועים ברמה של מודלים מהשורה הראשונה כגון Chinchilla-70B ו-PaLM-540B, ומבססים את מעמדם כאחד ממודלי השפה המתקדמים ביותר הקיימים כיום.
הבנת מודל LLaMA של Meta
LLaMA הוא מודל שפה אוטו-רגרסיבי מבוסס ארכיטקטורת Transformer. בדומה למודלים מתקדמים אחרים, הוא מעבד רצף מילים כקלט ומנבא את המילה הבאה, מה שמאפשר יצירת טקסט חוזרת.
ייחודו של LLaMA הוא האימון המרחיב שלו על נתוני טקסט ציבוריים במגוון שפות, כולל בולגרית, קטלונית, צ'כית, דנית, גרמנית, אנגלית, ספרדית, צרפתית, קרואטית, הונגרית, איטלקית, הולנדית, פולנית, פורטוגזית, רומנית, רוסית, סלובנית, סרבית, שוודית ואוקראינית. עם הצגת LLaMA 2 ב-2024, שיפורים בארכיטקטורה ובטכניקות האימון חיזקו עוד יותר את היעילות והכישורים הרב-לשוניים שלה.
זמינים בגדלים שונים – 7B, 13B, 33B ו-65B פרמטרים – ניתן לגשת למודלי LLaMA דרך Hugging Face (לתמיכה ב-Transformers) או דרך המאגר הרשמי ב-facebookresearch/llama.
התחלת עבודה עם מודלי LLaMA
קוד האינפרנס הרשמי זמין במאגר facebookresearch/llama, אך לפשט את העניינים נשתמש בספריית Transformers של Hugging Face כדי לטעון את המודל וליצור טקסט.
1. התקן ספריות נדרשות
נבצע אינפרנס של LLaMA באמצעות Google Colab.
%%capture
%pip install transformers SentencePiece accelerate
2. טען את טוקנים ומשקלי המודל של LLaMA
הערה: 'decapoda-research/llama-7b-hf' אינו משקל המודל הרשמי. Decapoda Research התאימה את המודל המקורי לעבודה עם ספריית Transformers.
import transformers, torch
from transformers import LlamaTokenizer, LlamaForCausalLM, GenerationConfig
tokenizer = LlamaTokenizer.from_pretrained("decapoda-research/llama-7b-hf")
model = LlamaForCausalLM.from_pretrained(
"decapoda-research/llama-7b-hf",
load_in_8bit=False,
torch_dtype=torch.float16,
device_map="auto",
)
3. הגדר את השאלה
4. המר טקסט לטוקנים
5. הגדר תצורת יצירת הטקסט של המודל
6. צור פלט טקסט
7. פענח והדפס את התשובה
instruction = "What is the speed of light?"
inputs = tokenizer(
f"""Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction: {instruction}
### Response:""",
return_tensors="pt",
)
input_ids = inputs["input_ids"].to("cuda")
generation_config = transformers.GenerationConfig(
do_sample=True,
temperature=0.1,
top_p=0.75,
top_k=80,
repetition_penalty=1.5,
max_new_tokens=128,
)
with torch.no_grad():
generation_output = model.generate(
input_ids=input_ids,
attention_mask=torch.ones_like(input_ids),
generation_config=generation_config,
)
output_text = tokenizer.decode(
generation_output[0].cuda(), skip_special_tokens=True
).strip()
print(output_text)
פלט:
המודל קובע במדויק כי מהירות האור בריק היא כ-299,792,458 מטר לשנייה.
Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction: What is the speed of light?
### Response: The speed of light in a vacuum is exactly 299,792,458 meters per second (approximately 186,282 miles per second). This value is a fundamental constant in physics and plays a crucial role in theories like relativity. Scientists have verified this speed through numerous experiments over the years.
מודל LLaMA יחד עם ספריית Transformers ניתן גם לכוונון למטלות ונתונים שונים, ומשפר באופן משמעותי את הדיוק והביצועים.
מה מייחד את LLaMA לעומת מודלי AI אחרים?
מסקירת המאמר המחקרי ניתן להשוות לעומק בין מודלי LLaMA לבין מודלי שפה מהשורה הראשונה כגון GPT-3, GPT-NeoX, Gopher, Chinchilla ו-PaLM. נערכו מבחנים שונים להערכת הביצועים בתחומים כמו חשיבה הגיונית, טריוויה, הבנת קריאה, מענה על שאלות, פתרון בעיות מתמטיות, יצירת קוד וידע תחומי.
חשיבה הגיונית
במבחני Benchmark כמו PIQA, SIQA ו-OpenBookQA, מודל LLaMA-65B עלה על מבנים מתקדמים אחרים. בנוסף, גם מודל LLaMA-33B הקטן יותר הצטיין ב-ARC (קל ומאתגר) לעומת מקביליו.
מענה על שאלות סגורות וטריוויה
בהערכת יכולת המודל לפרש ולהגיב לשאלות מציאותיות, LLaMA consistently הצטיין על פני GPT-3, Gopher, Chinchilla ו-PaLM במבחני Natural Questions ו-TriviaQA.
הבנת קריאה
באמצעות מבחני Benchmark RACE-middle ו-RACE-high, LLaMA הציג ביצועים טובים יותר מ-GPT-3 והראה תוצאות דומות ל-PaLM 540B.
חשיבה מתמטית
מכיוון שלמה לא עברה כיוונון על נתונים מתמטיים, ביצועה בתחום זה היה מתחת לציפיות, מאחור מ-Minevra.
יצירת קוד
הוערך באמצעות מבחני HumanEval ו-MBPP, LLaMA השיגה ציונים גבוהים יותר מ-LAMDA ו-PaLM ב-HumanEval@100, MBP@1 ו-MBP@80.
ידע תחומי
במונחים של ידע תחומי רחב, מודלי LLaMA היו פחות יעילים לעומת PaLM 540B המתקדם, אשר נהנה ממספר פרמטרים גדול בהרבה.
אתגרים ומגבלות של LLaMA
כמו מודלי שפה גדולים אחרים, LLaMA עלול לייצר 'הלוצינציות', כלומר מידע לא מדויק או מטעה.
מעבר לכך, קיימים אתגרים נוספים:
- מגבלות שפה: מאחר שרוב הנתונים היו באנגלית, ביצועי LLaMA בשפות אחרות עשויים להיות חלשים יותר.
- שימוש מחקרי: LLaMA מיועדת בעיקר למטרות מחקר תחת רישיון לא מסחרי. שחרורה נועד לסייע לחוקרים להתמודד עם הטיות, סיכונים ותוכן רעיל, הלוצינציות ובטיחות המודל.
- לא מוכן לייצור: כמודל בסיס, אין להשתמש ב-LLaMA באפליקציות ללא הערכת סיכונים יסודית ואסטרטגיות הפחתה.
- חולשה בחשיבה מתמטית ותחומית: המודל מתקשה בבעיות מתמטיות מורכבות וללא מומחיות מעמיקה בתחומים ספציפיים.
לפרטים על התפתחויות ב-AI, כולל OpenAI, Google AI והשפעתם על מדעי הנתונים, עיין ב-The Latest On OpenAI, Google AI, and What It Means for Data Science. הבלוג חוקר התקדמויות חדישות בטכנולוגיות שפה, ראייה ומולטימודליות שמשפרות פרודוקטיביות ויעילות.
עם שחרור LLaMA 2 ו-LLaMA 3, זוהו מגבלות חדשות, אף שנעשו שיפורים, במיוחד באורך הקשר ובהתאמה דרך כיוונון. הקהילה המחקרית ממשיכה לשפר את העמידות והישימות בעולם האמיתי של המודלים.
סיכום
הופעת מודלי LLaMA פתחה עידן טרנספורמטיבי במחקר AI בקוד פתוח. במיוחד, מודל LlaMA-3 ו-LlaMA-4 הקומפקטי עוקף את GPT-3 ו-GPT-4, בעוד שה-LLaMA-65B הגדול מציג יכולות ברמה של מודלים מתקדמים כמו Chinchilla-70B ו-PaLM-540B. פריצות דרך אלו מדגישות את האפשרות להשיג ביצועים מהשורה הראשונה תוך שימוש במערכי נתונים ציבוריים ומינימום כוח חישוב.
בנוסף, המחקר מדגיש את ההשפעה של כיוונון מבוסס הוראות בשיפור ביצועי LLaMA. מודלים כמו Vicuna ו-Stanford Alpaca, שעברו כיוונון באמצעות מערכי נתונים למעקב הוראות, הראו תוצאות דומות ל-ChatGPT ו-Bard, מה שמדגים את הפוטנציאל העצום של גישה זו.
שאלות נפוצות (FAQ)
תגיות: צ'אט למה חינם באינטרנט, למה 3 חינם, למה 3.3, למה 4 באינטרנט, 70b