Введение:

В сегодняшней среде, управляемой данными, организации генерируют больше данных, чем когда-либо прежде. Эти данные можно использовать для получения ценных сведений о поведении клиентов, операционной эффективности и других областях. Однако эффективно управлять этими данными и анализировать их может быть сложно.
Машинное обучение Azure предоставляет надежную платформу, которая помогает организациям организовывать рабочие процессы машинного обучения, развертывать модели в реальном времени и получать полезную информацию. Машинное обучение Azure предлагает широкий спектр функций, в том числе:

  • Конвейерная оркестрация: Машинное обучение Azure можно использовать для автоматизации шагов, связанных с рабочими процессами машинного обучения. Это может помочь повысить эффективность и воспроизводимость проектов машинного обучения.
  • Развертывание модели в режиме реального времени. Машинное обучение Azure можно использовать для развертывания моделей машинного обучения в рабочей среде в режиме реального времени. Это позволяет организациям делать прогнозы и принимать меры на основе последних данных.
  • Отраслевые варианты использования. Машинное обучение Azure используется в самых разных отраслях для получения ценных сведений из данных. Например, Машинное обучение Azure использовалось в розничной торговле для прогнозирования поведения клиентов, в здравоохранении для диагностики заболеваний, а в финансовой сфере — для обнаружения мошенничества.

В этой статье мы рассмотрим этапы использования Машинного обучения Azure для организации рабочих процессов машинного обучения, развертывания моделей в реальном времени и получения полезных сведений. Я также приведу примеры кода.
Вот некоторые дополнительные факты и указатели:

  • Согласно недавнему исследованию IDC, ожидается, что к 2024 году мировой рынок машинного обучения достигнет 31,2 миллиарда долларов.
  • Машинное обучение Azure — одна из ведущих облачных платформ машинного обучения. Он используется широким кругом организаций, включая Microsoft, IBM и Amazon.
  • Машинное обучение Azure предлагает широкий спектр функций, включая подготовку данных, обучение моделей, оценку моделей и развертывание моделей.
  • Машинное обучение Azure легко использовать даже тем, у кого нет опыта работы с машинным обучением.

мы рассмотрим этапы этого процесса, предоставим примеры кода и продемонстрируем отраслевые варианты использования.

Шаг 1. Настройка рабочей области Машинного обучения Azure
Чтобы начать работу, создайте новую рабочую область Машинного обучения Azure, используя следующий код:

from azureml.core import Workspace

# Specify your Azure subscription, resource group, and workspace details
subscription_id = "<your-subscription-id>"
resource_group = "<your-resource-group>"
workspace_name = "<your-workspace-name>"
workspace_region = "<your-workspace-region>"

# Create the workspace
workspace = Workspace.create(
    name=workspace_name,
    subscription_id=subscription_id,
    resource_group=resource_group,
    location=workspace_region,
    exist_ok=True
)

Шаг 2. Создайте и зарегистрируйте модели машинного обучения
Разработайте свои модели машинного обучения, используя предпочитаемую платформу. Например, с помощью scikit-learn вы можете обучить модель и зарегистрировать ее следующим образом:

from azureml.core import Model

# Train your model and save it

# Register the trained model
model = Model.register(
    workspace=workspace,
    model_name="<your-model-name>",
    model_path="<your-model-path>",
    description="<your-model-description>",
    tags={"key": "value"},
    model_framework=Model.Framework.SCIKITLEARN,
    model_framework_version="<your-framework-version>"
)

Шаг 3. Определите и создайте конвейер машинного обучения Azure
Чтобы создать конвейер машинного обучения Azure, определите его шаги и зависимости. Вот пример использования Python SDK:

from azureml.core import Experiment, Pipeline, ScriptRunConfig
from azureml.pipeline.steps import PythonScriptStep

# Create an experiment
experiment_name = "<your-experiment-name>"
experiment = Experiment(workspace, experiment_name)

# Define pipeline steps
step1 = PythonScriptStep(
    script_name="data_preprocessing.py",
    source_directory="./pipeline_scripts",
    compute_target="<your-compute-target>",
    inputs=[],
    outputs=[],
    arguments=[],
    runconfig=ScriptRunConfig()
)

step2 = PythonScriptStep(
    script_name="model_training.py",
    source_directory="./pipeline_scripts",
    compute_target="<your-compute-target>",
    inputs=[],
    outputs=[],
    arguments=[],
    runconfig=ScriptRunConfig()
)

# Create the pipeline
pipeline = Pipeline(workspace, steps=[step1, step2])

