Automação de Construção/treinamento de Modelos @ShareThis Usando a Plataforma H20

Automação de Construção/treinamento de Modelos @ShareThis Usando a Plataforma H20

Por 1 de junho de 2017Engenharia

Dr. Changyi Zhu, Engenheiro Principal

Uma interface H2O (versão 2/h2o-2) Rest API (Java), como mostrado abaixo, foi criada no ShareThis para automatizar a construção e a reciclagem de modelos

A fim de melhorar o desempenho da campanha, é imperativo atualizar continuamente os modelos aprendidos na máquina para que os modelos utilizem dados recentes para o ajuste fino. Para isso, precisamos de um pipeline automatizado. Nós usamos H20 ( http://http://h2o.ai/ ) plataforma para construir modelos. Tem uma boa interface para a construção de novos modelos. A IU é realmente útil para experimentar novos modelos, mas uma vez que um algoritmo de modelo tenha sido decidido, o treinamento com dados mais recentes e empurrá-lo para a produção deve ser muito mais automatizado (API driven). Como mais da infra-estrutura está em Java, queremos construir uma interface que facilite o processo.

imagem


Preparar as propriedades de entrada do Model Builder

Um arquivo de propriedade de entrada padrão (para modelo GBM ou GLM) é fornecido por esta interface. Os jsons mostrados abaixo podem ser modificados para um modelo específico (GBM).

imagem

imagem


Construir o Modelo

Um script bash padrão mostrado abaixo pode ser modificado para executar a compilação (para um modelo GBM).

#!/bin/bash
java $CLASSPATH com.sharethis.service.h2o.model.GBM bin/res/gbm.properties

Um arquivo jarro para o modelo será gerado pela interface e pode ser carregado dinamicamente por uma aplicação para otimização. Tanto a solicitação REST quanto a resposta são salvas em um arquivo de log para análise posterior para automatizar o processo de construção/treinamento do modelo.

Analisar a resposta REST para a construção/treinamento de modelos

O arquivo de log pode ser carregado por um analisador usando o java.util. As propriedades e as respostas REST, que são salvas como pares chave/valor, podem ser acessadas através das seguintes teclas:

público estático final IMPORTFILERESPONSE String IMPORTFILERESPONSE
PARSEFILERESPONSE público estático final String PARSEFILERESPONSE
público estático final String MODELBUILDRESPONSE
público estático final String MODELPREDICTRESPONSE
público estático final String MODELINSPECTRESPONSE
público estático final String MODELCALCAUC_RESPONSE

Os valores de resposta podem ser deserializados em uma lista de objetos java usando as classes incluídas na interface. Essas respostas podem então ser analisadas por um analisador, que é parte de um projeto futuro, para um determinado conjunto de regras para afinar as propriedades de entrada do modelo para um modelo específico.

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado