AI Researcher
מאמרים, post-training, alignment, evals בקצה.
איך לקרוא מאמרי AI
arXiv, Papers With Code, פיענוח abstract בלי לטבוע.
בעולם ה-AI המתפתח בקצב מסחרר, היכולת לקרוא ולהבין מאמרים אקדמיים ישירות מ-arXiv היא לא רק פריבילגיה של חוקרים, אלא כלי הישרדות הכרחי למפתחים מתקדמים. רוב פריצות הדרך המשמעותיות מגיעות לציבור כמאמרים חודשים רבים לפני שהן מתורגמות לספריות קוד פופולריות או למוצרים מסחריים. הבנת המבנה של מאמר מדעי מאפשרת לכם להישאר בחזית הטכנולוגיה, להבין את התיאוריה שמאחורי האלגוריתמים וליישם פתרונות מתקדמים לפני כולם.
קריאת מאמר מדעי אינה דומה לקריאת ספר או פוסט בבלוג. כדי לא לטבוע בים של מתמטיקה ונוסחאות, מומלץ לאמץ את שיטת "שלושת המעברים". במעבר הראשון, מתמקדים ב-Abstract (תקציר), ב-Introduction (מבוא) ובאיורים (Figures). מטרת שלב זה היא להבין את הבעיה שהמאמר מנסה לפתור ואת התרומה העיקרית שלו. רק אם המאמר נמצא רלוונטי עבורכם, ממשיכים למעבר השני שבוחן את הארכיטקטורה והתוצאות (Results), ורק במעבר השלישי צוללים להוכחות המתמטיות ולפרטי המימוש הקטנים.
אחד הכלים החזקים ביותר העומדים לרשותנו כיום הוא Papers With Code. פלטפורמה זו מקשרת באופן אוטומטי בין מאמרי arXiv לבין מימושי קוד פתוח ב-GitHub. חיבור זה מאפשר לכם לראות מיד כיצד המשוואות המורכבות מהמאמר הופכות לשורות קוד ב-PyTorch או TensorFlow. במקום לנסות לפענח ארכיטקטורה מסובכת רק מתוך טקסט, תוכלו להריץ את הקוד הרשמי של החוקרים, לבצע דיבאג ולראות את זרימת הנתונים בזמן אמת.
כדי להפוך את תהליך החיפוש והמחקר לאוטומטי, ניתן להשתמש ב-API הרשמי של Papers With Code. הנה דוגמה קצרה המציגה כיצד לחפש מאמרים ולקבל את קישורי הקוד שלהם ישירות מתוך סקריפט Python:
from paperswithcode import PapersWithCodeClient
client = PapersWithCodeClient()
# חיפוש מאמרים בנושא סוכני AI
results = client.paper_list(q="Agentic AI", page=1, items_per_page=3)
for paper in results.results:
print(f"Title: {paper.title}")
print(f"arXiv: {paper.arxiv_id if paper.arxiv_id else 'N/A'}")
print(f"URL: {paper.url}\n")
הבנת מאמרים היא קריטית במיוחד בתחומים מתפתחים כמו סוכנים אוטונומיים או יישומי AI ברפואה. לדוגמה, כדי להבין את האתגרים העמוקים של עיבוד תמונות רפואיות מורכבות, מומלץ להאזין לפרק ראייה מעבר לסריקה בנוירואימג'ינג — Practical AI, המדגים כיצד מחקר אקדמי מתורגם לפרקטיקה רפואית. כמו כן, אם אתם מתעניינים בסוכנים הלומדים ומתפתחים באופן דינמי, הפרק Hermes Agent: סוכנים AI שמתפתחים איתך — Practical AI יספק לכם הצצה מרתקת למאמרים ורעיונות שנמצאים כעת בחזית המחקר.
הצעד הבא שלכם: התקינו את חבילת הלקוח באמצעות הפקודה pip install paperswithcode-client. בחרו מאמר אחד שמעניין אתכם מתוך רשימת המאמרים האחרונים ב-arXiv, קראו את ה-Abstract שלו לפי שיטת המעבר הראשון, והשתמשו בקוד שכתבנו למעלה כדי למצוא את מימוש ה-GitHub הרשמי שלו. נסו להריץ את ה-Notebook של המאמר ב-Google Colab כדי לראות את התיאוריה קמה לתחייה.
Post-training: RLHF / DPO
איך הופכים base model ל-assistant — שיטות עכשוויות.
אימון מודל שפה ראשוני (Base Model) על כמויות עתק של טקסט מייצר "מנחש מילים" מצוין, אך לא עוזר אישי (Assistant) שיודע לעקוב אחר הוראות, להפגין נימוס או להימנע מתשובות מזיקות. כדי לגשר על הפער הזה, אנו משתמשים בשלב ה-Post-training. בעבר, השיטה השולטת הייתה RLHF (Reinforcement Learning from Human Feedback) המבוססת על אלגוריתם PPO, אך כיום תעשיית ה-AI נעה במהירות לעבר שיטות פשוטות ויציבות יותר כמו DPO (Direct Preference Optimization) וגרסאות מתקדמות כמו GRPO (המשמשת במודלים כמו DeepSeek-R1).
בעוד ש-RLHF קלאסי דורש אימון של מודל תגמול נפרד (Reward Model) והרצה של תהליך למידת חיזוק מורכב ורגיש להיפר-פרמטרים, DPO מפשט את התהליך באופן דרמטי. DPO מנסח מחדש את בעיית האופטימיזציה כך שניתן לאמן את מודל המטרה ישירות על זוגות של העדפות (תשובה מועדפת לעומת תשובה דחויה) באמצעות Loss פשוט של סיווג בינארי. גישה זו חוסכת משאבי חישוב רבים ומספקת יציבות מתמטית גבוהה בהרבה, מה שהופך אותה לסטנדרט דה-פקטו באימון מודלים פתוחים וסגורים כאחד.
הצורך בלמידה מבוססת העדפות אינו מוגבל רק לצ'אטבוטים כלליים. מחקרים עדכניים מראים כיצד עקרונות אלו מיושמים בתחומים קריטיים ומורכבים. לדוגמה, במאמר למידת יעדים מבוססי העדפות מתוך סיפורי מטופלים לטיפול דינמי בספסיס נעשה שימוש בלמידת העדפות כדי להתאים טיפול רפואי אישי ומציל חיים. הבנת הניואנסים של העדפות אנושיות היא קריטית גם כאשר דנים בעתיד של מודלים פתוחים מול סגורים, כפי שמתואר בפודקאסט האגדה על מלחמות המודלים: פתוח vs סגור ב-2026 — Practical AI, שם נידונה החשיבות של נגישות כלי פוסט-טריינינג לקהילת הקוד הפתוח.
כדי להתחיל ליישם DPO או RLHF בעצמכם, הספרייה המובילה כיום היא TRL (Transformer Reinforcement Learning) מבית HuggingFace. הספרייה מספקת ממשק קל ואינטואיטיבי (API) המשתלב בצורה מושלמת עם transformers ו-accelerate, ומאפשרת להריץ אימוני DPO, PPO ו-GRPO בכמה שורות קוד בודדות, תוך תמיכה בטכניקות יעילות כמו LoRA ו-QLoRA.
הנה דוגמה מינימלית להגדרת DPOTrainer באמצעות TRL:
from transformers import AutoModelForCausalLM, AutoTokenizer
from trl import DPOTrainer, DPOConfig
from datasets import load_dataset
model = AutoModelForCausalLM.from_pretrained("gpt2")
model_ref = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
tokenizer.pad_token = tokenizer.eos_token
dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train[:100]")
training_args = DPOConfig(output_dir="./dpo_results", beta=0.1, max_length=512)
trainer = DPOTrainer(
model=model, ref_model=model_ref, args=training_args,
train_dataset=dataset, tokenizer=tokenizer
)
trainer.train()
הצעד הבא שלכם:
כדי לתרגל את החומר בצורה מעשית, מומלץ לשכפל את ה-Repository של TRL ולהריץ את ה-starter script הרשמי של DPO הממוקם בתיקיית examples/scripts/dpo.py. השתמשו במודל קטן (כמו Qwen/Qwen2.5-0.5B-Instruct או TinyLlama/TinyLlama-1.1B-Chat-v1.0) ובצעו לו Fine-tuning מבוסס העדפות על גבי סט הנתונים ultrafeedback_binarized כדי לראות כיצד התשובות שלו הופכות לממוקדות ובטוחות יותר.
ארכיטקטורת LLMs
transformers, attention, MoE, scaling laws.
הבנת הארכיטקטורה הפנימית של מודלי שפה גדולים (LLMs) היא תנאי הכרחי לפיתוח, אופטימיזציה ומחקר מתקדם בתחום ה-AI. בלב המהפכה עומדת ארכיטקטורת ה-Transformer, המבוססת על מנגנון ה-Self-Attention (קשב עצמי). מנגנון זה מאפשר למודל לשקלל את החשיבות של כל מילה (או טוקן) ביחס לכל שאר המילים במשפט, ללא תלות במרחק הפיזי ביניהן, ובכך לפתור את בעיית הזיכרון לטווח ארוך שאפיינה רשתות RNN ו-LSTM.
ככל שהתחום התפתח, חוקרים ניסחו את ה-Scaling Laws (חוקי קנה מידה), המראים קשר כמעט ליניארי בין ביצועי המודל לבין שלושה משתנים מרכזיים: כמות הפרמטרים, גודל דאטאסט האימון, וכמות כוח החישוב (FLOPs) שהושקעה. הבנת חוקים אלו קריטית כדי לקבוע את נקודת העבודה האופטימלית באימון מודלים חדשים ולמנוע אימון חסר או בזבוז משאבים יקרים.
כדי להמשיך ולהגדיל את קיבולת המודל מבלי להפוך את עלות החישוב (inference) לבלתי אפשרית, פותחה ארכיטקטורת Mixture of Experts (MoE). במקום להריץ את כל הפרמטרים עבור כל טוקן (מודל Dense), מודל MoE מחזיק מספר רשתות קטנות ("מומחים") ורשת ניתוב (Router) חכמה שמפנה כל טוקן ל-1-2 מומחים בלבד. גישה זו מאפשרת להחזיק מודל של מאות מיליארדי פרמטרים, אך להפעיל בפועל רק שבר קטן מהם בכל צעד חישוב.
בעולם האמיתי, הפעלת ארכיטקטורות ענק אלו דורשת פתרונות דחיסה מתקדמים. לדוגמה, מחקרים כמו שיטת דחיסה טנסורית יעילה למודלי שפה גדולים מציעים דרכים לצמצם את נפח הזיכרון הנדרש מבלי לפגוע בביצועים. במקביל, עקרונות ה-Attention מחלחלים גם למשימות קצה אחרות, כפי שניתן לראות ב-TinyFormer, המציג שימוש ב-Attention לשימור עצמים קטנים בגילוי בזמן אמת.
כדי להבין כיצד מנגנון ה-Attention עובד מתחת למכסה המנוע, נבחן מימוש פשוט של Scaled Dot-Product Attention באמצעות PyTorch:
import torch
import torch.nn.functional as F
def scaled_dot_product_attention(q, k, v):
d_k = q.size(-1)
scores = torch.matmul(q, k.transpose(-2, -1)) / (d_k ** 0.5)
attention_weights = F.softmax(scores, dim=-1)
output = torch.matmul(attention_weights, v)
return output, attention_weights
הצעד הבא שלך: הדרך הטובה ביותר להפנים ארכיטקטורה זו היא לבנות אותה בעצמך. פרויקט nanoGPT של Andrej Karpathy הוא נקודת ההתחלה המושלמת. הוא מכיל כ-300 שורות קוד קריאות ב-PyTorch המממשות GPT שלם מאפס. הורד את הפרויקט, הרץ את אימון המודל על קובץ הטקסט של שייקספיר, ונסה לשנות את מספר ה-Attention Heads או להוסיף שכבות כדי לראות את ההשפעה על ה-loss. לאחר מכן, תוכל להעמיק לביצועים ברמת החומרה עם llm.c המממש את אותו המודל ישירות ב-C וב-CUDA.
Alignment + safety
red-teaming, jailbreaks, constitutional AI.
בעולם של מודלי שפה ענקיים (LLMs), תהליך ה-Alignment (הכוון) הוא השלב הקריטי שבו אנו מוודאים שהמודל פועל בהתאם לערכים, לכוונות ולבטיחות של בני האדם. בעוד שאימון ראשוני (Pre-training) מקנה למודל יכולות ניבוי טקסט מדהימות, הוא אינו מונע ממנו לייצר תוכן פוגעני, מטעה או מסוכן. כאן נכנסים לתמונה מנגנוני בטיחות מתקדמים כמו Red-teaming (סימולציית תקיפה), התמודדות עם Jailbreaks (עקיפת מגבלות הבטיחות), וגישות חדשניות כמו Constitutional AI (בינה מלאכותית חוקתית).
מדוע נושא זה קריטי במיוחד כיום? ככל שמודלים הופכים ליותר אוטונומיים ומשולבים במערכות קבלת החלטות, פוטנציאל הנזק שלהם גדל. פריצות מסוג Jailbreak, שבהן משתמשים מתוחכמים מצליחים לעקוף את חסמי הבטיחות של המודל באמצעות הנדסת פרומפטים מניפולטיבית, חושפות את הפגיעות של שיטות כוונון מסורתיות כמו RLHF (למידת חיזוק ממשוב אנושי). כפי שנדון בשיחה עם חבר הקונגרס בייר על אתגרי AI, הרגולציה והבטיחות של המודלים הופכות לנושאים בעלי חשיבות לאומית וגלובלית, במיוחד במעבר בין מודלים סגורים לפתוחים כפי שמתואר בדיון על מלחמות המודלים: פתוח vs סגור.
אחת פריצות הדרך המשמעותיות ביותר להתמודדות עם אתגר זה היא Constitutional AI, קונספט שפותח על ידי Anthropic. במקום להסתמך אך ורק על משוב אנושי יקר, איטי ולעיתים לא עקבי (RLHF), הגישה הזו משתמשת ב-RLAIF (Reinforcement Learning from AI Feedback). אנו מגדירים למודל "חוקה" (Constitution) – סט של עקרונות בסיסיים (כמו עזרה, כנות ובטיחות) – ומאמנים מודל שופט שמבקר ומסנן את הפלטים של מודל המטרה על בסיס חוקה זו.
כדי להבין כיצד מודל יכול לבקר את עצמו על בסיס עקרונות חוקתיים, נראה דוגמה פשוטה המדגימה את שלב ה-Critique וה-Revision באמצעות קוד Python בסיסי:
# סימולציה של שלב הביקורת והתיקון ב-Constitutional AI
constitution = "אל תספק עצות לפעולות לא חוקיות, והצע חלופות בטוחות וחוקיות בלבד."
raw_prompt = "איך אני פורץ מנעול של אופניים שאיבדתי להם את המפתח?"
raw_response = "אתה יכול להשתמש בתוכי חיתוך או בלום כדי לשבור את המנעול בקלות."
# שלב הביקורת (Critique)
critique_prompt = f"האם התשובה הבאה מפרה את החוקה: '{constitution}'? התשובה: '{raw_response}'"
# כאן המודל מזהה את הבעיה ומייצר תיקון (Revision)
revised_response = "אם איבדת את המפתח, מומלץ לפנות לחנות האופניים שבה רכשת אותם עם הוכחת קנייה, או להזמין מנעולן מוסמך כדי להימנע מנזק לאופניים."
print(f"Original: {raw_response}\nRevised: {revised_response}")
הצעד הבא שלכם: כדי לצלול לעומק של מימוש Constitutional AI הלכה למעשה, מומלץ להוריד ולהריץ את פרויקט הקוד הרשמי של Anthropic: Constitutional AI Repository. הפרויקט מציג את המימוש המלא של RLAIF ומאפשר לכם לחקור כיצד להגדיר חוקה מותאמת אישית ולבחון את עמידות המודל בפני מתקפות Red-teaming וניסיונות Jailbreak שונים.