DevSecOps

18 fev, 2019

Novo projeto de código aberto introduz abordagem de deep learning sem código

Publicidade

O time de engenharia de inteligência artificial da Uber quer fazer a deep learning mais acessível com o lançamento open source do Ludwig. A toolbox de deep learning baseada em TensorFlow pretende dar aos usuários a habilidade de treinar e testar modelos de deep learning. E isso sem ter que realmente escrever código algum.

“O Ludwing é único na sua capacidade de fazer da deep learning algo mais fácil de entender para quem não é um exepert no assunto. E ele permite ciclos mais rápidos de iteração de melhoria de modelo para devs experientes no assunto e pesquisadores. Ao usar o Ludwing, pode-se simplificar o processo de prototipagem e agilizar o processamento de dados, de modo que possam se concentrar no desenvolvimento de arquiteturas de deep learning, ao invés de disputas de dados”, escreveu o time de AI da Uber em um post sobre o assunto.

De acordo com a equipe, a novidade levou dois anos para ser desenvolvida. E ela já vem sendo usada para o Customer Obsession Ticket Assistant, extração de informações, identificação de pontos de interesse e previsões de tempo de entrega de comidas.

O que o Ludwing facilita a vida vida de quem quer trabalhar com deep learning?

Além do tensoFlow, eles analisaram projetos de machine learning. O Weka e o MLlib para trabalhar com dados não tratados e o scikit-learn, por seu PAI programático. “Esse mix de influências faz dele uma ferramenta um pouco diferente das bibliotecas usuais para deep learning. Isso porque fornece primitivas de álgebra tensorial e algumas outras utilidades para codificar modelos. Mas, ao mesmo tempo, o Ludwing é mais geral do que outras bibliotecas especializadas, como PyText, StanfordNLP, AllenNLP e OpenCV”, explicaram.

A equipe explicou ainda que os alguns dos princípios de design usados na solução. Dentre eles: a não necessidade de habilidades para codar, generalidade, flexibilidade, extensibilidade e capacidade de compreensão. “Nós oferecemos uma nova abordagem baseada em tipo de dados para deep learning. Também permitimos que se treine modelos com um arquivo tabular, como CSV contendo dados e um arquivo de configuração YAML”, escreveram. Pontuaram também que a simplicidade do arquivo de configuração permite uma prototipagem mais rápida. “Se mais de uma variável de destino for especificada, o Ludwig realizará o aprendizado multitarefa. E vai aprender a prever todas as saídas simultaneamente. E essa é uma tarefa que, normalmente, requer código personalizado”.

Outros recursos incluem modelos pré-treinados e codificadores e decodificadores para valores binários, números flutuantes, categorias e séries temporais. Para os não-programadores, o Ludwig fornece um conjunto de utilitários de linha de comando. Assim é possível treinar e testar modelos. Com ele você também pode obter previsões. Por fim, inclui uma API programática para treinamento e uso de um modelo. Além de várias ferramentas para avaliar modelos e comparar desempenhos e previsões, além da capacidade de treinar modelos em várias GPUs.

“Ludwig fornece um conjunto de arquiteturas de modelo. E elas podem ser combinadas para criar um modelo end-to-end para um determinado caso de uso. Uma analogia: se as bibliotecas de deep learning fornecem os blocos para construir seu prédio, o Ludwig fornece os prédios para fazer sua cidade. E você pode escolher entre os prédios disponíveis ou adicionar seu próprio prédio ao conjunto de prédios disponíveis”.

***

Com informações de SD Times