Inteligența artificială (AI) a devenit un subiect important și popular în comunitatea tehnologică. Pe măsură ce AI a evoluat, am văzut că apar diferite tipuri de modele de învățare automată (ML). O abordare, cunoscută ca modelarea ansamblului, a câștigat rapid tracțiune printre oamenii de știință și practicieni. În această postare, discutăm ce sunt modelele de ansamblu și de ce utilizarea lor poate fi benefică. Vă oferim apoi un exemplu despre cum vă puteți antrena, optimiza și implementa ansamblurile personalizate folosind Amazon SageMaker.
Învățarea în ansamblu se referă la utilizarea mai multor modele și algoritmi de învățare pentru a obține predicții mai precise decât orice algoritm de învățare individual. S-au dovedit a fi eficienți în diverse aplicații și setări de învățare, cum ar fi securitatea cibernetică [1] și detectarea fraudelor, teledetecția, prezicerea celor mai buni pași următori în luarea deciziilor financiare, diagnosticul medical și chiar viziunea computerizată și procesarea limbajului natural (NLP) sarcini. Avem tendința de a clasifica ansamblurile după tehnicile folosite pentru a le antrena, compoziția lor și modul în care îmbină diferitele predicții într-o singură inferență. Aceste categorii includ:
- stimularea – Formarea secvenţială a mai multor cursanţi slabi, în care fiecărei predicţii incorecte de la cursanţii anteriori din secvenţă i se acordă o pondere mai mare şi o introducere pentru următorul cursant, creând astfel un cursant mai puternic. Exemplele includ AdaBoost, Gradient Boosting și XGBoost.
- Bagging – Folosește mai multe modele pentru a reduce varianța unui singur model. Exemplele includ Random Forest și Extra Trees.
- Stivuire (amestecare) – Folosește adesea modele eterogene, în care predicțiile fiecărui estimator individual sunt stivuite împreună și utilizate ca intrare pentru un estimator final care se ocupă de predicție. Procesul de instruire al acestui estimator final utilizează adesea validarea încrucișată.
Există mai multe metode de combinare a predicțiilor într-una singură pe care modelul o produce în cele din urmă, de exemplu, folosind un meta-estimator, cum ar fi un student liniar, o metodă de vot care utilizează mai multe modele pentru a face o predicție bazată pe votul majoritar pentru sarcini de clasificare, sau o medie de ansamblu pentru regresie.
Deși mai multe biblioteci și cadre oferă implementări ale modelelor de ansamblu, cum ar fi XGBoost, CatBoost sau pădurea aleatoare a scikit-learn, în această postare ne concentrăm pe aducerea propriilor modele și utilizarea lor ca ansamblu de stivuire. Cu toate acestea, în loc să folosim resurse dedicate pentru fiecare model (lucrări de instruire și reglare dedicate și găzduire puncte finale per model), antrenăm, reglam și implementăm un ansamblu personalizat (modele multiple) folosind o singură lucrare de instruire SageMaker și o singură lucrare de reglare și implementați la un singur punct final, reducând astfel costurile și cheltuielile operaționale posibile.
BYOE: Adu-ți propriul ansamblu
Există mai multe moduri de a antrena și de a implementa modele de ansamblu eterogene cu SageMaker: puteți antrena fiecare model într-un job de formare separat și optimizați fiecare model separat folosind Reglarea automată a modelelor Amazon SageMaker. Atunci când găzduiește aceste modele, SageMaker oferă diverse modalități rentabile de a găzdui mai multe modele pe aceeași infrastructură de chiriași. Modele detaliate de implementare pentru acest tip de setări pot fi găsite în Modele de găzduire în Amazon SageMaker, Partea 1: Modele de design comune pentru construirea de aplicații ML pe Amazon SageMaker. Aceste modele includ utilizarea mai multor puncte finale (pentru fiecare model antrenat) sau a unui singur punct final cu mai multe modele, sau chiar unul singur punct final cu mai multe containere unde containerele pot fi invocate individual sau înlănțuite într-o conductă. Toate aceste soluții includ un meta-estimator (de exemplu într-un AWS Lambdas funcția) care invocă fiecare model și implementează funcția de amestecare sau de vot.
Cu toate acestea, rularea mai multor joburi de instruire poate introduce cheltuieli operaționale și de cost, mai ales dacă ansamblul dvs. necesită instruire pe aceleași date. În mod similar, găzduirea diferitelor modele pe puncte finale sau containere separate și combinarea rezultatelor lor de predicție pentru o mai bună acuratețe necesită invocări multiple și, prin urmare, introduce eforturi suplimentare de management, cost și monitorizare. De exemplu, SageMaker acceptă modele de ansamblu ML folosind Triton Inference Server, dar această soluție necesită ca modelele sau ansamblurile de modele să fie suportate de backend-ul Triton. În plus, sunt necesare eforturi suplimentare din partea clientului pentru a configura serverul Triton și învățare suplimentară pentru a înțelege cum funcționează diferitele backend-uri Triton. Prin urmare, clienții preferă o modalitate mai simplă de a implementa soluții în care trebuie să trimită o singură invocare la punctul final și să aibă flexibilitatea de a controla modul în care rezultatele sunt agregate pentru a genera rezultatul final.
Prezentare generală a soluțiilor
Pentru a aborda aceste preocupări, parcurgem un exemplu de antrenament de ansamblu folosind un singur job de instruire, optimizând hiperparametrii modelului și implementând-o folosind un singur container la un punct final fără server. Folosim două modele pentru stiva noastră de ansamblu: CatBoost și XGBoost (ambele sunt ansambluri de stimulare). Pentru datele noastre, folosim set de date despre diabet [2] din biblioteca scikit-learn: constă din 10 caracteristici (vârstă, sex, masă corporală, tensiune arterială și șase măsurători ale serului sanguin), iar modelul nostru prezice progresia bolii la 1 an după ce au fost colectate caracteristicile inițiale (o regresie). model).
Depozitul complet de cod poate fi găsit pe GitHub.
Antrenați mai multe modele într-o singură lucrare SageMaker
Pentru antrenarea modelelor noastre, folosim joburi de instruire SageMaker în modul Script. Cu modul Script, puteți scrie antrenament personalizat (și ulterior cod de inferență) în timp ce utilizați containerele cadru SageMaker. Containerele cadru vă permit să utilizați medii gata create, gestionate de AWS, care includ toate configurațiile și modulele necesare. Pentru a demonstra cum puteți personaliza un container cadru, ca exemplu, folosim containerul SKLearn pre-construit, care nu include pachetele XGBoost și CatBoost. Există două opțiuni pentru a adăuga aceste pachete: fie extinde containerul încorporat pentru a instala CatBoost și XGBoost (și apoi implementați ca container personalizat) sau utilizați caracteristica modului de script de lucru de instruire SageMaker, care vă permite să furnizați o requirements.txt
fișier la crearea estimatorului de antrenament. Jobul de instruire SageMaker instalează bibliotecile listate în requirements.txt
fișier în timpul rulării. În acest fel, nu trebuie să vă gestionați propriul depozit de imagini Docker și oferă mai multă flexibilitate pentru a rula scripturi de antrenament care necesită pachete Python suplimentare.
Următorul bloc de cod arată codul pe care îl folosim pentru a începe antrenamentul. The entry_point
parametrul indică scriptul nostru de antrenament. De asemenea, folosim două dintre caracteristicile convingătoare ale API-ului SageMaker SDK:
- Mai întâi, specificăm calea locală către directorul nostru sursă și dependențele în
source_dir
șidependencies
parametrii, respectiv. SDK-ul va comprima și va încărca acele directoare în Serviciul Amazon de stocare simplă (Amazon S3) și SageMaker le vor pune la dispoziție în instanța de antrenament din directorul de lucru/opt/ml/code
. - În al doilea rând, folosim SDK-ul
SKLearn
obiect estimator cu versiunea noastră preferată Python și cadru, astfel încât SageMaker va trage containerul corespunzător. Am definit, de asemenea, o metrică de instruire personalizată "validation:rmse
', care va fi emis în jurnalele de antrenament și capturat de SageMaker. Mai târziu, vom folosi această metrică ca metrică obiectivă în jobul de reglare.
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)
Apoi, scriem scenariul nostru de antrenament (multi_model_hpo.py). Scriptul nostru urmează un flux simplu: captarea hiperparametrilor cu care a fost configurat jobul și antrenează modelul CatBoost și Model XGBoost. De asemenea, implementăm a cruce în k-fold funcția de validare. Vezi următorul cod:
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)
După ce modelele sunt antrenate, calculăm media predicțiilor CatBoost și XGBoost. Rezultatul, pred_mean
, este predicția finală a ansamblului nostru. Apoi, determinăm mean_squared_error
față de setul de validare. val_rmse
este utilizat pentru evaluarea întregului ansamblu în timpul antrenamentului. Observați că imprimăm și valoarea RMSE într-un model care se potrivește cu expresia regex pe care am folosit-o în metric_definitions
. Mai târziu, SageMaker Automatic Model Tuning va folosi acest lucru pentru a captura metrica obiectivului. Vezi următorul cod:
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}")
În cele din urmă, scriptul nostru salvează ambele artefacte de model în folderul de ieșire situat la /opt/ml/model
.
Când o lucrare de instruire este finalizată, SageMaker împachetează și copiază conținutul /opt/ml/model
director ca un singur obiect în format TAR comprimat în locația S3 pe care ați specificat-o în configurația jobului. În cazul nostru, SageMaker grupează cele două modele într-un fișier TAR și îl încarcă pe Amazon S3 la sfârșitul jobului de instruire. Vezi următorul cod:
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))
În rezumat, ar trebui să observați că în această procedură am descărcat datele o singură dată și am antrenat două modele folosind un singur job de formare.
Ajustare automată a modelului de ansamblu
Deoarece construim o colecție de modele ML, explorarea tuturor permutărilor posibile de hiperparametru este nepractică. SageMaker oferă Ajustare automată a modelului (AMT), care caută cei mai buni hiperparametri ai modelului concentrându-se pe cele mai promițătoare combinații de valori din intervalele pe care le specificați (rămâne la latitudinea dvs. să definiți intervalele potrivite de explorat). SageMaker acceptă mai multe metode de optimizare pentru tine de a alege de la.
Începem prin a defini cele două părți ale procesului de optimizare: metrica obiectivă și hiperparametrii pe care vrem să-i reglam. În exemplul nostru, folosim validarea RMSE ca metrică țintă și ne reglam eta
și max_depth
(pentru alți hiperparametri, consultați Hiperparametrii XGBoost și Hiperparametrii 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"
De asemenea, trebuie să ne asigurăm în scenariul de antrenament că hiperparametrii noștri nu sunt codificați și sunt extrași din argumentele de rulare SageMaker:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker scrie, de asemenea, hiperparametrii într-un fișier JSON și din care pot fi citite /opt/ml/input/config/hyperparameters.json
pe instanța de instruire.
La fel ca CatBoost, capturăm și hiperparametrii pentru modelul XGBoost (observați că objective
și num_round
nu sunt reglate):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
În cele din urmă, lansăm jobul de ajustare a hiperparametrului utilizând aceste configurații:
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)
Când lucrarea este finalizată, puteți prelua valorile pentru cea mai bună lucrare de antrenament (cu RMSE minim):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Pentru mai multe informații despre AMT, consultați Efectuați reglarea automată a modelului cu SageMaker.
Implementare
Pentru a implementa ansamblul nostru personalizat, trebuie să furnizăm un script pentru a gestiona cererea de inferență și a configura găzduirea SageMaker. În acest exemplu, am folosit un singur fișier care include atât codul de antrenament, cât și codul de inferență (multi_model_hpo.py). SageMaker folosește codul sub if _ name _ == "_ main _"
pentru instruire si functii model_fn
, input_fn
, și predict_fn
la implementarea și servirea modelului.
Script de inferență
Ca și în cazul instruirii, folosim containerul cadru SageMaker SKLearn cu propriul nostru script de inferență. Scriptul va implementa trei metode cerute de SageMaker.
În primul rând, model_fn
metoda citește fișierele artefacte model salvate și le încarcă în memorie. În cazul nostru, metoda returnează ansamblul nostru ca all_model
, care este o listă Python, dar puteți utiliza și un dicționar cu nume de model ca chei.
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
În al doilea rând, input_fn
metoda deserializează datele de intrare ale cererii pentru a fi transmise handler-ului nostru de inferență. Pentru mai multe informații despre manipulatorii de intrare, consultați Adaptarea propriului container de inferență.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
Al treilea, predict_fn
metoda este responsabilă pentru obținerea predicțiilor din modele. Metoda preia modelul și datele returnate de la input_fn
ca parametri și returnează predicția finală. În exemplul nostru, obținem rezultatul CatBoost din primul membru al listei de modele (model[0]
) și XGBoost de la al doilea membru (model[1]
), și folosim o funcție de amestecare care returnează media ambelor predicții:
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)
Acum că avem modelele noastre instruite și scriptul de inferență, putem configura mediul pentru a ne implementa ansamblul.
SageMaker Serverless Inference
Deși există multe opțiuni de găzduire în SageMaker, în acest exemplu, folosim un punct final fără server. Punctele finale fără server lansează automat resurse de calcul și le scala în funcție de trafic. Acest lucru elimină greutățile nediferențiate de gestionare a serverelor. Această opțiune este ideală pentru sarcinile de lucru care au perioade de inactivitate între accesele de trafic și pot tolera pornirile la rece.
Configurarea punctului final fără server este simplă, deoarece nu trebuie să alegem tipuri de instanțe sau să gestionăm politicile de scalare. Trebuie doar să furnizăm doi parametri: dimensiunea memoriei și concurența maximă. Punctul final fără server atribuie automat resurse de calcul proporțional cu memoria pe care o selectați. Dacă alegeți o dimensiune de memorie mai mare, containerul dvs. are acces la mai multe vCPU. Ar trebui să alegeți întotdeauna dimensiunea memoriei punctului final în funcție de dimensiunea modelului dvs. Al doilea parametru pe care trebuie să-l furnizăm este concurența maximă. Pentru un singur punct final, acest parametru poate fi setat până la 200 (în momentul scrierii acestui articol, limita pentru numărul total de puncte finale fără server într-o regiune este de 50). Trebuie să rețineți că concurența maximă pentru un punct final individual împiedică acel punct final să preia toate invocările permise pentru contul dvs., deoarece orice invocări ale punctelor finale dincolo de valoarea maximă sunt accelerate (pentru mai multe informații despre concurența totală pentru toate punctele finale fără server per regiune, consultați la Puncte finale și cote Amazon SageMaker).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Acum că am configurat punctul final, putem implementa în sfârșit modelul care a fost selectat în jobul nostru de optimizare a hiperparametrilor:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
A curăța
Chiar dacă punctele finale fără server au costuri zero atunci când nu sunt utilizate, când ați terminat de rulat acest exemplu, ar trebui să vă asigurați că ștergeți punctul final:
predictor.delete_endpoint(predictor.endpoint)
Concluzie
În această postare, am acoperit o abordare pentru a pregăti, optimiza și implementa un ansamblu personalizat. Am detaliat procesul de utilizare a unui singur job de instruire pentru a antrena mai multe modele, cum să folosim reglarea automată a modelului pentru a optimiza hiperparametrii ansamblului și cum să implementăm un singur punct final fără server care combină inferențe din mai multe modele.
Utilizarea acestei metode rezolvă potențialele probleme de cost și operaționale. Costul unui job de formare se bazează pe resursele pe care le utilizați pe durata utilizării. Descărcând datele o singură dată pentru antrenamentul celor două modele, am redus la jumătate faza de descărcare a datelor a jobului și volumul utilizat care stochează datele, reducând astfel costul total al jobului de instruire. Mai mult, jobul AMT a rulat patru joburi de instruire, fiecare cu timpul și stocarea reduse menționate mai sus, astfel încât reprezintă de 4 ori o economie de costuri! În ceea ce privește implementarea modelului pe un punct final fără server, deoarece plătiți și pentru cantitatea de date procesate, invocând punctul final o singură dată pentru două modele, plătiți jumătate din taxele de date I/O.
Deși această postare a arătat doar beneficiile cu două modele, puteți folosi această metodă pentru a antrena, regla și implementa numeroase modele de ansamblu pentru a vedea un efect și mai mare.
Referinte
[1] Raj Kumar, P. Arun; Selvakumar, S. (2011). „Detecția atacurilor distribuite prin refuzul serviciului folosind un ansamblu de clasificator neuronal”. Comunicații computerizate. 34 (11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone și Robert Tibshirani (2004) „Least Angle Regression”, Annals of Statistics (cu discuție), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Despre Autori
Melanie Li, dr, este Senior AI/ML Specialist TAM la AWS cu sediul în Sydney, Australia. Ea ajută clienții întreprinderilor să construiască soluții utilizând instrumentele de AI/ML de ultimă generație pe AWS și oferă îndrumări privind arhitectura și implementarea soluțiilor de învățare automată cu cele mai bune practici. În timpul liber, îi place să exploreze natura în aer liber și să petreacă timp cu familia și prietenii.
Uri Rosenberg este Manager Tehnic Specialist AI & ML pentru Europa, Orientul Mijlociu și Africa. Cu sediul în Israel, Uri lucrează pentru a le permite clienților întreprinderilor să proiecteze, să construiască și să opereze sarcini de lucru ML la scară. În timpul liber, îi place să meargă cu bicicleta, să facă drumeții și să minimizeze RMSE-urile.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :are
- :este
- :nu
- :Unde
- ][p
- $UP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- Despre Noi
- acces
- Conform
- Cont
- precizie
- precis
- adăuga
- Suplimentar
- În plus,
- adresa
- Africa
- După
- împotriva
- vârstă
- AI
- AI / ML
- Algoritmul
- algoritmi
- TOATE
- permis
- permite
- de asemenea
- mereu
- Amazon
- Amazon SageMaker
- Amazon Web Services
- printre
- sumă
- an
- și
- Orice
- aplicatii
- abordare
- SUNT
- argumente
- AS
- At
- ataca
- Australia
- Automat
- în mod automat
- disponibil
- medie
- departe
- AWS
- Backend
- bazat
- De bază
- BE
- deoarece
- deveni
- fost
- fiind
- benefică
- Beneficiile
- CEL MAI BUN
- Cele mai bune practici
- Mai bine
- între
- Dincolo de
- amestecare
- amestecuri
- Bloca
- sânge
- Tensiune arterială
- corp
- stimularea
- atât
- aduce
- Aducere
- construi
- Clădire
- construit-in
- pachete
- dar
- by
- calcula
- CAN
- captura
- capturat
- caz
- categorii
- legat
- taxe
- Alege
- clasificare
- cod
- rece
- colectare
- combinaţii
- combinând
- Comun
- Comunicații
- comunitate
- convingătoare
- Completă
- Calcula
- calculator
- Computer Vision
- preocupările
- Configuraţie
- configurat
- constă
- Recipient
- Containere
- conţinut
- Control
- Corespunzător
- A costat
- cost-eficiente
- acoperit
- Crearea
- personalizat
- client
- clienţii care
- personaliza
- Securitate cibernetică
- de date
- Luarea deciziilor
- dedicat
- implicite
- defini
- definit
- definire
- demonstra
- Denial of Service
- În funcție
- implementa
- Implementarea
- desfășurarea
- Amenajări
- modele de design
- detaliat
- Detectare
- Determina
- diferit
- directoare
- discuta
- discuţie
- Boală
- diferit
- Docher
- Nu
- Dont
- Descarca
- descărca
- durată
- în timpul
- fiecare
- Est
- efect
- eficient
- eficient
- Eforturile
- oricare
- apărea
- împuternici
- permite
- capăt
- Punct final
- asigura
- Afacere
- Mediu inconjurator
- medii
- mai ales
- Europa
- evaluare
- Chiar
- evoluat
- exemplu
- exemple
- explora
- Explorarea
- suplimentar
- familie
- Caracteristică
- DESCRIERE
- Fișier
- Fişiere
- final
- În cele din urmă
- financiar
- First
- Flexibilitate
- debit
- Concentra
- concentrându-se
- următor
- urmează
- Pentru
- pădure
- format
- găsit
- patru
- Cadru
- cadre
- fraudă
- detectarea fraudei
- Prietenii lui
- din
- Complet
- funcţie
- funcții
- În plus
- Câştig
- câștigă
- genera
- obține
- obtinerea
- dat
- mai mare
- îndrumare
- Jumătate
- manipula
- Mânere
- Avea
- he
- greu
- ridicare de greutati
- ajută
- ei
- superior
- lui
- gazdă
- găzduire
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- Optimizarea hiperparametrului
- Reglarea hiperparametrului
- ideal
- Idle
- if
- imagine
- punerea în aplicare a
- Punere în aplicare a
- ustensile
- important
- in
- include
- include
- individ
- Individual
- informații
- Infrastructură
- intrare
- instala
- instanță
- in schimb
- Inteligență
- în
- introduce
- Prezintă
- invocat
- invocă
- Israel
- probleme de
- IT
- Loc de munca
- Locuri de munca
- jpg
- JSON
- chei
- Copil
- cunoscut
- limbă
- mai mare
- mai tarziu
- lansa
- învăţare
- efectului de pârghie
- Li
- biblioteci
- Bibliotecă
- ridicare
- LIMITĂ
- Listă
- listat
- loturile
- local
- situat
- locaţie
- logare
- Se pare
- iubeste
- maşină
- masina de învățare
- Principal
- Majoritate
- face
- administra
- gestionate
- administrare
- manager
- de conducere
- Masa
- maxim
- însemna
- măsurători
- medical
- membru
- Memorie
- Îmbina
- metodă
- Metode
- metric
- De mijloc
- Orientul Mijlociu
- ar putea
- minim
- minimizând
- ML
- mod
- model
- Modele
- Module
- Monitorizarea
- mai mult
- cele mai multe
- multiplu
- nume
- nume
- Natural
- Procesarea limbajului natural
- Natură
- necesar
- Nevoie
- următor
- nlp
- Înștiințare..
- număr
- numeroși
- obiect
- obiectiv
- of
- promoții
- de multe ori
- on
- dată
- ONE
- afară
- funcionar
- operațional
- optimizare
- Optimizați
- optimizarea
- Opțiune
- Opţiuni
- or
- OS
- Altele
- al nostru
- afară
- în aer liber
- producție
- global
- propriu
- ofertele
- parametru
- parametrii
- parte
- piese
- Trecut
- cale
- Model
- modele
- Plătește
- pentru
- perioadele
- fază
- conducte
- Plato
- Informații despre date Platon
- PlatoData
- puncte
- Politicile
- Popular
- posibil
- Post
- potenţial
- practicile
- estimarea
- prezicere
- Predictii
- Predictor
- prezice
- a prefera
- preferat
- presiune
- previne
- precedent
- procedură
- proces
- Procesat
- prelucrare
- produce
- progresie
- promițător
- dovedit
- furniza
- furnizează
- Piton
- aleator
- repede
- Citeste
- reduce
- Redus
- reducerea
- se referă
- considera
- regex
- regiune
- la distanta
- depozit
- reprezenta
- solicita
- necesar
- Necesită
- Resurse
- respectiv
- responsabil
- rezultat
- REZULTATE
- reveni
- Returnează
- dreapta
- ROBERT
- Rol
- Alerga
- funcţionare
- s
- sagemaker
- Reglarea automată a modelului SageMaker
- acelaşi
- Economisiți
- economisire
- Scară
- scalare
- oamenii de stiinta
- scikit-learn
- script-uri
- sdk
- Al doilea
- vedea
- văzut
- selectate
- trimite
- senior
- distinct
- Secvenţă
- Ser
- serverless
- Servere
- serviciu
- Servicii
- servire
- set
- setări
- câteva
- sex
- ea
- să
- a arătat
- Emisiuni
- asemănător
- simplu
- singur
- SIX
- Mărimea
- So
- soluţie
- soluţii
- rezolvă
- Sursă
- specialist
- specific
- specificată
- petrece
- stivui
- stivuite
- stivuire
- stanford
- Începe
- începe
- de ultimă oră
- statistică
- paşi
- depozitare
- stocate
- magazine
- simplu
- puternic
- astfel de
- REZUMAT
- Suportat
- Sprijină
- sigur
- sydney
- ia
- luare
- Ţintă
- sarcini
- Tehnic
- tehnici de
- Tehnologia
- chiriaş
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- astfel
- prin urmare
- Acestea
- ei
- acest
- aceste
- deşi?
- trei
- Prin
- timp
- ori
- la
- împreună
- Unelte
- subiect
- Total
- tracțiune
- trafic
- Tren
- dresat
- Pregătire
- Copaci
- Trevor
- Triton
- Două
- Tipuri
- în
- înţelege
- Folosire
- utilizare
- utilizat
- utilizări
- folosind
- validare
- valoare
- Valori
- diverse
- versiune
- viziune
- volum
- Vot
- vrea
- a fost
- Cale..
- modalități de
- we
- web
- servicii web
- greutate
- au fost
- Ce
- cand
- care
- în timp ce
- întreg
- de ce
- voi
- cu
- în
- Apartamente
- de lucru
- fabrică
- scrie
- scris
- XGBoost
- an
- Tu
- Ta
- zephyrnet
- zero