Искусственный интеллект (ИИ) стал важной и популярной темой в технологическом сообществе. По мере развития ИИ мы наблюдали появление различных типов моделей машинного обучения (МО). Один подход, известный как ансамблевое моделирование, быстро набирает популярность среди специалистов по данным и практиков. В этом посте мы обсудим, что такое ансамблевые модели и почему их использование может быть полезным. Затем мы приводим пример того, как вы можете обучать, оптимизировать и развертывать свои пользовательские ансамбли с помощью Создатель мудреца Амазонки.
Ансамблевое обучение относится к использованию нескольких моделей и алгоритмов обучения для получения более точных прогнозов, чем любой отдельный алгоритм обучения. Доказано, что они эффективны в различных приложениях и условиях обучения, таких как кибербезопасность [1] и обнаружение мошенничества, дистанционное зондирование, прогнозирование наилучших следующих шагов при принятии финансовых решений, медицинская диагностика и даже задачи компьютерного зрения и обработки естественного языка (NLP). Мы склонны классифицировать ансамбли по методам, используемым для их обучения, их составу и тому, как они объединяют различные прогнозы в единый вывод. Эти категории включают:
- Стимулирование – Последовательное обучение нескольких слабых учеников, при котором каждому неверному прогнозу от предыдущих учеников в последовательности присваивается более высокий вес и вклад для следующего ученика, тем самым создавая более сильного ученика. Примеры включают AdaBoost, Gradient Boosting и XGBoost.
- мешковина – Использование нескольких моделей для уменьшения дисперсии одной модели. Примеры включают случайный лес и дополнительные деревья.
- Укладка (смешивание) – Часто используются гетерогенные модели, в которых прогнозы каждого отдельного оценщика складываются вместе и используются в качестве входных данных для окончательного оценщика, который обрабатывает прогноз. Процесс обучения этого окончательного оценщика часто использует перекрестную проверку.
Существует несколько методов объединения прогнозов в один, который модель в конечном итоге создает, например, с использованием метаоценщика, такого как линейный обучаемый метод, метод голосования, который использует несколько моделей для создания прогноза на основе голосования большинства для задачи классификации или усреднение по ансамблю для регрессии.
Хотя несколько библиотек и фреймворков предоставляют реализации ансамблевых моделей, таких как XGBoost, CatBoost или случайный лес scikit-learn, в этом посте мы сосредоточимся на создании ваших собственных моделей и их использовании в качестве ансамбля стекирования. Однако вместо того, чтобы использовать выделенные ресурсы для каждой модели (выделенные задания по обучению и настройке и размещение конечных точек для каждой модели), мы обучаем, настраиваем и развертываем пользовательский ансамбль (несколько моделей) с помощью одного задания обучения SageMaker и одного задания настройки, а затем развертываем на одной конечной точке, тем самым снижая возможные затраты и операционные накладные расходы.
BYOE: Принесите свой собственный ансамбль
Существует несколько способов обучения и развертывания гетерогенных ансамблевых моделей с помощью SageMaker: вы можете обучать каждую модель в отдельная учебная работа и оптимизировать каждую модель отдельно, используя Автоматическая настройка моделей Amazon SageMaker. При размещении этих моделей SageMaker предлагает различные экономичные способы размещения нескольких моделей в одной и той же инфраструктуре клиента. Подробные шаблоны развертывания для такого рода настроек можно найти в Шаблоны размещения моделей в Amazon SageMaker, часть 1. Общие шаблоны проектирования для создания приложений машинного обучения в Amazon SageMaker. Эти шаблоны включают использование нескольких конечных точек (для каждой обученной модели) или одного многомодельная конечная точка, или даже один многоконтейнерная конечная точка где контейнеры можно вызывать по отдельности или объединять в конвейер. Все эти решения включают в себя метаоценщик (например, в AWS Lambda функция), которая вызывает каждую модель и реализует функцию смешивания или голосования.
Однако запуск нескольких заданий обучения может привести к дополнительным операционным и финансовым затратам, особенно если ваш ансамбль требует обучения на одних и тех же данных. Точно так же размещение различных моделей в отдельных конечных точках или контейнерах и объединение результатов их прогнозирования для повышения точности требует многократного вызова и, следовательно, требует дополнительных усилий по управлению, затратам и мониторингу. Например, SageMaker поддерживает ансамблевые модели машинного обучения с использованием 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.
В следующем блоке кода показан код, который мы используем для запуска обучения. entry_point
указывает на наш обучающий скрипт. Мы также используем две привлекательные функции SageMaker SDK API:
- Во-первых, мы указываем локальный путь к нашему исходному каталогу и зависимостям в файле
source_dir
иdependencies
параметры соответственно. SDK сожмет и загрузит эти каталоги в Простой сервис хранения Amazon (Amazon S3) и SageMaker сделают их доступными в учебном экземпляре в рабочем каталоге./opt/ml/code
. - Во-вторых, мы используем SDK
SKLearn
estimator с нашей предпочтительной версией 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. Мы также реализуем 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 и загружает его в 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))
Подводя итог, вы должны заметить, что в этой процедуре мы загрузили данные один раз и обучили две модели, используя одно задание обучения.
Автоматическая настройка модели ансамбля
Поскольку мы создаем набор моделей машинного обучения, изучение всех возможных перестановок гиперпараметров нецелесообразно. 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)
Когда задание завершено, вы можете получить значения для лучшего задания обучения (с минимальным среднеквадратичным отклонением):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Для получения дополнительной информации о АМТ см. Выполнение автоматической настройки модели с помощью 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, в этом примере мы используем бессерверную конечную точку. Бессерверные конечные точки автоматически запускают вычислительные ресурсы и масштабируют их в зависимости от трафика. Это устраняет тяжелую работу по управлению серверами. Этот вариант идеально подходит для рабочих нагрузок, которые имеют периоды простоя между скачками трафика и допускают холодный запуск.
Настройка бессерверной конечной точки проста, поскольку нам не нужно выбирать типы экземпляров или управлять политиками масштабирования. Нам нужно указать только два параметра: размер памяти и максимальный параллелизм. Бессерверная конечная точка автоматически назначает вычислительные ресурсы пропорционально выбранному вами объему памяти. Если вы выберете больший объем памяти, ваш контейнер получит доступ к большему количеству виртуальных ЦП. Вы всегда должны выбирать размер памяти вашей конечной точки в соответствии с размером вашей модели. Второй параметр, который нам нужно предоставить, — это максимальный параллелизм. Для одной конечной точки этот параметр может быть установлен до 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) «Регрессия с наименьшим углом», Анналы статистики (с обсуждением), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Об авторах
Мелани Ли, доктор философии, является старшим специалистом по искусственному интеллекту и машинному обучению в AWS в Сиднее, Австралия. Она помогает корпоративным клиентам создавать решения с использованием самых современных инструментов искусственного интеллекта и машинного обучения в AWS, а также предоставляет рекомендации по разработке и внедрению решений машинного обучения с учетом передового опыта. В свободное время она любит исследовать природу на свежем воздухе и проводить время с семьей и друзьями.
Ури Розенберг является техническим менеджером специалиста по искусственному интеллекту и машинному обучению в Европе, на Ближнем Востоке и в Африке. Находясь в Израиле, Ури работает над тем, чтобы предоставить корпоративным клиентам возможность проектировать, создавать и управлять рабочими нагрузками машинного обучения в любом масштабе. В свободное время он любит кататься на велосипеде, ходить в походы и минимизировать RMSE.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: 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 Web Services
- среди
- количество
- an
- и
- любой
- Приложения
- подхода
- МЫ
- Аргументы
- AS
- At
- атаковать
- Австралия
- Автоматический
- автоматически
- доступен
- усреднение
- прочь
- AWS
- Backend
- основанный
- Базовая линия
- BE
- , так как:
- становиться
- было
- не являетесь
- полезный
- Преимущества
- ЛУЧШЕЕ
- лучшие практики
- Лучшая
- между
- Beyond
- смешивание
- смеси
- Заблокировать
- кровь
- Кровяное давление
- тело
- стимулирование
- изоферменты печени
- приносить
- Приведение
- строить
- Строительство
- встроенный
- пучки
- но
- by
- вычислять
- CAN
- захватить
- захваченный
- случаев
- категории
- прикованный
- расходы
- Выберите
- классификация
- код
- холодный
- лыжных шлемов
- комбинации
- комбинируя
- Общий
- Связь
- сообщество
- неотразимый
- полный
- Вычисление
- компьютер
- Компьютерное зрение
- Обеспокоенность
- Конфигурация
- настроить
- состоит
- Container
- Контейнеры
- содержание
- контроль
- соответствующий
- Цена
- рентабельным
- покрытый
- Создающий
- изготовленный на заказ
- клиент
- Клиенты
- настроить
- Информационная безопасность
- данным
- Принятие решений
- преданный
- по умолчанию
- определять
- определенный
- определяющий
- демонстрировать
- Отказ в обслуживании
- в зависимости
- развертывание
- развертывание
- развертывание
- Проект
- шаблоны проектирования
- подробный
- обнаружение
- Определять
- различный
- каталоги
- обсуждать
- обсуждение
- Болезнь
- Разное
- Docker
- не
- Dont
- скачать
- дамп
- продолжительность
- в течение
- каждый
- восток
- эффект
- эффективный
- эффективно
- усилия
- или
- появляться
- расширение прав и возможностей
- включить
- конец
- Конечная точка
- обеспечивать
- Предприятие
- Окружающая среда
- средах
- особенно
- Европе
- оценка
- Даже
- эволюционировали
- пример
- Примеры
- Больше
- Исследование
- дополнительно
- семья
- Особенность
- Особенности
- Файл
- Файлы
- окончательный
- в заключение
- финансовый
- Во-первых,
- Трансформируемость
- поток
- Фокус
- фокусировка
- после
- следующим образом
- Что касается
- лес
- формат
- найденный
- 4
- Рамки
- каркасы
- мошенничество
- обнаружение мошенничества
- друзья
- от
- полный
- функция
- Функции
- Более того
- Gain
- получение
- порождать
- получить
- получающий
- данный
- большой
- руководство
- Половина
- обрабатывать
- Ручки
- Есть
- he
- тяжелый
- тяжелая атлетика
- помогает
- ее
- высший
- его
- кашель
- хостинг
- Как
- How To
- Однако
- HTML
- HTTP
- HTTPS
- Оптимизация гиперпараметра
- Настройка гиперпараметра
- идеальный
- Idle
- if
- изображение
- осуществлять
- Осуществляющий
- инвентарь
- важную
- in
- включают
- включает в себя
- individual
- в отдельности
- информация
- Инфраструктура
- вход
- устанавливать
- пример
- вместо
- Интеллекта
- в
- вводить
- Представляет
- вызывается
- Запускает
- Израиль
- вопросы
- IT
- работа
- Джобс
- JPG
- JSON
- ключи
- Вид
- известный
- язык
- больше
- новее
- запуск
- изучение
- Используя
- Li
- библиотеки
- Библиотека
- Подтяжка лица
- ОГРАНИЧЕНИЯ
- Список
- Включенный в список
- грузы
- локальным
- расположенный
- расположение
- каротаж
- ВЗГЛЯДЫ
- любит
- машина
- обучение с помощью машины
- Главная
- Большинство
- сделать
- управлять
- управляемого
- управление
- менеджер
- управления
- Масса
- максимальный
- значить
- размеры
- основным медицинским
- член
- Память
- идти
- метод
- методы
- метрический
- средняя
- Ближний Восток
- может быть
- минимальный
- минимизация
- ML
- режим
- модель
- Модели
- Модули
- Мониторинг
- БОЛЕЕ
- самых
- с разными
- имя
- имена
- натуральный
- Обработка естественного языка
- природа
- необходимо
- Необходимость
- следующий
- НЛП
- Уведомление..
- номер
- многочисленный
- объект
- цель
- of
- Предложения
- .
- on
- консолидировать
- ONE
- только
- работать
- оперативный
- оптимизация
- Оптимизировать
- оптимизирующий
- Опция
- Опции
- or
- OS
- Другое
- наши
- внешний
- на открытом воздухе
- выходной
- общий
- собственный
- пакеты
- параметр
- параметры
- часть
- части
- Прошло
- путь
- шаблон
- паттеранами
- ОПЛАТИТЬ
- для
- периодов
- фаза
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пунктов
- сборах
- Популярное
- возможное
- После
- потенциал
- практиками
- прогнозирования
- прогноз
- Predictions
- Predictor
- предсказывает
- предпочитать
- привилегированный
- давление
- предотвращает
- предыдущий
- Печать / PDF
- процедуры
- процесс
- Обработанный
- обработка
- производит
- прогрессия
- многообещающий
- доказанный
- обеспечивать
- приводит
- Питон
- случайный
- быстро
- Читать
- уменьшить
- Цена снижена
- снижение
- понимается
- Считать
- регулярное выражение
- область
- удаленные
- хранилище
- представлять
- запросить
- обязательный
- требуется
- Полезные ресурсы
- соответственно
- ответственный
- результат
- Итоги
- возвращают
- Возвращает
- правую
- РОБЕРТ
- Роли
- Run
- Бег
- s
- sagemaker
- Автоматическая настройка модели SageMaker
- то же
- Сохранить
- экономия
- Шкала
- масштабирование
- Ученые
- scikit учиться
- скрипты
- SDK
- Во-вторых
- посмотреть
- видел
- выбранный
- Отправить
- старший
- отдельный
- Последовательность
- сыворотка
- Serverless
- Серверы
- обслуживание
- Услуги
- выступающей
- набор
- настройки
- несколько
- Секс
- она
- должен
- показал
- Шоу
- Аналогичным образом
- просто
- одинарной
- ШЕСТЬ
- Размер
- So
- Решение
- Решения
- Решает
- Источник
- специалист
- конкретный
- указанный
- тратить
- стек
- сложены
- штабелирования
- Стэнфорд
- Начало
- начинается
- современное состояние
- статистике
- Шаги
- диск
- хранить
- магазины
- простой
- сильнее
- такие
- РЕЗЮМЕ
- Поддержанный
- Поддержка
- Убедитесь
- Сидней
- принимает
- с
- цель
- задачи
- Технический
- снижения вреда
- Технологии
- арендатор
- чем
- который
- Ассоциация
- их
- Их
- тогда
- Там.
- тем самым
- следовательно
- Эти
- они
- этой
- те
- хоть?
- три
- Через
- время
- раз
- в
- вместе
- инструменты
- тема
- Всего
- тяга
- трафик
- Train
- специалистов
- Обучение
- Деревья
- Тревор
- Тритон
- два
- Типы
- под
- понимать
- Применение
- использование
- используемый
- использования
- через
- Проверка
- ценностное
- Наши ценности
- различный
- версия
- видение
- объем
- голосование
- хотеть
- законопроект
- Путь..
- способы
- we
- Web
- веб-сервисы
- вес
- были
- Что
- когда
- , которые
- в то время как
- все
- зачем
- будете
- в
- Работа
- работает
- работает
- записывать
- письмо
- XGBoost
- год
- Ты
- ВАШЕ
- зефирнет
- нуль