Künstliche Intelligenz (KI) ist zu einem wichtigen und beliebten Thema in der Technologie-Community geworden. Im Zuge der Weiterentwicklung der KI sind verschiedene Arten von Modellen für maschinelles Lernen (ML) entstanden. Ein Ansatz, bekannt als Ensemblemodellierunghat bei Datenwissenschaftlern und Praktikern schnell an Bedeutung gewonnen. In diesem Beitrag diskutieren wir, was Ensemble-Modelle sind und warum ihre Verwendung von Vorteil sein kann. Anschließend stellen wir ein Beispiel dafür vor, wie Sie Ihre benutzerdefinierten Ensembles mit trainieren, optimieren und bereitstellen können Amazon Sage Maker.
Ensemble-Lernen bezieht sich auf die Verwendung mehrerer Lernmodelle und Algorithmen, um genauere Vorhersagen zu erhalten als jeder einzelne, individuelle Lernalgorithmus. Sie haben sich in verschiedenen Anwendungen und Lernumgebungen als effizient erwiesen, etwa in den Bereichen Cybersicherheit [1] und Betrugserkennung, Fernerkundung, Vorhersage der besten nächsten Schritte bei Finanzentscheidungen, medizinische Diagnose und sogar Computer Vision und Verarbeitung natürlicher Sprache (NLP). Aufgaben. Wir neigen dazu, Ensembles nach den Techniken zu kategorisieren, mit denen sie trainiert werden, nach ihrer Zusammensetzung und nach der Art und Weise, wie sie die verschiedenen Vorhersagen zu einer einzigen Schlussfolgerung zusammenführen. Zu diesen Kategorien gehören:
- Stärkung – Nacheinander mehrere schwache Lernende trainieren, wobei jede falsche Vorhersage von vorherigen Lernenden in der Reihenfolge ein höheres Gewicht und einen höheren Input für den nächsten Lernenden erhält, wodurch ein stärkerer Lernender entsteht. Beispiele hierfür sind AdaBoost, Gradient Boosting und XGBoost.
- Bagging – Verwendet mehrere Modelle, um die Varianz eines einzelnen Modells zu reduzieren. Beispiele hierfür sind Random Forest und Extra Trees.
- Stapeln (Mischen) – Verwendet häufig heterogene Modelle, bei denen die Vorhersagen jedes einzelnen Schätzers gestapelt und als Eingabe für einen endgültigen Schätzer verwendet werden, der die Vorhersage verarbeitet. Der Trainingsprozess dieses endgültigen Schätzers verwendet häufig eine Kreuzvalidierung.
Es gibt mehrere Methoden, um die Vorhersagen zu einer einzigen zu kombinieren, die das Modell schließlich erzeugt. Beispielsweise kann ein Metaschätzer wie „Linear Learner“ verwendet werden, eine Abstimmungsmethode, die mehrere Modelle verwendet, um eine Vorhersage basierend auf Mehrheitsentscheidungen für Klassifizierungsaufgaben zu treffen. oder ein Ensemble-Mittelwert für die Regression.
Obwohl mehrere Bibliotheken und Frameworks Implementierungen von Ensemble-Modellen bereitstellen, wie z. B. Anstatt jedoch dedizierte Ressourcen für jedes Modell zu verwenden (dedizierte Trainings- und Tuning-Jobs und Hosting-Endpunkte pro Modell), trainieren, optimieren und stellen wir ein benutzerdefiniertes Ensemble (mehrere Modelle) mithilfe eines einzigen SageMaker-Trainingsjobs und eines einzelnen Tuning-Jobs bereit Bereitstellung auf einem einzigen Endpunkt, wodurch mögliche Kosten und Betriebskosten reduziert werden.
BYOE: Bringen Sie Ihr eigenes Ensemble mit
Es gibt mehrere Möglichkeiten, heterogene Ensemble-Modelle mit SageMaker zu trainieren und bereitzustellen: Sie können jedes Modell in einem trainieren separater Ausbildungsauftrag und optimieren Sie jedes Modell separat mit Automatische Modelloptimierung von Amazon SageMaker. Beim Hosten dieser Modelle bietet SageMaker verschiedene kostengünstige Möglichkeiten, mehrere Modelle auf derselben Mandanteninfrastruktur zu hosten. Detaillierte Bereitstellungsmuster für diese Art von Einstellungen finden Sie in Modellieren von Hosting-Mustern in Amazon SageMaker, Teil 1: Allgemeine Entwurfsmuster zum Erstellen von ML-Anwendungen auf Amazon SageMaker. Zu diesen Mustern gehört die Verwendung mehrerer Endpunkte (für jedes trainierte Modell) oder eines einzelnen Endpunkt mit mehreren Modellen, oder sogar eine einzelne Multi-Container-Endpunkt wobei die Container einzeln oder in einer Pipeline verkettet aufgerufen werden können. Alle diese Lösungen beinhalten einen Metaschätzer (z. B. in einem AWS Lambda Funktion), die jedes Modell aufruft und die Misch- oder Abstimmungsfunktion implementiert.
Allerdings kann die Ausführung mehrerer Trainingsjobs zu Betriebs- und Kostenaufwand führen, insbesondere wenn Ihr Ensemble ein Training für dieselben Daten erfordert. Ebenso erfordert das Hosten verschiedener Modelle auf separaten Endpunkten oder Containern und das Kombinieren ihrer Vorhersageergebnisse für eine bessere Genauigkeit mehrere Aufrufe und führt daher zu zusätzlichem Verwaltungs-, Kosten- und Überwachungsaufwand. Beispielsweise unterstützt SageMaker Ensemble-ML-Modelle mit Triton Inference Server, aber diese Lösung erfordert, dass die Modelle oder Modellensembles vom Triton-Backend unterstützt werden. Darüber hinaus sind vom Kunden zusätzliche Anstrengungen zur Einrichtung des Triton-Servers und zusätzliche Kenntnisse erforderlich, um zu verstehen, wie verschiedene Triton-Backends funktionieren. Daher bevorzugen Kunden eine einfachere Möglichkeit zur Implementierung von Lösungen, bei der sie den Aufruf nur einmal an den Endpunkt senden müssen und die Flexibilität haben, zu steuern, wie die Ergebnisse aggregiert werden, um die endgültige Ausgabe zu generieren.
Lösungsüberblick
Um diese Bedenken auszuräumen, gehen wir ein Beispiel für Ensemble-Training mit einem einzelnen Trainingsjob durch, optimieren die Hyperparameter des Modells und stellen es mithilfe eines einzelnen Containers auf einem serverlosen Endpunkt bereit. Wir verwenden zwei Modelle für unseren Ensemble-Stack: CatBoost und XGBoost (bei beiden handelt es sich um Boosting-Ensembles). Für unsere Daten verwenden wir die Diabetes-Datensatz [2] aus der scikit-learn-Bibliothek: Es besteht aus 10 Merkmalen (Alter, Geschlecht, Körpermasse, Blutdruck und sechs Blutserummessungen), und unser Modell sagt das Fortschreiten der Krankheit ein Jahr nach der Erfassung der Basismerkmale voraus (eine Regression). Modell).
Das vollständige Code-Repository finden Sie unter GitHub.
Trainieren Sie mehrere Modelle in einem einzigen SageMaker-Job
Zum Training unserer Modelle verwenden wir SageMaker-Trainingsjobs im Skriptmodus. Im Skriptmodus können Sie benutzerdefiniertes Training (und späteren Inferenzcode) schreiben, während Sie SageMaker-Framework-Container verwenden. Mit Framework-Containern können Sie von AWS verwaltete vorgefertigte Umgebungen nutzen, die alle erforderlichen Konfigurationen und Module enthalten. Um zu demonstrieren, wie Sie einen Framework-Container anpassen können, verwenden wir als Beispiel den vorgefertigten SKLearn-Container, der die Pakete XGBoost und CatBoost nicht enthält. Es gibt zwei Möglichkeiten, diese Pakete hinzuzufügen: entweder Erweitern Sie den Einbaucontainer um CatBoost und requirements.txt
Datei beim Erstellen des Trainingsschätzers. Der SageMaker-Trainingsjob installiert die aufgelisteten Bibliotheken im requirements.txt
Datei während der Laufzeit. Auf diese Weise müssen Sie Ihr eigenes Docker-Image-Repository nicht verwalten und es bietet mehr Flexibilität beim Ausführen von Trainingsskripten, die zusätzliche Python-Pakete benötigen.
Der folgende Codeblock zeigt den Code, den wir zum Starten des Trainings verwenden. Der entry_point
Parameter verweist auf unser Trainingsskript. Wir nutzen außerdem zwei der überzeugenden Funktionen der SageMaker SDK API:
- Zuerst geben wir den lokalen Pfad zu unserem Quellverzeichnis und den Abhängigkeiten im an
source_dir
unddependencies
Parameter bzw. Das SDK komprimiert diese Verzeichnisse und lädt sie hoch Amazon Simple Storage-Service (Amazon S3) und SageMaker stellen sie auf der Trainingsinstanz im Arbeitsverzeichnis zur Verfügung/opt/ml/code
. - Zweitens verwenden wir das SDK
SKLearn
Estimator-Objekt mit unserer bevorzugten Python- und Framework-Version, damit SageMaker den entsprechenden Container abruft. Wir haben auch eine benutzerdefinierte Trainingsmetrik definiert.validation:rmse
', der in den Trainingsprotokollen ausgegeben und von SageMaker erfasst wird. Später verwenden wir diese Metrik als objektive Metrik im Tuning-Job.
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)
Als nächstes schreiben wir unser Trainingsskript (multi_model_hpo.py). Unser Skript folgt einem einfachen Ablauf: Hyperparameter erfassen mit dem der Job konfiguriert wurde und Trainieren Sie das CatBoost-Modell und XGBoost-Modell. Wir implementieren auch eine k-faches Kreuz Validierungsfunktion. Siehe den folgenden Code:
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)
Nachdem die Modelle trainiert wurden, berechnen wir den Mittelwert der CatBoost- und XGBoost-Vorhersagen. Das Ergebnis, pred_mean
, ist die endgültige Vorhersage unseres Ensembles. Dann bestimmen wir die mean_squared_error
gegen den Validierungssatz. val_rmse
wird zur Bewertung des gesamten Ensembles während des Trainings verwendet. Beachten Sie, dass wir den RMSE-Wert auch in einem Muster drucken, das zu dem regulären Ausdruck passt, den wir im verwendet haben metric_definitions
. Später wird SageMaker Automatic Model Tuning dies verwenden, um die objektive Metrik zu erfassen. Siehe den folgenden Code:
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}")
Schließlich speichert unser Skript beide Modellartefakte im Ausgabeordner unter /opt/ml/model
.
Wenn ein Schulungsauftrag abgeschlossen ist, verpackt und kopiert SageMaker den Inhalt des /opt/ml/model
Verzeichnis als einzelnes Objekt im komprimierten TAR-Format an den S3-Speicherort, den Sie in der Jobkonfiguration angegeben haben. In unserem Fall bündelt SageMaker die beiden Modelle in einer TAR-Datei und lädt sie am Ende des Trainingsjobs auf Amazon S3 hoch. Siehe den folgenden Code:
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))
Zusammenfassend sollten Sie beachten, dass wir bei diesem Verfahren die Daten einmal heruntergeladen und zwei Modelle mit einem einzigen Trainingsauftrag trainiert haben.
Automatische Abstimmung des Ensemble-Modells
Da wir eine Sammlung von ML-Modellen erstellen, ist die Untersuchung aller möglichen Hyperparameter-Permutationen unpraktisch. SageMaker-Angebote Automatische Modelloptimierung (AMT), das nach den besten Modellhyperparametern sucht, indem es sich auf die vielversprechendsten Wertekombinationen innerhalb der von Ihnen angegebenen Bereiche konzentriert (es liegt an Ihnen, die richtigen Bereiche für die Untersuchung zu definieren). SageMaker unterstützt mehrere Optimierungsmethoden für Sie zur Auswahl.
Wir beginnen mit der Definition der beiden Teile des Optimierungsprozesses: der objektiven Metrik und der Hyperparameter, die wir optimieren möchten. In unserem Beispiel verwenden wir den Validierungs-RMSE als Zielmetrik und optimieren ihn eta
und max_depth
(Weitere Hyperparameter finden Sie unter XGBoost-Hyperparameter und CatBoost-Hyperparameter):
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"
Wir müssen auch in der sicherstellen Trainingsskript dass unsere Hyperparameter nicht fest codiert sind und aus den SageMaker-Laufzeitargumenten gezogen werden:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker schreibt die Hyperparameter auch in eine JSON-Datei und kann daraus gelesen werden /opt/ml/input/config/hyperparameters.json
auf der Trainingsinstanz.
Wie CatBoost erfassen wir auch die Hyperparameter für das XGBoost-Modell (beachten Sie das). objective
und num_round
sind nicht gestimmt):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
Abschließend starten wir den Hyperparameter-Tuning-Job mit diesen Konfigurationen:
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)
Wenn der Job abgeschlossen ist, können Sie die Werte für den besten Trainingsjob (mit minimalem RMSE) abrufen:
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Weitere Informationen zu AMT finden Sie unter Führen Sie mit SageMaker eine automatische Modelloptimierung durch.
Einsatz
Um unser benutzerdefiniertes Ensemble bereitzustellen, müssen wir ein Skript bereitstellen, um die Rückschlussanforderung zu verarbeiten und das SageMaker-Hosting zu konfigurieren. In diesem Beispiel haben wir eine einzelne Datei verwendet, die sowohl den Trainings- als auch den Inferenzcode enthält (multi_model_hpo.py). SageMaker verwendet den Code unter if _ name _ == "_ main _"
für die Ausbildung und die Funktionen model_fn
, input_fn
und predict_fn
beim Bereitstellen und Bereitstellen des Modells.
Inferenzskript
Wie beim Training verwenden wir den SageMaker SKLearn-Framework-Container mit unserem eigenen Inferenzskript. Das Skript implementiert drei von SageMaker benötigte Methoden.
Zuerst wird der model_fn
Die Methode liest unsere gespeicherten Modellartefaktdateien und lädt sie in den Speicher. In unserem Fall gibt die Methode unser Ensemble als zurück all_model
, bei der es sich um eine Python-Liste handelt, Sie können aber auch ein Wörterbuch mit Modellnamen als Schlüssel verwenden.
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
Zweitens, die input_fn
Die Methode deserialisiert die Anforderungseingabedaten, die an unseren Inferenzhandler übergeben werden sollen. Weitere Informationen zu Eingabehandlern finden Sie unter Anpassen Ihres eigenen Inferenzcontainers.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
Drittens, die predict_fn
Die Methode ist dafür verantwortlich, Vorhersagen aus den Modellen zu erhalten. Die Methode übernimmt das Modell und die zurückgegebenen Daten input_fn
als Parameter und gibt die endgültige Vorhersage zurück. In unserem Beispiel erhalten wir das CatBoost-Ergebnis vom ersten Mitglied der Modellliste (model[0]
) und der XGBoost vom zweiten Mitglied (model[1]
), und wir verwenden eine Mischfunktion, die den Mittelwert beider Vorhersagen zurückgibt:
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)
Nachdem wir nun über unsere trainierten Modelle und das Inferenzskript verfügen, können wir die Umgebung für die Bereitstellung unseres Ensembles konfigurieren.
Serverlose SageMaker-Inferenz
Allerdings sind da viele Hosting-Optionen in SageMakerIn diesem Beispiel verwenden wir einen serverlosen Endpunkt. Serverlose Endpunkte starten automatisch Rechenressourcen und skalieren sie je nach Datenverkehr. Dadurch entfällt die undifferenzierte schwere Arbeit bei der Verwaltung von Servern. Diese Option ist ideal für Arbeitslasten, die zwischen den Verkehrsschüben Leerlaufzeiten aufweisen und Kaltstarts vertragen.
Die Konfiguration des serverlosen Endpunkts ist unkompliziert, da wir keine Instanztypen auswählen oder Skalierungsrichtlinien verwalten müssen. Wir müssen nur zwei Parameter angeben: Speichergröße und maximale Parallelität. Der serverlose Endpunkt weist Rechenressourcen automatisch proportional zum von Ihnen ausgewählten Speicher zu. Wenn Sie eine größere Speichergröße wählen, hat Ihr Container Zugriff auf mehr vCPUs. Sie sollten die Speichergröße Ihres Endpunkts immer entsprechend Ihrer Modellgröße wählen. Der zweite Parameter, den wir bereitstellen müssen, ist die maximale Parallelität. Für einen einzelnen Endpunkt kann dieser Parameter auf bis zu 200 eingestellt werden (zum Zeitpunkt dieses Schreibens beträgt die Grenze für die Gesamtzahl serverloser Endpunkte in einer Region 50). Beachten Sie, dass die maximale Parallelität für einen einzelnen Endpunkt verhindert, dass dieser Endpunkt alle für Ihr Konto zulässigen Aufrufe annimmt, da alle über das Maximum hinausgehenden Endpunktaufrufe gedrosselt werden (weitere Informationen zur gesamten Parallelität für alle serverlosen Endpunkte pro Region finden Sie unter Zu Amazon SageMaker-Endpunkte und -Kontingente).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Nachdem wir nun den Endpunkt konfiguriert haben, können wir endlich das Modell bereitstellen, das in unserem Hyperparameter-Optimierungsjob ausgewählt wurde:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
Aufräumen
Auch wenn serverlose Endpunkte keine Kosten verursachen, wenn sie nicht verwendet werden, sollten Sie nach der Ausführung dieses Beispiels unbedingt den Endpunkt löschen:
predictor.delete_endpoint(predictor.endpoint)
Zusammenfassung
In diesem Beitrag haben wir einen Ansatz zum Trainieren, Optimieren und Bereitstellen eines benutzerdefinierten Ensembles behandelt. Wir haben den Prozess der Verwendung eines einzelnen Trainingsauftrags zum Trainieren mehrerer Modelle, die Verwendung der automatischen Modelloptimierung zur Optimierung der Ensemble-Hyperparameter und die Bereitstellung eines einzelnen serverlosen Endpunkts, der die Schlussfolgerungen mehrerer Modelle zusammenführt, detailliert beschrieben.
Mit dieser Methode werden potenzielle Kosten- und Betriebsprobleme gelöst. Die Kosten für einen Schulungsauftrag richten sich nach den Ressourcen, die Sie für die Dauer der Nutzung verbrauchen. Indem wir die Daten nur einmal zum Trainieren der beiden Modelle herunterladen, haben wir die Daten-Download-Phase des Jobs und das verwendete Volumen zum Speichern der Daten um die Hälfte reduziert und so die Gesamtkosten des Trainingsjobs gesenkt. Darüber hinaus führte der AMT-Job vier Schulungsjobs aus, jeweils mit der oben genannten Zeit- und Speicherreduzierung, was einer vierfachen Kosteneinsparung entspricht! Da Sie bei der Modellbereitstellung auf einem serverlosen Endpunkt auch für die Menge der verarbeiteten Daten zahlen, zahlen Sie die Hälfte der E/A-Datengebühren, wenn Sie den Endpunkt nur einmal für zwei Modelle aufrufen.
Obwohl in diesem Beitrag nur die Vorteile von zwei Modellen aufgezeigt wurden, können Sie diese Methode zum Trainieren, Optimieren und Bereitstellen zahlreicher Ensemble-Modelle verwenden, um einen noch größeren Effekt zu erzielen.
Bibliographie
[1] Raj Kumar, P. Arun; Selvakumar, S. (2011). „Erkennung verteilter Denial-of-Service-Angriffe mithilfe eines Ensembles neuronaler Klassifikatoren“. Computerkommunikation. 34 (11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone und Robert Tibshirani (2004) „Least Angle Regression“, Annals of Statistics (mit Diskussion), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Über die Autoren
Melanie Li, PhD, ist Senior AI/ML Specialist TAM bei AWS mit Sitz in Sydney, Australien. Sie unterstützt Unternehmenskunden bei der Entwicklung von Lösungen unter Nutzung der hochmodernen KI/ML-Tools auf AWS und bietet Beratung bei der Architektur und Implementierung von Lösungen für maschinelles Lernen mit Best Practices. In ihrer Freizeit erkundet sie gerne die Natur im Freien und verbringt Zeit mit Familie und Freunden.
Uri Rosenberg ist der AI & ML Specialist Technical Manager für Europa, den Nahen Osten und Afrika. Uri hat seinen Sitz in Israel und arbeitet daran, Unternehmenskunden in die Lage zu versetzen, ML-Workloads in großem Maßstab zu entwerfen, aufzubauen und zu betreiben. In seiner Freizeit fährt er gerne Rad, wandert und minimiert RMSEs.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Automobil / Elektrofahrzeuge, Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- BlockOffsets. Modernisierung des Eigentums an Umweltkompensationen. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :hast
- :Ist
- :nicht
- :Wo
- ][P
- $UP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- LiveBuzz
- Zugang
- Nach
- Konto
- Genauigkeit
- genau
- hinzufügen
- Zusätzliche
- zusätzlich
- Adresse
- Afrika
- Nach der
- gegen
- Alter
- AI
- AI / ML
- Algorithmus
- Algorithmen
- Alle
- erlaubt
- erlaubt
- ebenfalls
- immer
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- unter
- Betrag
- an
- und
- jedem
- Anwendungen
- Ansatz
- SIND
- Argumente
- AS
- At
- Attacke
- Australien
- automatische
- Im Prinzip so, wie Sie es von Google Maps kennen.
- verfügbar
- Mittelung
- ein Weg
- AWS
- Backend
- basierend
- Baseline
- BE
- weil
- werden
- war
- Sein
- vorteilhaft
- Vorteile
- BESTE
- Best Practices
- Besser
- zwischen
- Beyond
- Vermischung
- Mischungen
- Blockieren
- Blut
- Ausgleich bei Blutdruckschwankungen
- Körper
- Stärkung
- beide
- bringen
- Bringing
- bauen
- Building
- eingebaut
- Bündel
- aber
- by
- Berechnen
- CAN
- Erfassung
- gefangen
- Häuser
- Kategorien
- angekettet
- Gebühren
- Auswählen
- Einstufung
- Code
- Kälte
- Sammlung
- Kombinationen
- Vereinigung
- gemeinsam
- Kommunikation
- community
- zwingend
- abschließen
- Berechnen
- Computer
- Computer Vision
- Bedenken
- Konfiguration
- konfiguriert
- besteht
- Container
- Behälter
- Inhalt
- Smartgeräte App
- Dazugehörigen
- Kosten
- kostengünstiger
- bedeckt
- Erstellen
- Original
- Kunde
- Kunden
- anpassen
- Internet-Sicherheit
- technische Daten
- Decision Making
- gewidmet
- defaults
- definieren
- definiert
- Definition
- zeigen
- Denial of Service
- Abhängig
- einsetzen
- Bereitstellen
- Einsatz
- Design
- Designmuster
- detailliert
- Entdeckung
- Bestimmen
- anders
- Verzeichnisse
- diskutieren
- Diskussion
- Krankheit
- verschieden
- Docker
- Tut nicht
- Nicht
- herunterladen
- abladen
- Dauer
- im
- jeder
- Osten
- bewirken
- effizient
- effizient
- Bemühungen
- entweder
- entstehen
- ermächtigen
- ermöglichen
- Ende
- Endpunkt
- gewährleisten
- Unternehmen
- Arbeitsumfeld
- Umgebungen
- insbesondere
- Europa
- Auswertung
- Sogar
- entwickelt
- Beispiel
- Beispiele
- ERKUNDEN
- Möglichkeiten sondieren
- extra
- Familie
- Merkmal
- Eigenschaften
- Reichen Sie das
- Mappen
- Finale
- Endlich
- Revolution
- Vorname
- Flexibilität
- Fluss
- Setzen Sie mit Achtsamkeit
- Fokussierung
- Folgende
- folgt
- Aussichten für
- Wald
- Format
- gefunden
- vier
- Unser Ansatz
- Gerüste
- Betrug
- Betrugserkennung
- Freunde
- für
- voller
- Funktion
- Funktionen
- Außerdem
- Gewinnen
- gewinnen
- erzeugen
- bekommen
- bekommen
- gegeben
- mehr
- die Vermittlung von Kompetenzen,
- Hälfte
- Griff
- Griffe
- Haben
- he
- schwer
- schweres Heben
- hilft
- hier (auf dänisch)
- höher
- seine
- Gastgeber
- Hosting
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- Hyperparameteroptimierung
- Hyperparameter-Tuning
- ideal
- Leerlauf
- if
- Image
- implementieren
- Umsetzung
- implementiert
- wichtig
- in
- das
- Dazu gehören
- Krankengymnastik
- Individuell
- Information
- Infrastruktur
- Varianten des Eingangssignals:
- installieren
- Instanz
- beantragen müssen
- Intelligenz
- in
- einführen
- Stellt vor
- aufgerufen
- ruft auf
- Israel
- Probleme
- IT
- Job
- Jobs
- jpg
- JSON
- Tasten
- Art
- bekannt
- Sprache
- größer
- später
- starten
- lernen
- Nutzung
- Li
- Bibliotheken
- Bibliothek
- Facelift
- LIMIT
- Liste
- Gelistet
- Belastungen
- aus einer regionalen
- located
- Standorte
- Protokollierung
- SIEHT AUS
- liebt
- Maschine
- Maschinelles Lernen
- Main
- Mehrheit
- um
- verwalten
- verwaltet
- Management
- Manager
- flächendeckende Gesundheitsprogramme
- Masse
- maximal
- bedeuten
- Messungen
- sowie medizinische
- Mitglied
- Memory
- Merge
- Methode
- Methoden
- Metrisch
- Mitte
- Mittlerer Osten
- könnte
- minimal
- minimieren
- ML
- Model
- Modell
- für
- Module
- Überwachung
- mehr
- vor allem warme
- mehrere
- Name
- Namen
- Natürliche
- Verarbeitung natürlicher Sprache
- Natur
- notwendig,
- Need
- weiter
- Nlp
- Notiz..
- Anzahl
- und viele
- Objekt
- Ziel
- of
- Angebote
- vorgenommen,
- on
- einmal
- EINEM
- einzige
- betreiben
- Betriebs-
- Optimierung
- Optimieren
- Optimierung
- Option
- Optionen
- or
- OS
- Andere
- UNSERE
- im Freien
- Möglichkeiten für das Ausgangssignal:
- Gesamt-
- besitzen
- Pakete
- Parameter
- Parameter
- Teil
- Teile
- Bestanden
- Weg
- Schnittmuster
- Muster
- AUFMERKSAMKEIT
- für
- Zeiträume
- Phase
- Pipeline
- Plato
- Datenintelligenz von Plato
- PlatoData
- Punkte
- Politik durchzulesen
- Beliebt
- möglich
- Post
- Potenzial
- Praktiken
- Vorhersage
- Prognose
- Prognosen
- Predictor
- sagt voraus,
- bevorzugen
- bevorzugt
- Druck
- verhindert
- früher
- Verfahren
- Prozessdefinierung
- Verarbeitet
- Verarbeitung
- produziert
- Progression
- aussichtsreich
- zuverlässig
- die
- bietet
- Python
- zufällig
- schnell
- Lesen Sie mehr
- Veteran
- Reduziert
- Reduzierung
- bezieht sich
- Betrachten
- Regex
- Region
- entfernt
- Quelle
- vertreten
- Anforderung
- falls angefordert
- erfordert
- Downloads
- beziehungsweise
- für ihren Verlust verantwortlich.
- Folge
- Die Ergebnisse
- Rückkehr
- Rückgabe
- Recht
- ROBERT
- Rollen
- Führen Sie
- Laufen
- s
- sagemaker
- Automatisches SageMaker-Modelltuning
- gleich
- Speichern
- Einsparung
- Skalieren
- Skalierung
- Wissenschaftler
- scikit-lernen
- Skripte
- Sdk
- Zweite
- sehen
- gesehen
- ausgewählt
- senden
- Senior
- getrennte
- Reihenfolge
- Serum
- Serverlos
- Fertige Server
- Lösungen
- Dienst
- kompensieren
- Einstellungen
- mehrere
- Geschlecht
- sie
- sollte
- zeigte
- Konzerte
- Ähnlich
- Einfacher
- Single
- SIX
- Größe
- So
- Lösung
- Lösungen
- Löst
- Quelle
- Spezialist
- spezifisch
- angegeben
- verbringen
- Stapel
- gestapelt
- Stapeln
- Stanford
- Anfang
- beginnt
- State-of-the-art
- Statistiken
- Shritte
- Lagerung
- gelagert
- Läden
- einfach
- stärker
- so
- ZUSAMMENFASSUNG
- Unterstützte
- Unterstützt
- sicher
- Sydney
- nimmt
- Einnahme
- Target
- und Aufgaben
- Technische
- Techniken
- Technologie
- Mieter
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- dann
- Dort.
- damit
- deswegen
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- diejenigen
- obwohl?
- nach drei
- Durch
- Zeit
- mal
- zu
- gemeinsam
- Werkzeuge
- Thema
- Gesamt
- Zugkraft
- der Verkehr
- Training
- trainiert
- Ausbildung
- Bäume
- Trevor
- Triton
- XNUMX
- Typen
- für
- verstehen
- Anwendungsbereich
- -
- benutzt
- verwendet
- Verwendung von
- Bestätigung
- Wert
- Werte
- verschiedene
- Version
- Seh-
- Volumen
- Abstimmungen (Votings):
- wollen
- wurde
- Weg..
- Wege
- we
- Netz
- Web-Services
- Gewicht
- waren
- Was
- wann
- welche
- während
- ganze
- warum
- werden wir
- mit
- .
- Arbeiten
- arbeiten,
- Werk
- schreiben
- Schreiben
- XGBoost
- Jahr
- Du
- Ihr
- Zephyrnet
- Null