Por que executar o treinamento de ML em uma máquina local e, em seguida, executar regularmente em um servidor?

Autor: Roger Morrison
Data De Criação: 28 Setembro 2021
Data De Atualização: 1 Julho 2024
Anonim
Por que executar o treinamento de ML em uma máquina local e, em seguida, executar regularmente em um servidor? - Tecnologia
Por que executar o treinamento de ML em uma máquina local e, em seguida, executar regularmente em um servidor? - Tecnologia

Contente

Q:

Por que executar o treinamento de aprendizado de máquina (ML) em uma máquina local e depois executar regularmente em um servidor?


UMA:

A questão de como estruturar um projeto de aprendizado de máquina e suas fases de treinamento e teste tem muito a ver com a maneira como avançamos no “ciclo de vida” do ML e trazemos o programa de um ambiente de treinamento para um ambiente de produção.

Um dos motivos mais simples para usar o modelo acima de colocar o treinamento de ML em uma máquina local e depois mover a execução para um sistema baseado em servidor é o benefício da separação essencial de tarefas. Em geral, você deseja que o conjunto de treinamento seja isolado, para ter uma imagem clara de onde o treinamento começa e para e onde o teste começa. Este artigo do KDNuggets fala sobre o princípio de maneira grosseira, além de abordar alguns dos outros motivos para isolar conjuntos de treinamento em uma máquina local. Uma outra proposta básica de valor para esse modelo é que, com os conjuntos de treinamento e teste em arquiteturas muito diferentes, você nunca ficará confuso sobre a alocação conjunta de treinamento / teste!


Outro benefício interessante tem a ver com segurança cibernética. Especialistas apontam que, se você tem os processos iniciais de trem em uma máquina local, ela não precisa estar conectada à Internet! Isso amplia a segurança de uma maneira fundamental, “incubando” o processo até atingir o mundo da produção, onde você deve criar segurança adequada no modelo de servidor.

Além disso, alguns desses modelos "isolados" podem ajudar com problemas como desvio de conceito e contras ocultas - o princípio da "não-estacionalidade" alerta os desenvolvedores que os dados não "permanecem os mesmos" ao longo do tempo (dependendo do que está sendo medido) e que é preciso muita adaptabilidade para fazer uma fase de teste corresponder a uma fase de trem. Ou, em alguns casos, os processos de treinamento e teste se misturam, criando confusão.

A implantação da fase de teste em um servidor pela primeira vez pode facilitar vários modelos de "caixa preta", onde você corrige o problema da adaptabilidade dos dados. Em alguns casos, elimina o processo redundante de colocar pedidos de alteração em várias plataformas.


Além disso, o ambiente do servidor obviamente serve os processos dinâmicos ou em tempo real nos quais os engenheiros desejam acessar os modelos de transferência e código de dados que funcionam melhor para a produção no ML. Por exemplo, o AWS Lambda pode ser uma opção atraente para lidar com as microfunções de produção (ou uma combinação de armazenamento de objetos Lambda e S3) e sem conectividade (sem servidor) que se torne impossível.

Esses são alguns dos problemas que os desenvolvedores podem pensar quando consideram como particionar as fases de ML de treinamento dos testes e da produção.