בינה מלאכותית (AI) הפכה לנושא חשוב ופופולרי בקהילת הטכנולוגיה. ככל שה-AI התפתח, ראינו סוגים שונים של מודלים של למידת מכונה (ML) צצים. גישה אחת, המכונה דוגמנות אנסמבל, צבר במהירות אחיזה בקרב מדעני נתונים ומתרגלים. בפוסט זה, אנו דנים מהם דגמי אנסמבל ומדוע השימוש בהם יכול להיות מועיל. לאחר מכן אנו מספקים דוגמה כיצד תוכל לאמן, לייעל ולפרוס את ההרכבים המותאמים אישית שלך באמצעות אמזון SageMaker.
למידת אנסמבל מתייחסת לשימוש במספר רב של מודלים ואלגוריתמים של למידה כדי להשיג תחזיות מדויקות יותר מכל אלגוריתם למידה בודד. הם הוכחו כיעילים ביישומים ובהגדרות למידה מגוונות כגון אבטחת סייבר [1] וזיהוי הונאה, חישה מרחוק, חיזוי הצעדים הבאים הטובים ביותר בקבלת החלטות פיננסיות, אבחון רפואי, ואפילו ראייה ממוחשבת ועיבוד שפה טבעית (NLP) משימות. אנו נוטים לסווג הרכבים לפי הטכניקות המשמשות לאימון אותם, ההרכב שלהם והאופן שבו הם ממזגים את התחזיות השונות להסקת מסקנות אחת. קטגוריות אלה כוללות:
- הגברת – אימון ברצף של מספר לומדים חלשים, כאשר כל חיזוי שגוי של לומדים קודמים ברצף מקבל משקל וקלט גבוה יותר ללומד הבא, ובכך ליצור לומד חזק יותר. דוגמאות כוללות AdaBoost, Gradient Boosting ו-XGBoost.
- תיק - משתמש במספר דגמים כדי להפחית את השונות של דגם בודד. דוגמאות כוללות יער אקראי ועצים נוספים.
- ערימה (מיזוג) - לעתים קרובות משתמש במודלים הטרוגניים, שבהם תחזיות של כל מעריך אינדיבידואלי מוערמות יחד ומשמשות כקלט לאומד סופי שמטפל בחיזוי. תהליך ההכשרה של מעריך סופי זה משתמש לעתים קרובות באימות צולב.
ישנן מספר שיטות לשילוב התחזיות ליחידה שהמודל מייצר לבסוף, למשל, באמצעות מטה-אומד כגון לומד ליניארי, שיטת הצבעה המשתמשת במספר מודלים כדי לבצע חיזוי המבוסס על הצבעת רוב עבור משימות סיווג, או אנסמבל ממוצע לרגרסיה.
למרות שמספר ספריות ומסגרות מספקות יישומים של מודלים של אנסמבל, כגון XGBoost, CatBoost או היער האקראי של sikit-learn, בפוסט זה אנו מתמקדים בהבאת מודלים משלך ושימוש בהם כהרכב הערמה. עם זאת, במקום להשתמש במשאבים ייעודיים עבור כל דגם (עבודות הכשרה וכוונון ייעודיות ואירוח נקודות קצה לכל דגם), אנו מתאמנים, מכוונים ופורסים אנסמבל מותאם אישית (מספר דגמים) באמצעות עבודת אימון אחת של SageMaker ועבודת כוונון יחידה, וכן לפרוס לנקודת קצה אחת, ובכך להפחית את העלויות האפשריות ואת התקורה התפעולית.
BYOE: תביא אנסמבל משלך
ישנן מספר דרכים לאמן ולפרוס דגמי אנסמבל הטרוגניים עם SageMaker: אתה יכול לאמן כל דגם ב- עבודת הדרכה נפרדת ולבצע אופטימיזציה של כל דגם בנפרד באמצעות אמזון SageMaker כוונון דגם אוטומטי. בעת אירוח דגמים אלו, SageMaker מספקת דרכים משתלמות וחסכוניות לארח מספר דגמים על אותה תשתית דייר. ניתן למצוא דפוסי פריסה מפורטים עבור סוג זה של הגדרות ב דגמי אירוח באמזון SageMaker, חלק 1: דפוסי עיצוב נפוצים לבניית יישומי ML באמזון SageMaker. דפוסים אלה כוללים שימוש במספר נקודות קצה (עבור כל דגם מאומן) או יחיד נקודת קצה מרובת דגמים, או אפילו סינגל נקודת קצה מרובה מכולות שבו ניתן להפעיל את המיכלים בנפרד או לשרשר אותם בצינור. כל הפתרונות הללו כוללים מטה-אומד (לדוגמה ב-an AWS למבדה function) שמפעילה כל מודל ומיישמת את פונקציית המיזוג או ההצבעה.
עם זאת, הפעלת מספר עבודות הדרכה עשויה להכניס תקורה תפעולית ועלויות, במיוחד אם האנסמבל שלך דורש הדרכה על אותם נתונים. באופן דומה, אירוח מודלים שונים בנקודות קצה או קונטיינרים נפרדים ושילוב תוצאות החיזוי שלהם לדיוק טוב יותר מצריך פניות מרובות, ולכן מציג מאמצי ניהול, עלויות וניטור נוספים. לדוגמה, SageMaker תומך הרכב דגמי ML באמצעות Triton Inference Server, אבל פתרון זה דורש שהדגמים או הרכבי הדגמים יהיו נתמכים על ידי ה-Triton backend. בנוסף, נדרשים מאמצים נוספים מהלקוח כדי להגדיר את שרת ה-Triton ולמידה נוספת כדי להבין כיצד פועלים אחוריים שונים של Triton. לכן, לקוחות מעדיפים דרך פשוטה יותר ליישם פתרונות שבהם הם צריכים לשלוח את ההזמנה פעם אחת לנקודת הקצה ויש להם את הגמישות לשלוט כיצד התוצאות מצטברות כדי ליצור את הפלט הסופי.
סקירת פתרונות
כדי להתמודד עם החששות הללו, אנו עוברים על דוגמה של אימון אנסמבל באמצעות עבודת אימון אחת, אופטימיזציה של הפרמטרים ההיפרפרמטרים של המודל ופריסה שלו באמצעות קונטיינר בודד לנקודת קצה ללא שרת. אנו משתמשים בשני דגמים עבור ערימת האנסמבל שלנו: CatBoost ו-XGBoost (שניהם מחזקים הרכבים). עבור הנתונים שלנו, אנו משתמשים ב- מערך הנתונים של סוכרת [2] מספריית sikit-learn: הוא מורכב מ-10 מאפיינים (גיל, מין, מסת גוף, לחץ דם ושש מדידות בדם), והמודל שלנו חוזה את התקדמות המחלה שנה אחת לאחר איסוף תכונות הבסיס (רגרסיה דֶגֶם).
ניתן למצוא את מאגר הקודים המלא ב- GitHub.
אימון דגמים מרובים בעבודה אחת של SageMaker
להכשרת המודלים שלנו, אנו משתמשים בעבודות הדרכה של SageMaker במצב Script. עם מצב Script, אתה יכול לכתוב אימון מותאם אישית (ובהמשך קוד מסקנות) תוך שימוש בקונטיינרים של SageMaker Framework. מיכלי מסגרת מאפשרים לך להשתמש בסביבות מוכנות המנוהלות על ידי AWS הכוללות את כל התצורה והמודולים הדרושים. כדי להדגים כיצד ניתן להתאים אישית מיכל מסגרת, כדוגמה, אנו משתמשים בקונטיינר SKLearn הבנוי מראש, שאינו כולל את חבילות XGBoost ו-CatBoost. ישנן שתי אפשרויות להוסיף חבילות אלה: או להאריך את המכולה המובנית כדי להתקין CatBoost ו-XGBoost (ולאחר מכן לפרוס כמיכל מותאם אישית), או להשתמש בתכונת מצב סקריפט הדרכה של SageMaker, המאפשרת לך לספק requirements.txt
קובץ בעת יצירת מעריך ההכשרה. עבודת ההדרכה של SageMaker מתקינה את הספריות המפורטות ב- requirements.txt
קובץ במהלך זמן הריצה. בדרך זו, אינך צריך לנהל את מאגר התמונות של Docker משלך והוא מספק גמישות רבה יותר להפעלת סקריפטי אימון הזקוקים לחבילות Python נוספות.
בלוק הקוד הבא מציג את הקוד שבו אנו משתמשים כדי להתחיל את האימון. ה entry_point
נקודות פרמטר לתסריט ההדרכה שלנו. אנו משתמשים גם בשניים מהתכונות המשכנעות של SageMaker SDK API:
- ראשית, אנו מציינים את הנתיב המקומי לספריית המקור שלנו ואת התלות ב-
source_dir
וdependencies
פרמטרים, בהתאמה. ה-SDK ידחוס ויעלה את הספריות האלה שירות אחסון פשוט של אמזון (Amazon S3) ו- SageMaker יהפכו אותם לזמינים במופע ההדרכה תחת ספריית העבודה/opt/ml/code
. - שנית, אנו משתמשים ב-SDK
SKLearn
אובייקט estimator עם גירסת Python ו-framework המועדפת עלינו, כך ש-SageMaker ימשוך את המיכל המתאים. הגדרנו גם מדד אימון מותאם אישית 'validation:rmse
', אשר ייפלט ביומני האימונים ויילכד על ידי SageMaker. מאוחר יותר, אנו משתמשים במדד זה כמדד האובייקטיבי בעבודת הכוונון.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
לאחר מכן, אנו כותבים את תסריט ההדרכה שלנו (multi_model_hpo.py). התסריט שלנו עוקב אחר זרימה פשוטה: לכידת היפרפרמטרים שאיתו הוגדרה העבודה ו לאמן את דגם ה-CatBoost ו דגם XGBoost. אנו מיישמים גם א צלב קיפול k פונקציית אימות. ראה את הקוד הבא:
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
לאחר אימון המודלים, אנו מחשבים את הממוצע של תחזיות CatBoost ו-XGBoost כאחד. התוצאה, pred_mean
, היא התחזית הסופית של האנסמבל שלנו. לאחר מכן, אנו קובעים את mean_squared_error
נגד ערכת האימות. val_rmse
משמש להערכת האנסמבל כולו במהלך האימון. שימו לב שאנו מדפיסים גם את ערך ה-RMSE בתבנית שמתאימה לביטוי הרגולרי בו השתמשנו ב- metric_definitions
. מאוחר יותר, SageMaker Automatic Model Tuning ישתמש בזה כדי ללכוד את המדד האובייקטיבי. ראה את הקוד הבא:
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
לבסוף, הסקריפט שלנו שומר את שני חפצי הדגם בתיקיית הפלט שנמצאת ב /opt/ml/model
.
כאשר עבודת הדרכה הושלמה, SageMaker אורזת ומעתיקה את התוכן של /opt/ml/model
ספרייה כאובייקט בודד בפורמט TAR דחוס למיקום S3 שציינת בתצורת העבודה. במקרה שלנו, SageMaker מאגדת את שני הדגמים בקובץ TAR ומעלה אותו לאמזון S3 בתום עבודת ההדרכה. ראה את הקוד הבא:
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
לסיכום, כדאי לשים לב שבהליך זה הורדנו את הנתונים פעם אחת והכשרנו שני דגמים באמצעות עבודת הדרכה אחת.
כוונון דגם אנסמבל אוטומטי
מכיוון שאנו בונים אוסף של מודלים של ML, חקירת כל התמורות האפשריות של ההיפרפרמטרים אינה מעשית. SageMaker מציעה כוונון דגם אוטומטי (AMT), אשר מחפש את ההיפרפרמטרים הטובים ביותר של המודל על ידי התמקדות בשילובים המבטיחים ביותר של ערכים בטווחים שאתה מציין (זה תלוי בך להגדיר את הטווחים הנכונים לחקור). SageMaker תומך במספר שיטות אופטימיזציה בשבילך לבחירה.
אנו מתחילים בהגדרת שני החלקים של תהליך האופטימיזציה: המדד האובייקטיבי וההיפרפרמטרים שאנו רוצים לכוונן. בדוגמה שלנו, אנו משתמשים באימות RMSE כמדד היעד ואנחנו מכוונים eta
ו max_depth
(עבור היפרפרמטרים אחרים, עיין ב XGBoost היפרפרמטרים ו היפרפרמטרים של CatBoost):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
אנחנו גם צריכים להבטיח ב תסריט אימון שההיפרפרמטרים שלנו אינם מקודדים קשיחים והם נשלפים מהארגומנטים של SageMaker זמן הריצה:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker גם כותב את הפרמטרים ההיפר לקובץ JSON וניתן לקרוא ממנו /opt/ml/input/config/hyperparameters.json
על מופע האימון.
בדומה ל-CatBoost, אנו גם לוכדים את הפרמטרים ההיפר-פרמטרים עבור מודל XGBoost (שים לב לכך objective
ו num_round
לא מכוונים):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
לבסוף, אנו משיקים את עבודת כוונון היפרפרמטרים באמצעות התצורות הבאות:
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
בסיום העבודה, תוכל לאחזר את הערכים עבור עבודת ההדרכה הטובה ביותר (עם מינימום RMSE):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
למידע נוסף על AMT, עיין ב בצע כוונון דגמים אוטומטי עם SageMaker.
פְּרִיסָה
כדי לפרוס את האנסמבל המותאם אישית שלנו, עלינו לספק סקריפט שיטפל בבקשת ההסקה והגדרת אירוח של SageMaker. בדוגמה זו, השתמשנו בקובץ בודד הכולל גם את קוד ההדרכה וגם את קוד ההסקה (multi_model_hpo.py). SageMaker משתמש בקוד תחת if _ name _ == "_ main _"
לאימון ולפונקציות model_fn
, input_fn
, ו predict_fn
בעת פריסה והגשה של המודל.
תסריט מסקנות
כמו באימון, אנו משתמשים במיכל המסגרת של SageMaker SKLearn עם סקריפט מסקנות משלנו. התסריט יישם שלוש שיטות הנדרשות על ידי SageMaker.
ראשית, model_fn
השיטה קוראת את קבצי החפצים השמורים שלנו וטוענת אותם לזיכרון. במקרה שלנו, השיטה מחזירה את האנסמבל שלנו כ all_model
, שהיא רשימת Python, אבל אתה יכול גם להשתמש במילון עם שמות מודלים כמקשים.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
שנית, input_fn
השיטה מבטלת את נתוני קלט הבקשה שיועברו למטפל בהסקת ההסקות שלנו. למידע נוסף על מטפלי קלט, עיין ב התאמת מיכל היסק משלך.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
שלישית, predict_fn
השיטה אחראית לקבל תחזיות מהמודלים. השיטה לוקחת את המודל ואת הנתונים המוחזרים ממנו input_fn
כפרמטרים ומחזיר את התחזית הסופית. בדוגמה שלנו, אנו מקבלים את תוצאת CatBoost מהחבר הראשון ברשימת הדגמים (model[0]
) וה-XGBoost מהחבר השני (model[1]
), ואנחנו משתמשים בפונקציית מיזוג שמחזירה את הממוצע של שני התחזיות:
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
עכשיו, כשיש לנו את המודלים המיומנים שלנו ואת תסריט ההסקות שלנו, אנחנו יכולים להגדיר את הסביבה לפרוס את האנסמבל שלנו.
SageMaker Serverless Inference
למרות שיש אפשרויות אירוח רבות ב- SageMaker, בדוגמה זו, אנו משתמשים בנקודת קצה ללא שרת. נקודות קצה ללא שרת מפעילות אוטומטית משאבי מחשוב ומרחיבים אותם פנימה והחוצה בהתאם לתעבורה. זה מסיר את ההרמה הכבדה הבלתי מובחנת של ניהול שרתים. אפשרות זו אידיאלית לעומסי עבודה שיש להם תקופות סרק בין פרצי תנועה ויכולים לסבול התחלות קרות.
הגדרת נקודת הקצה ללא שרת היא פשוטה מכיוון שאיננו צריכים לבחור סוגי מופעים או לנהל מדיניות קנה מידה. אנחנו צריכים רק לספק שני פרמטרים: גודל זיכרון ותמינות מקסימלית. נקודת הקצה ללא שרת מקצה אוטומטית משאבי מחשוב פרופורציונליים לזיכרון שבחרת. אם תבחר בגודל זיכרון גדול יותר, למיכל שלך יש גישה ליותר מעבדי vCPU. עליך לבחור תמיד את גודל הזיכרון של נקודת הקצה שלך בהתאם לגודל הדגם שלך. הפרמטר השני שעלינו לספק הוא מקביליות מרבית. עבור נקודת קצה בודדת, ניתן להגדיר פרמטר זה עד 200 (נכון לכתיבת שורות אלה, המגבלה למספר הכולל של נקודות קצה ללא שרת באזור היא 50). עליך לשים לב שהמקיפות המקסימלית עבור נקודת קצה בודדת מונעת מנקודת קצה זו לתפוס את כל הפניות המותרות עבור חשבונך, מכיוון שכל קריאות נקודת קצה מעבר למקסימום מצטמצמות (למידע נוסף על המקבילות הכוללת עבור כל נקודות הקצה ללא שרת לכל אזור, ראה ל נקודות קצה ומכסות של אמזון SageMaker).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
כעת, לאחר שהגדרנו את נקודת הקצה, נוכל סוף סוף לפרוס את המודל שנבחר במשימת אופטימיזציית ההיפרפרמטרים שלנו:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
לנקות את
למרות שלנקודות קצה ללא שרת יש עלות אפס כאשר אינן בשימוש, לאחר שתסיים להפעיל את הדוגמה הזו, עליך להקפיד למחוק את נקודת הקצה:
predictor.delete_endpoint(predictor.endpoint)
סיכום
בפוסט זה, כיסינו גישה אחת לאימון, אופטימיזציה ופריסה של אנסמבל מותאם אישית. פירטנו את התהליך של שימוש בעבודת אימון אחת לאימון מודלים מרובים, כיצד להשתמש בכוונון מודלים אוטומטי כדי לייעל את הפרמטרים ההיפר-פרמטרים של האנסמבל, וכיצד לפרוס נקודת קצה אחת ללא שרת הממזגת את ההסקות ממספר מודלים.
שימוש בשיטה זו פותר בעיות עלות ותפעול פוטנציאליות. עלות עבודת הכשרה מבוססת על המשאבים שבהם אתה משתמש למשך השימוש. על ידי הורדת הנתונים פעם אחת בלבד להכשרת שני הדגמים, הפחתנו במחצית את שלב הורדת הנתונים של העבודה ואת הנפח המשומש המאחסן את הנתונים, ובכך הפחתנו את העלות הכוללת של עבודת ההדרכה. יתר על כן, עבודת AMT הריצה ארבע עבודות הכשרה, כל אחת עם הזמן והאחסון המופחתים לעיל, כך שמייצגות פי 4 בחיסכון בעלויות! לגבי פריסת מודלים על נקודת קצה ללא שרת, מכיוון שאתה משלם גם עבור כמות הנתונים המעובדים, על ידי הפעלת נקודת הקצה פעם אחת בלבד עבור שני דגמים, אתה משלם מחצית מדמי הקלט/פלט.
למרות שפוסט זה הראה רק את היתרונות של שני דגמים, אתה יכול להשתמש בשיטה זו כדי לאמן, לכוון ולפרוס דגמי אנסמבל רבים כדי לראות אפקט גדול עוד יותר.
הפניות
[1] ראג' קומאר, פ' ארון; Selvakumar, S. (2011). "זיהוי מתקפת מניעת שירות מבוזרת באמצעות אנסמבל של מסווג עצבי". תקשורת מחשבים. 34 (11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] בראדלי אפרון, טרבור האסטי, איאן ג'ונסטון ורוברט טיבשיראני (2004) "רגרסיית הזווית הפחותה", Annals of Statistics (עם דיון), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
על הכותבים
מלאני לי, דוקטורט, הוא מומחה בכיר בינה מלאכותית/ML TAM ב-AWS שבסיסו בסידני, אוסטרליה. היא עוזרת ללקוחות ארגוניים לבנות פתרונות הממנפים את כלי ה-AI/ML המתקדמים ביותר ב-AWS ומספקת הנחיות לגבי ארכיטקטורה והטמעה של פתרונות למידת מכונה עם שיטות עבודה מומלצות. בזמנה הפנוי היא אוהבת לחקור את הטבע בחוץ ולבלות עם משפחה וחברים.
אורי רוזנברג הוא המנהל הטכני מומחה AI ו-ML לאירופה, המזרח התיכון ואפריקה. בהתבסס מישראל, אורי פועל להעצמת לקוחות ארגוניים לתכנן, לבנות ולהפעיל עומסי עבודה של ML בקנה מידה. בזמנו הפנוי, הוא נהנה מרכיבה על אופניים, טיולים רגליים וממזער RMSEs.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :יש ל
- :הוא
- :לֹא
- :איפה
- ][עמ'
- $ למעלה
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- אודות
- גישה
- פי
- חֶשְׁבּוֹן
- דיוק
- מדויק
- להוסיף
- נוסף
- בנוסף
- כתובת
- אפריקה
- לאחר
- נגד
- גיל
- AI
- AI / ML
- אַלגוֹרִיתְם
- אלגוריתמים
- תעשיות
- מותר
- מאפשר
- גם
- תמיד
- אמזון בעברית
- אמזון SageMaker
- אמזון שירותי אינטרנט
- בין
- כמות
- an
- ו
- כל
- יישומים
- גישה
- ARE
- טיעונים
- AS
- At
- לתקוף
- אוסטרליה
- מכני עם סלילה אוטומטית
- באופן אוטומטי
- זמין
- ממוצעת
- רָחוֹק
- AWS
- קצה אחורי
- מבוסס
- Baseline
- BE
- כי
- להיות
- היה
- להיות
- מועיל
- הטבות
- הטוב ביותר
- שיטות עבודה מומלצות
- מוטב
- בֵּין
- מעבר
- הִתמַזְגוּת
- תערובות
- לחסום
- דם
- לחץ דם
- גוּף
- חיזוק
- שניהם
- להביא
- מביאים
- לִבנוֹת
- בִּניָן
- מובנה
- צרורות
- אבל
- by
- לחשב
- CAN
- ללכוד
- נתפס
- מקרה
- קטגוריות
- כבול
- חיובים
- בחרו
- מיון
- קוד
- קר
- אוסף
- שילובים
- שילוב
- Common
- תקשורת
- קהילה
- משכנע
- להשלים
- לחשב
- המחשב
- ראייה ממוחשבת
- דאגות
- תְצוּרָה
- מוגדר
- מורכב
- מכולה
- מכולות
- תוכן
- לִשְׁלוֹט
- תוֹאֵם
- עלות
- עלות תועלת
- מכוסה
- יוצרים
- מנהג
- לקוח
- לקוחות
- אישית
- אבטחת סייבר
- נתונים
- קבלת החלטות
- מוקדש
- מחדל
- לְהַגדִיר
- מוגדר
- הגדרה
- להפגין
- מניעת שירות
- תלוי
- לפרוס
- פריסה
- פריסה
- עיצוב
- תבניות עיצוב
- מְפוֹרָט
- איתור
- לקבוע
- אחר
- ספריות
- לדון
- דיון
- מַחֲלָה
- שונה
- סַוָר
- לא
- לא
- להורדה
- שפך
- משך
- בְּמַהֲלָך
- כל אחד
- מזרח
- השפעה
- יעיל
- יעילות
- מַאֲמָצִים
- או
- לצאת
- להסמיך
- לאפשר
- סוף
- נקודת קצה
- לְהַבטִיחַ
- מִפְעָל
- סביבה
- סביבות
- במיוחד
- אירופה
- הערכה
- אֲפִילוּ
- התפתח
- דוגמה
- דוגמאות
- לחקור
- היכרות
- נוסף
- משפחה
- מאפיין
- תכונות
- שלח
- קבצים
- סופי
- בסופו של דבר
- כספי
- ראשון
- גמישות
- תזרים
- להתמקד
- התמקדות
- הבא
- כדלקמן
- בעד
- יער
- פוּרמָט
- מצא
- ארבע
- מסגרת
- מסגרות
- הונאה
- גילוי הונאה
- חברים
- החל מ-
- מלא
- פונקציה
- פונקציות
- יתר על כן
- לְהַשִׂיג
- זכייה
- ליצור
- לקבל
- מקבל
- נתן
- יותר
- הדרכה
- חצי
- לטפל
- מטפל
- יש
- he
- כבד
- הרמת כבד
- עוזר
- לה
- גבוה יותר
- שֶׁלוֹ
- המארח
- אירוח
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- אופטימיזציה של היפר-פרמטרים
- כוונון היפר-פרמטר
- אידאל
- להתבטל
- if
- תמונה
- ליישם
- יישום
- מיישמים
- חשוב
- in
- לכלול
- כולל
- בנפרד
- בנפרד
- מידע
- תשתית
- קלט
- להתקין
- למשל
- במקום
- מוֹדִיעִין
- אל תוך
- מבוא
- מציג
- הופעל
- מעורר
- ישראל
- בעיות
- IT
- עבודה
- מקומות תעסוקה
- jpg
- ג'סון
- מפתחות
- סוג
- ידוע
- שפה
- גדול יותר
- מאוחר יותר
- לשגר
- למידה
- מינוף
- Li
- ספריות
- סִפְרִיָה
- רמה
- להגביל
- רשימה
- ברשימה
- המון
- מקומי
- ממוקם
- מיקום
- רישום
- נראה
- אוהב
- מכונה
- למידת מכונה
- ראשי
- הרוב
- לעשות
- לנהל
- הצליח
- ניהול
- מנהל
- ניהול
- מסה
- מקסימום
- אומר
- מידות
- רפואי
- חבר
- זכרון
- למזג
- שיטה
- שיטות
- מטרי
- אמצע
- המזרח התיכון
- יכול
- מינימלי
- מזעור
- ML
- מצב
- מודל
- מודלים
- מודולים
- ניטור
- יותר
- רוב
- מספר
- שם
- שמות
- טבעי
- עיבוד שפה טבעית
- טבע
- הכרחי
- צורך
- הבא
- NLP
- הודעה..
- מספר
- רב
- אובייקט
- מטרה
- of
- המיוחדות שלנו
- לעתים קרובות
- on
- פעם
- ONE
- רק
- להפעיל
- מבצעי
- אופטימיזציה
- מטב
- מיטוב
- אפשרות
- אפשרויות
- or
- OS
- אחר
- שלנו
- הַחוּצָה
- בחוץ
- תפוקה
- מקיף
- שֶׁלוֹ
- חבילות
- פרמטר
- פרמטרים
- חלק
- חלקים
- עבר
- נתיב
- תבנית
- דפוסי
- תשלום
- עבור
- תקופות
- שלב
- צינור
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודות
- מדיניות
- פופולרי
- אפשרי
- הודעה
- פוטנציאל
- פרקטיקות
- ניבוי
- נבואה
- התחזיות
- חיזוי
- תחזית
- לְהַעֲדִיף
- מועדף
- לחץ
- מונע
- קודם
- קופונים להדפסה
- הליך
- תהליך
- מעובד
- תהליך
- לייצר
- התקדמות
- מבטיח
- מוכח
- לספק
- מספק
- פיתון
- אקראי
- מהר
- חומר עיוני
- להפחית
- מופחת
- הפחתה
- מתייחס
- להתייחס
- regex
- באזור
- מרחוק
- מאגר
- לייצג
- לבקש
- נדרש
- דורש
- משאבים
- בהתאמה
- אחראי
- תוצאה
- תוצאות
- לַחֲזוֹר
- החזרות
- תקין
- רוברט
- תפקיד
- הפעלה
- ריצה
- s
- בעל חכמים
- SageMaker כוונון דגם אוטומטי
- אותו
- שמור
- חסכת
- סולם
- דרוג
- מדענים
- סקיקיט-לימוד
- סקריפטים
- Sdk
- שְׁנִיָה
- לִרְאוֹת
- לראות
- נבחר
- לשלוח
- לחצני מצוקה לפנסיונרים
- נפרד
- רצף
- נַסיוֹב
- ללא שרת
- שרתים
- שרות
- שירותים
- הגשה
- סט
- הגדרות
- כמה
- מִין
- היא
- צריך
- הראה
- הופעות
- באופן דומה
- פָּשׁוּט
- יחיד
- שישה
- מידה
- So
- פִּתָרוֹן
- פתרונות
- פותר
- מָקוֹר
- מומחה
- ספציפי
- מפורט
- לבלות
- לערום
- מְגוּבָּב
- הערימה
- סטנפורד
- התחלה
- התחלות
- מדינה-of-the-art
- סטטיסטיקה
- צעדים
- אחסון
- מאוחסן
- חנויות
- פשוט
- חזק יותר
- כזה
- סיכום
- נתמך
- תומך
- בטוח
- סידני
- לוקח
- נטילת
- יעד
- משימות
- טכני
- טכניקות
- טכנולוגיה
- שׂוֹכֵר
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- שם.
- בכך
- לכן
- אלה
- הֵם
- זֶה
- אלה
- אם כי?
- שְׁלוֹשָׁה
- דרך
- זמן
- פִּי
- ל
- יַחַד
- כלים
- נושא
- סה"כ
- כוח משיכה
- תְנוּעָה
- רכבת
- מְאוּמָן
- הדרכה
- עצים
- טרבור
- טריטון
- שתיים
- סוגים
- תחת
- להבין
- נוֹהָג
- להשתמש
- מְשׁוּמָשׁ
- שימושים
- באמצעות
- אימות
- ערך
- ערכים
- שונים
- גרסה
- חזון
- כֶּרֶך
- הצבעה
- רוצה
- היה
- דֶרֶך..
- דרכים
- we
- אינטרנט
- שירותי אינטרנט
- מִשׁקָל
- היו
- מה
- מתי
- אשר
- בזמן
- כל
- למה
- יצטרך
- עם
- בתוך
- תיק עבודות
- עובד
- עובד
- לכתוב
- כתיבה
- XGBoost
- שנה
- אתה
- זפירנט
- אפס