הגשת ה-GitHub

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

מאגר טוב מאפשר לסטודנט, חוקר, מרצה, או מפתח אחר:

  • להבין את הפרויקט
  • לבחון את הנתונים והקוד
  • לשחזר את הניסויים
  • לסקור את התוצאות
  • להמשיך את העבודה

מאגר אינו רק אחסון; הוא נבחן על בהירות, שלמות, ארגון, ושחזוריות.

מה המאגר חייב להכיל

חמישה עשר חלקים, משם ומבנה ועד שחזוריות ורשימת התיוג הסופית.

1

שם המאגר וסקירה

דרישות

תנו למאגר שם משמעותי שמשקף את הפרויקט.

שמות טובים
  • clinical-followup-extraction
  • synthetic-email-ranking
  • warehouse-anomaly-detection
שמות חלשים
  • final-project
  • project-code
  • team7
  • new-version-final
סקירה

הוסיפו תיאור קצר שמכסה את הבעיה, הגישה המרכזית, והפלט המרכזי.

2

מבנה המאגר הנדרש

מבנה מומלץ
project-name/
|
|-- README.md
|-- requirements.txt
|-- environment.yml
|-- LICENSE
|
|-- slides/
|   |-- proposal.pptx / proposal.pdf
|   |-- midterm.pptx  / midterm.pdf
|   |-- final.pptx    / final.pdf
|
|-- src/
|   |-- data/  models/  training/  evaluation/  utils/
|
|-- notebooks/
|   |-- 01_data_exploration.ipynb
|   |-- 02_baseline.ipynb
|   |-- 03_experiments.ipynb
|
|-- data/
|   |-- raw/  processed/  samples/
|
|-- configs/
|-- results/
|   |-- metrics/  predictions/  experiment_logs/
|
|-- visuals/
|   |-- visual_abstract.png  pipeline.png  result_figures/
|
|-- tests/

המבנה המדויק יכול להשתנות, אבל הוא חייב להיות הגיוני וקל לניווט.

הימנעו מ
  • הנחת כל הקבצים בשורש המאגר
  • תיקיות בשם new, old, temp, או final-final
  • מחברות (notebooks) כפולות עם הבדלים לא ברורים
  • העלאת קבצים גדולים ומיותרים
  • ערבוב של קוד, נתונים, תוצאות, ומצגות
3

README: מוטיבציית הפרויקט

מה לכלול

הסבירו את הבעיה בעולם האמיתי, מדוע היא חשובה, מי ייהנה מפתרונה, ומדוע הפתרונות הקיימים אינם מספקים. שמרו על תמציתיות אך היו ספציפיים.

4

README: הגדרת הבעיה

מה לכלול

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

5

README: תקציר חזותי

מה לכלול

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

6

README: מאגרי נתונים

מה לכלול

עבור כל מאגר נתונים, תעדו:

  • שם
  • מקור
  • רישיון
  • מספר הדגימות
  • שדות או תוויות
  • עיבוד מקדים
  • חלוקות אימון, ולידציה, ומבחן
  • הוראות גישה
  • מגבלות ידועות

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

דרישות

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

7

README: מודלים וצינור עיבוד

מה לכלול

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

8

README: הרחבת נתונים וייצורם

מה לכלול

תעדו:

  • מדוע נדרשה הרחבה או ייצור סינתטי
  • שיטת הייצור
  • פרומפטים או תבניות
  • מאפיינים מבוקרים
  • אסטרטגיית דגימה
  • סינון
  • בדיקות איכות
  • מספר הדגימות שנוצרו

שמרו במאגר את הפרומפטים, ההגדרות, וסקריפטי הייצור החשובים.

הימנעו מ
  • ייצור נתונים ידני בלי לתעד אותו
  • שמירת קובצי הייצור הסופיים בלבד
  • השמטת הקריטריונים לדגימות שנכשלו או סוננו
  • שימוש בנתוני מבחן סינתטיים כראיה היחידה לאיכות
9

README: תהליך האימון

מה לכלול

תעדו:

  • גרסת המודל
  • אתחול
  • היפר-פרמטרים
  • גודל אצווה
  • מספר האפוקות
  • אופטימייזר
  • קצב למידה
  • פונקציית ההפסד
  • חומרה
  • זרע אקראי
  • קריטריון עצירה
  • בחירת נקודת ביקורת
שחזור האימון

ספקו פקודות מדויקות, לדוגמה:

python -m src.training.train \
  --config configs/baseline.yaml
10

README: הערכה ומדדים

מה לכלול

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

שחזור ההערכה

ספקו פקודות מדויקות, לדוגמה:

python -m src.evaluation.evaluate \
  --config configs/final_model.yaml
11

README: תוצאות

מה לכלול

הציגו את התוצאות המרכזיות בטבלאות קריאות.

מודלדיוקMacro-F1זמן תגובה
בסיס0.780.6520 ms
Model A0.840.7635 ms
מודל סופי0.880.8142 ms