# Submit the pipeline as an experiment
pipeline_run = experiment.submit(pipeline)

Шаг 4. Включите этапы оценки в реальном времени
Чтобы развернуть модель как службу оценки в реальном времени, добавьте этапы развертывания в конвейер. Вот пример использования Azure Container Instances (ACI):

from azureml.core.webservice import AciWebservice, Webservice
from azureml.pipeline.steps import EstimatorStep
from azureml.train.dnn import TensorFlow

# Define the scoring script
scoring_script = "score.py"

# Create an estimator for deploying the model
estimator = TensorFlow(
    source_directory="<your-source-directory>",
    script_params={},
    compute_target="<your-compute-target>",
    entry_script=scoring_script,
    conda_packages=["numpy", "pandas"]
)

# Create a deployment step
deploy_step = EstimatorStep(
    name="model_deployment",
    estimator=estimator,
    inputs=[],
    compute_target="<your-compute-target>"
)

# Add the deployment step to the pipeline
pipeline.steps.append(deploy_step)

Шаг 5. Настройте цели развертывания
Выберите подходящую цель развертывания для службы оценки в реальном времени. Например, развертывание в службе Azure Kubernetes (AKS) можно выполнить с помощью следующего кода:

from azureml.core.compute import AksCompute, ComputeTarget

# Configure AKS cluster details
aks_name = "<your-aks-name>"
aks_config = AksCompute.provisioning_configuration(
    agent_count=3,
    vm_size="Standard_D2_v2",
    location="<your-aks-location>"
)

# Create or retrieve the AKS compute target
aks_target = ComputeTarget.create(workspace, aks_name, aks_config)
aks_target.wait_for_completion(show_output=True)

Шаг 6. Разверните конвейер
Развертывание конвейера в выбранной цели можно выполнить с помощью следующего кода:

from azureml.pipeline.core import PublishedPipeline

# Publish the pipeline
published_pipeline = pipeline.publish(
    name="<your-published-pipeline-name>",
    description="<your-published-pipeline-description>"
)

# Create a pipeline endpoint
pipeline_endpoint = PipelineEndpoint.publish(
    workspace=workspace,
    name="<your-pipeline-endpoint-name>",
    pipeline=published_pipeline,
    description="<your-pipeline-endpoint-description>"
)

# Create a new experiment to submit the pipeline
new_experiment = Experiment(workspace, "<your-new-experiment-name>")
pipeline_run = new_experiment.submit(published_pipeline)

Шаг 7. Мониторинг развертываний и управление ими
Azure Machine Learning предоставляет возможности мониторинга и управления. Вы можете отслеживать развернутые конвейеры и службы оценки в реальном времени, просматривая метрики и журналы. Например:

# Get the pipeline endpoint by name
pipeline_endpoint = PipelineEndpoint.get(workspace, "<your-pipeline-endpoint-name>")

# Get the latest pipeline run from the endpoint
latest_run = pipeline_endpoint.latest_run

# Monitor pipeline metrics
metrics = latest_run.get_metrics()
logs = latest_run.get_all_logs()

# Set up alerts and notifications
# ...

Заключение.
Следуя инструкциям, описанным в этой статье, и используя предоставленные примеры кода, организации могут эффективно управлять конвейерами и развертывать модели машинного обучения в реальном времени с помощью Машинного обучения Azure. Это позволяет компаниям раскрыть всю мощь аналитических данных в режиме реального времени и улучшить свои процессы принятия решений.

Благодаря надежной платформе машинного обучения Azure организации могут беспрепятственно координировать сквозные рабочие процессы машинного обучения и обеспечивать непрерывную доставку аналитических данных в режиме реального времени. Функции и возможности платформы упрощают процесс оркестрации конвейера, позволяя организациям эффективно развертывать модели машинного обучения в реальном времени и управлять ими.

Используя Машинное обучение Azure, организации могут развертывать службы оценки в реальном времени, используя такие варианты развертывания, как Служба Azure Kubernetes (AKS) или Экземпляры контейнеров Azure (ACI). Это позволяет делать мгновенные прогнозы, позволяя компаниям оперативно реагировать на изменение динамики рынка, обнаруживать аномалии в режиме реального времени, персонализировать клиентский опыт, оптимизировать операции и принимать упреждающие решения на основе последних данных.

Ссылки:

Спасибо за прочтение!

Если вам понравилось, подпишитесь на меня, чтобы не пропустить новую статью о руководствах по науке о данных, хитростях и советах, жизненных уроках и многом другом!

#Наука о данных #Azure #машинное обучение