Штучний інтелект (ШІ) став важливою та популярною темою в технологічному співтоваристві. У міру розвитку штучного інтелекту ми спостерігали появу різних типів моделей машинного навчання (ML). Один підхід, відомий як ансамблеве моделювання, швидко набирає популярності серед науковців і практиків даних. У цій публікації ми обговорюємо, що таке ансамблеві моделі та чому їх використання може бути корисним. Потім ми надаємо приклад того, як ви можете тренувати, оптимізувати та розгортати власні ансамблі за допомогою Amazon SageMaker.
Ансамблеве навчання стосується використання кількох моделей навчання та алгоритмів для отримання більш точних прогнозів, ніж будь-який окремий алгоритм навчання. Було доведено, що вони ефективні в різноманітних програмах і налаштуваннях навчання, таких як кібербезпека [1] і виявлення шахрайства, дистанційне зондування, прогнозування найкращих наступних кроків у прийнятті фінансових рішень, медична діагностика та навіть комп’ютерний зір і обробка природної мови (NLP). завдання. Ми схильні класифікувати ансамблі за технікою, яка використовується для їх навчання, їхнім складом і способом, яким вони об’єднують різні прогнози в єдиний висновок. Ці категорії включають:
- Підсилення – Послідовне навчання кількох слабких учнів, де кожен неправильний прогноз від попередніх учнів у послідовності надається більшої ваги та вхідних даних для наступного учня, таким чином створюючи сильнішого учня. Приклади включають AdaBoost, Gradient Boosting і XGBoost.
- Багування – Використовує кілька моделей для зменшення дисперсії однієї моделі. Приклади включають випадковий ліс і додаткові дерева.
- Укладання (змішування) – Часто використовує різнорідні моделі, де прогнози кожного окремого оцінювача складаються разом і використовуються як вхідні дані для остаточного оцінювача, який обробляє прогноз. Цей остаточний процес навчання оцінювача часто використовує перехресну перевірку.
Існує кілька методів об’єднання прогнозів в єдиний, який остаточно виробляє модель, наприклад, використання метаоцінювача, такого як лінійний учень, метод голосування, який використовує кілька моделей, щоб зробити прогноз на основі більшості голосів для класифікаційних завдань, або ансамблеве усереднення для регресії.
Незважаючи на те, що кілька бібліотек і фреймворків забезпечують реалізацію ансамблевих моделей, таких як XGBoost, CatBoost або випадковий ліс scikit-learn, у цьому дописі ми зосереджуємось на створенні ваших власних моделей і використанні їх як стекуючого ансамблю. Однак замість використання виділених ресурсів для кожної моделі (спеціалізованих завдань навчання та налаштування та розміщення кінцевих точок для кожної моделі), ми навчаємо, налаштовуємо та розгортаємо спеціальний ансамбль (кілька моделей), використовуючи одне завдання навчання SageMaker та одне завдання налаштування, а також розгорнути в одній кінцевій точці, тим самим зменшуючи можливі витрати та операційні витрати.
BYOE: принесіть свій власний ансамбль
Існує кілька способів навчання та розгортання гетерогенних моделей ансамблю за допомогою SageMaker: ви можете навчити кожну модель у окрема навчальна робота і оптимізуйте кожну модель окремо за допомогою Автоматичне налаштування моделі Amazon SageMaker. Розміщуючи ці моделі, SageMaker надає різні економічно ефективні способи розміщення кількох моделей на одній інфраструктурі клієнта. Докладні шаблони розгортання для такого роду параметрів можна знайти в Моделі шаблонів розміщення в Amazon SageMaker, частина 1: Загальні шаблони проектування для створення програм ML на Amazon SageMaker. Ці шаблони включають використання кількох кінцевих точок (для кожної навченої моделі) або однієї мультимодельна кінцева точка, або навіть єдиний кінцева точка з кількома контейнерами де контейнери можуть бути викликані окремо або з’єднані в конвеєр. Усі ці рішення включають метаоцінку (наприклад, у an AWS Lambda функція), яка викликає кожну модель і реалізує функцію змішування або голосування.
Однак виконання кількох тренувальних робіт може призвести до накладних операцій і витрат, особливо якщо ваш ансамбль потребує навчання на тих самих даних. Подібним чином розміщення різних моделей на окремих кінцевих точках або контейнерах і об’єднання їхніх результатів передбачення для кращої точності потребує кількох викликів і, отже, вводить додаткові зусилля з управління, витрат і моніторингу. Наприклад, SageMaker підтримує ансамбль моделей ML за допомогою Triton Inference Server, але для цього рішення потрібно, щоб моделі або ансамблі моделей підтримувалися серверною частиною Triton. Крім того, від клієнта потрібні додаткові зусилля для налаштування сервера Triton і додаткове навчання, щоб зрозуміти, як працюють різні серверні модулі Triton. Тому клієнти віддають перевагу більш простому способу впровадження рішень, де їм потрібно лише один раз надіслати виклик до кінцевої точки та мати можливість контролювати, як результати агрегуються для генерації кінцевого результату.
Огляд рішення
Щоб вирішити ці проблеми, ми розглянемо приклад ансамблевого навчання з використанням одного навчального завдання, оптимізуючи гіперпараметри моделі та розгортаючи її за допомогою одного контейнера в безсерверній кінцевій точці. Ми використовуємо дві моделі для нашого стека ансамблю: CatBoost і XGBoost (обидві є ансамблями посилення). Для наших даних ми використовуємо набір даних про діабет [2] з бібліотеки scikit-learn: вона складається з 10 характеристик (вік, стать, маса тіла, артеріальний тиск і шість вимірювань сироватки крові), і наша модель передбачає прогресування захворювання через 1 рік після збору базових характеристик (регресія модель).
Повний репозиторій коду можна знайти на GitHub.
Навчіть кілька моделей в одній роботі SageMaker
Для навчання наших моделей ми використовуємо навчальні завдання SageMaker у режимі сценарію. У режимі сценарію ви можете писати спеціальне навчання (і пізніше код висновку), використовуючи контейнери фреймворку SageMaker. Контейнери Framework дозволяють використовувати готові середовища, керовані AWS, які включають усі необхідні конфігурації та модулі. Щоб продемонструвати, як можна налаштувати контейнер фреймворка, як приклад, ми використовуємо попередньо зібраний контейнер SKLearn, який не включає пакети XGBoost і CatBoost. Існує два варіанти додавання цих пакетів: або розширити вбудований контейнер щоб інсталювати CatBoost і XGBoost (а потім розгорнути як спеціальний контейнер), або скористайтеся функцією режиму сценарію навчального завдання SageMaker, яка дозволяє надавати requirements.txt
файл під час створення навчальної оцінки. Навчальне завдання SageMaker інсталює перелічені бібліотеки в requirements.txt
файл під час виконання. Таким чином, вам не потрібно керувати власним репозиторієм зображень Docker, і це забезпечує більшу гнучкість для запуску навчальних сценаріїв, які потребують додаткових пакетів Python.
Наступний блок коду показує код, який ми використовуємо для початку навчання. The entry_point
параметр вказує на наш сценарій навчання. Ми також використовуємо дві переконливі функції SageMaker SDK API:
- Спочатку ми вказуємо локальний шлях до нашого вихідного каталогу та залежності в
source_dir
таdependencies
параметрів відповідно. SDK стисне та завантажить ці каталоги Служба простого зберігання Amazon (Amazon S3) і SageMaker зроблять їх доступними в навчальному екземплярі в робочому каталозі/opt/ml/code
. - По-друге, ми використовуємо SDK
SKLearn
об’єкт оцінки з нашою бажаною версією Python і фреймворку, щоб 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. Ми також реалізуємо a 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 використовуватиме це для визначення цільової метрики. Перегляньте наступний код:
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 і завантажує його в Amazon 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
Хоча є багато варіантів розміщення в SageMaker, у цьому прикладі ми використовуємо безсерверну кінцеву точку. Безсерверні кінцеві точки автоматично запускають обчислювальні ресурси та масштабують їх залежно від трафіку. Це знімає недиференційовану важку роботу з керування серверами. Цей варіант ідеально підходить для робочих навантажень, які мають періоди простою між стрибками трафіку та можуть переносити холодний запуск.
Налаштувати безсерверну кінцеву точку просто, оскільки нам не потрібно вибирати типи екземплярів або керувати політиками масштабування. Нам потрібно лише надати два параметри: розмір пам’яті та максимальний паралелізм. Безсерверна кінцева точка автоматично призначає обчислювальні ресурси пропорційно вибраній пам’яті. Якщо ви обираєте більший розмір пам’яті, ваш контейнер матиме доступ до більшої кількості vCPU. Вам завжди слід вибирати розмір пам’яті вашої кінцевої точки відповідно до розміру вашої моделі. Другий параметр, який ми маємо забезпечити, це максимальна паралелізм. Для однієї кінцевої точки цей параметр може бути встановлений до 200 (на момент написання цієї статті обмеження загальної кількості безсерверних кінцевих точок у регіоні становить 50). Зауважте, що максимальна одночасність для окремої кінцевої точки запобігає використанню цією кінцевою точкою всіх викликів, дозволених для вашого облікового запису, оскільки будь-які виклики кінцевої точки, що перевищують максимум, гальмуються (щоб дізнатися більше про загальну паралельність для всіх безсерверних кінцевих точок у регіоні, див. до Кінцеві точки та квоти Amazon 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] Радж Кумар, П. Арун; Селвакумар, С. (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 в AWS у Сіднеї, Австралія. Вона допомагає корпоративним клієнтам створювати рішення, використовуючи найсучасніші інструменти AI/ML на AWS, і надає вказівки щодо архітектури та впровадження рішень машинного навчання з використанням найкращих практик. У вільний час вона любить досліджувати природу та проводити час із родиною та друзями.
Урі Розенберг є технічним менеджером зі штучного інтелекту та машинного навчання для Європи, Близького Сходу та Африки. Урі, що базується в Ізраїлі, працює над розширенням можливостей корпоративних клієнтів проектувати, створювати та керувати робочими навантаженнями ML у масштабі. У вільний час він захоплюється їздою на велосипеді, пішим туризмом і мінімізує RMSE.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. Автомобільні / електромобілі, вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- BlockOffsets. Модернізація екологічної компенсаційної власності. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- : має
- :є
- : ні
- :де
- ][стор
- $UP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- МЕНЮ
- доступ
- За
- рахунки
- точність
- точний
- додавати
- Додатковий
- Додатково
- адреса
- Африка
- після
- проти
- вік
- AI
- AI / ML
- алгоритм
- алгоритми
- ВСІ
- дозволено
- дозволяє
- Також
- завжди
- Amazon
- Amazon SageMaker
- Amazon Web Services
- серед
- кількість
- an
- та
- будь-який
- застосування
- підхід
- ЕСТЬ
- аргументація
- AS
- At
- атака
- Австралія
- автоматичний
- автоматично
- доступний
- усереднення
- геть
- AWS
- Backend
- заснований
- Базова лінія
- BE
- оскільки
- ставати
- було
- буття
- корисний
- Переваги
- КРАЩЕ
- передового досвіду
- Краще
- між
- За
- змішування
- суміші
- Блокувати
- кров
- Кров'яний тиск
- тіло
- підвищення
- обидва
- приносити
- Приведення
- будувати
- Створюємо
- вбудований
- пучки
- але
- by
- обчислювати
- CAN
- захоплення
- захоплений
- випадок
- категорії
- прикутий
- вантажі
- Вибирати
- класифікація
- код
- холодний
- збір
- комбінації
- об'єднання
- загальний
- зв'язку
- співтовариство
- переконливий
- повний
- обчислення
- комп'ютер
- Комп'ютерне бачення
- Турбота
- конфігурація
- налаштувати
- складається
- Контейнер
- Контейнери
- зміст
- контроль
- Відповідний
- Коштувати
- рентабельним
- покритий
- створення
- виготовлений на замовлення
- клієнт
- Клієнти
- налаштувати
- Кібербезпека
- дані
- Прийняття рішень
- присвячених
- за замовчуванням
- визначати
- певний
- визначаючи
- демонструвати
- Відмова в обслуговуванні
- Залежно
- розгортання
- розгортання
- розгортання
- дизайн
- шаблони дизайну
- докладно
- Виявлення
- Визначати
- різний
- каталоги
- обговорювати
- обговорення
- Захворювання
- Різне
- Docker
- Ні
- Не знаю
- скачати
- дамп
- тривалість
- під час
- кожен
- Схід
- ефект
- ефективний
- продуктивно
- зусилля
- або
- з'являтися
- уповноважувати
- включіть
- кінець
- Кінцева точка
- забезпечувати
- підприємство
- Навколишнє середовище
- середовищах
- особливо
- Європа
- оцінка
- Навіть
- еволюціонували
- приклад
- Приклади
- дослідити
- Дослідження
- додатково
- сім'я
- особливість
- риси
- філе
- Файли
- остаточний
- в кінці кінців
- фінансовий
- Перший
- Гнучкість
- потік
- Сфокусувати
- фокусування
- після
- слідує
- для
- ліс
- формат
- знайдений
- чотири
- Рамки
- каркаси
- шахрайство
- виявлення шахрайства
- друзі
- від
- Повний
- функція
- Функції
- Крім того
- Отримувати
- набирає
- породжувати
- отримати
- отримання
- даний
- великий
- керівництво
- Половина
- обробляти
- Ручки
- Мати
- he
- важкий
- важкий підйом
- допомагає
- її
- вище
- його
- господар
- хостинг
- Як
- How To
- Однак
- HTML
- HTTP
- HTTPS
- Оптимізація гіперпараметрів
- Налаштування гіперпараметрів
- ідеальний
- Idle
- if
- зображення
- здійснювати
- реалізації
- implements
- важливо
- in
- включати
- includes
- індивідуальний
- Індивідуально
- інформація
- Інфраструктура
- вхід
- встановлювати
- екземпляр
- замість
- Інтелект
- в
- вводити
- Вводить
- викликали
- викликає
- Ізраїль
- питання
- IT
- робота
- Джобс
- JPG
- json
- ключі
- Дитина
- відомий
- мова
- більше
- пізніше
- запуск
- вивчення
- використання
- Li
- libraries
- бібліотека
- підйомний
- МЕЖА
- список
- Перераховані
- вантажі
- місцевий
- розташований
- розташування
- каротаж
- ВИГЛЯДИ
- любить
- машина
- навчання за допомогою машини
- головний
- Більшість
- зробити
- управляти
- вдалося
- управління
- менеджер
- управління
- Маса
- максимальний
- значити
- вимірювання
- медичний
- член
- пам'ять
- Злиття
- метод
- методика
- метрика
- Середній
- середній Схід
- може бути
- мінімальний
- мінімізація
- ML
- режим
- модель
- Моделі
- Модулі
- моніторинг
- більше
- найбільш
- множинний
- ім'я
- Імена
- Природний
- Обробка природних мов
- природа
- необхідно
- Необхідність
- наступний
- nlp
- Зверніть увагу..
- номер
- численний
- об'єкт
- мета
- of
- Пропозиції
- часто
- on
- один раз
- ONE
- тільки
- працювати
- оперативний
- оптимізація
- Оптимізувати
- оптимізуючий
- варіант
- Опції
- or
- OS
- Інше
- наші
- з
- на відкритому повітрі
- вихід
- загальний
- власний
- пакети
- параметр
- параметри
- частина
- частини
- Пройшов
- шлях
- Викрійки
- моделі
- Платити
- для
- періодів
- фаза
- трубопровід
- plato
- Інформація про дані Платона
- PlatoData
- точок
- Політика
- популярний
- це можливо
- пошта
- потенціал
- практики
- прогнозування
- прогноз
- Прогнози
- Прогноз
- Прогнози
- надавати перевагу
- переважним
- тиск
- запобігає
- попередній
- друк
- процедура
- процес
- Оброблено
- обробка
- виробляти
- прогресія
- перспективний
- доведений
- забезпечувати
- забезпечує
- Python
- випадковий
- швидко
- Читати
- зменшити
- Знижений
- зниження
- відноситься
- вважати
- regex
- регіон
- віддалений
- Сховище
- представляти
- запросити
- вимагається
- Вимагається
- ресурси
- відповідно
- відповідальний
- результат
- результати
- повертати
- Умови повернення
- право
- РОБЕРТ
- Роль
- прогін
- біг
- s
- мудрець
- Автоматичне налаштування моделі SageMaker
- то ж
- зберегти
- економія
- шкала
- Масштабування
- Вчені
- scikit-вчитися
- scripts
- Sdk
- другий
- побачити
- бачив
- обраний
- послати
- старший
- окремий
- Послідовність
- сироватка
- Без сервера
- Сервери
- обслуговування
- Послуги
- виступаючої
- комплект
- налаштування
- кілька
- секс
- вона
- Повинен
- показав
- Шоу
- Аналогічно
- простий
- один
- SIX
- Розмір
- So
- рішення
- Рішення
- Вирішує
- Source
- спеціаліст
- конкретний
- зазначений
- витрачати
- стек
- укладені
- укладання
- Станфорд
- старт
- починається
- впроваджений
- статистика
- заходи
- зберігання
- зберігати
- магазинів
- просто
- більш сильний
- такі
- РЕЗЮМЕ
- Підтриманий
- Опори
- Переконайтеся
- Сідней
- приймає
- взяття
- Мета
- завдання
- технічний
- методи
- Технологія
- орендар
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- тим самим
- отже
- Ці
- вони
- це
- ті
- хоча?
- три
- через
- час
- times
- до
- разом
- інструменти
- тема
- Усього:
- тяги
- трафік
- поїзд
- навчений
- Навчання
- Дерева
- Тревор
- Triton
- два
- Типи
- при
- розуміти
- Використання
- використання
- використовуваний
- використовує
- використання
- перевірка достовірності
- значення
- Цінності
- різний
- версія
- бачення
- обсяг
- Голосування
- хотіти
- було
- шлях..
- способи
- we
- Web
- веб-сервіси
- вага
- були
- Що
- коли
- який
- в той час як
- всі
- чому
- волі
- з
- в
- Work
- робочий
- працює
- запис
- лист
- XGBoost
- рік
- Ти
- вашу
- зефірнет
- нуль