קשרו לתוצאות מפורטות בפורמט CSV או JSON, קובצי חיזוי, יומני ניסויים, ואיורים. המספרים ב-README, במצגות, ובקובצי התוצאות חייבים להיות זהים.

12

שחזוריות

דרישות

המאגר חייב לאפשר לאדם אחר להריץ את הפרויקט. כללו:

  • הוראות התקנה
  • קובץ תלויות
  • גרסת Python
  • משתני סביבה
  • הוראות להכנת נתונים
  • פקודות אימון
  • פקודות הערכה
  • דוגמת היסק
  • פלטים צפויים

השתמשו בנתיבים יחסיים ובקובצי הגדרות; אל תסתמכו על תיקיות מקומיות לא מתועדות.

סודות

לעולם אל תעלו:

  • מפתחות API
  • סיסמאות
  • אסימוני גישה
  • כתובות URL פרטיות
  • מידע אישי

השתמשו במשתני סביבה וספקו קובץ .env.example.

13

איכות הקוד

דרישות

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

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

הימנעו מ
  • מחברת ענקית אחת שמכילה את כל הפרויקט
  • קוד מועתק שהצוות אינו יכול להסביר
  • קוד שרץ רק על המחשב של סטודנט אחד
  • מספרי תוצאות שנערכו ידנית
  • תלויות לא מתועדות
14

חברי הצוות ותרומות

מה לכלול

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

מכל חבר צוות מצופה להבין את כל הפרויקט, לא רק את הקבצים שלו.

15

רשימת תיוג להגשה סופית

לפני ההגשה, ודאו ש
  • למאגר יש שם משמעותי
  • ה-README מסביר את כל הפרויקט
  • מצגות ההצעה, האמצע, והסיום כלולות בפורמט PPT ו-PDF
  • הקוד מאורגן
  • המחברות רצות כראוי
  • התלויות מתועדות
  • נתוני דוגמה או הוראות הורדה כלולים
  • פקודות אימון והערכה מסופקות
  • קובצי התוצאות כלולים
  • האיורים קריאים
  • התוצאות המדווחות עקביות
  • לא הועלו מפתחות API או מידע פרטי
  • כל הקישורים במאגר עובדים
  • אדם אחר יכול לשחזר את התוצאה המרכזית

הגשה חזקה מציגה גם את איכות הפרויקט וגם את המקצועיות של הצוות.

הציגו דוגמאות קונקרטיות של הנתונים והמודל

שימו דוגמאות קונקרטיות ב-README, וקשרו אליהן מהמצגת: דוגמאות נתונים (תמונות או טקסט), כיצד הנתונים נוצרים, שלבי המודל, קלט ופלט אמיתיים של המודל, וכמה מקרי שגיאה ברורים.

דוגמאות נתונים (תמונות או טקסט)
תמונה, צילום חזה 224×224 · תווית: דלקת ריאות
"App crashes when I upload a PDF over 10 MB."
טקסט, פנייה לתמיכה → תווית: באג
כיצד הנתונים נוצרים או עוברים טרנספורמציה
"Great pizza, fast delivery.""gr8 pizza, delivery was not fast"
הגדלת נתוני טקסט: הזרקת שגיאות כתיב ושלילה
השחתת תמונה: נקייה → טשטוש תנועה + תאורה נמוכה
שלבי המודל והצינור
קלט גולמיעיבוד מקדיםטוקניזציה / הטמעהמודלעיבוד לאחרפלט
קלט ופלט של המודל
"The wifi keeps dropping every few minutes."{ label: network, conf: 0.92 }
"סכם את הרשומה הקלינית: ...""כאב חזה לסירוגין במשך יומיים ..."
תמונת קלט2 תיבות: car 0.94, pedestrian 0.81
שגיאות המודל, עם הסיבה הסבירה
  • חזה spam, האמת לא spam: המודל נתן משקל יתר לביטוי שיווקי בתוך ציטוט בתשובה.
  • זיהה מכונית אחת, פיספס אחת בגשם כבד: יחס אות-לרעש נמוך טשטש את הקצוות.
  • יצר מינון שאינו מופיע ברשומת המקור: האחזור החזיר קטע לא רלוונטי.

רשימת תיוג להגשה

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

  • למאגר שם משמעותי ותיאור קצר וברור.
  • המבנה הגיוני (src, data, notebooks, results, slides, README).
  • ה-README מכסה את המוטיבציה, הגדרת הבעיה ותקציר חזותי.
  • כל מאגר נתונים מתועד (מקור, רישיון, כמות, חלוקות, גישה).
  • המודלים והצינור מתוארים, עם דיאגרמה.
  • האימון וההערכה ניתנים לשחזור עם פקודות מדויקות.
  • טבלאות התוצאות ב-README תואמות למצגת ולקובצי התוצאות.
  • דוגמאות קונקרטיות (נתונים, קלט/פלט, שגיאות) נמצאות ב-README.
  • לא הועלו סודות, ומסופק קובץ .env.example.
  • מצגות ההצעה, האמצע והסיום כלולות בפורמטים PPT ו-PDF.