![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](https://a.continuousdev.com/technology/why-run-ml-training-on-a-local-machine-and-then-run-regular-execution-on-a-server.png)
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.