Ferramentas para desenvolvedores de software: Framework aberto e bibliotecas de aprendizado de máquina

Continuando nossa série de ferramentas de desenvolvedor de código aberto. Hoje falamos sobre estruturas e bibliotecas para MO - Transformers, Accord.NET e MLflow.


Fotos - Franck V. - Unsplash


Transformadores



Esta é uma biblioteca de modelos de linguagem natural no TensorFlow 2.0 e PyTorch. Ele contém mais de 32 modelos pré-treinados - BERT, DistilBert, XLM, GPT-2, XLNet e outros.

Os autores da biblioteca foram engenheiros da empresa HuggingFace, desenvolvendo algoritmos de PNL. Foram eles que introduziram o modelo de multitarefa de máquina Hierarchical Multi-Task Learning (HMTL), que deu mais um passo no sentido de resolver o problema do “ esquecimento catastrófico ”. O HMTL foi exibido na AAAI 2019, uma conferência acadêmica internacional sobre sistemas de inteligência artificial.

Uma característica chave do Transformers é a capacidade de trocar modelos treinados e convertê-los de uma estrutura para outra: TF2.0 ou PyTorch. Os desenvolvedores observam que sua solução nos permite descrever o procedimento para treinar o modelo com três linhas de código.

Uma extensa comunidade se formou em torno da biblioteca - quase 15 mil estrelas no GitHub . Você pode avaliar os recursos do Transformers no site do projeto : os desenvolvedores ensinaram a rede neural a anexar propostas para você.


Accord.NET



Uma estrutura aprimorada pelo C # que fornece ferramentas básicas para análise de dados e aprendizado de máquina: do teste de hipóteses estatísticas à criação de modelos de visão computacional e processamento de imagens. O Accord.NET é uma das soluções MO mais populares no ecossistema .NET. Inicialmente, era uma extensão da biblioteca AForge.NET , mas depois a absorveu.

A ferramenta oferece distribuições de probabilidade, funções principais e parâmetros de referência para avaliar o desempenho dos modelos. O Accord.NET é dividido em bibliotecas disponíveis como módulos executáveis, arquivos compactados ou pacotes NuGet . Entre eles estão: Matemática para trabalhar com matrizes, Imagem para processamento de imagem e Áudio com funções de som. Você também pode destacar o Neuro com os algoritmos Levenberg - Marquardt e de aprendizado profundo.

O Accord.NET foi usado para pesquisas de engenheiros de universidades do Reino Unido , Egito , China e outros países. E, em geral, o framework usa um número bastante grande de desenvolvedores - ele tem mais de 3,5 mil estrelas no GitHub .

Entre as deficiências podem ser distinguidas documentação confusa, difícil para iniciantes. Embora a situação seja um pouco simplificada pela disponibilidade de um guia de início rápido e comentários detalhados no código. Mais informações sobre o Accord.NET também podem ser encontradas na literatura. Os próprios desenvolvedores recomendam Projetos de Aprendizado de Máquina para Desenvolvedores .NET , F # para Machine Learning Essentials e alguns outros .


Fotos - Franck V. - Unsplash


MLflow



É uma plataforma para o ciclo completo de aprendizado de máquina, simplificando o desenvolvimento, a implantação e a troca de modelos. Ele oferece um conjunto de APIs que funcionam com qualquer biblioteca (TensorFlow, PyTorch, XGBoost etc.) e em qualquer ambiente, incluindo a nuvem. Os desenvolvedores do MLflow são programadores da Databricks, uma startup fundada por pessoas do Apache Spark.

O MLflow possui integrações internas com Docker, TensorFlow, PyTorch, Kubernetes, Java, Spark e outros projetos de código aberto. Ao mesmo tempo, o MLflow é usado por organizações como Microsoft, Accenture, SK Telecom e até Universidade de Washington.

Entre as desvantagens do MLflow, pode-se destacar a falta de suporte para R e Java, apesar de sua popularidade no campo de aprendizado de máquina. Mas o ponto aqui é a juventude relativa do projeto, e os desenvolvedores prometem adicionar APIs apropriadas no futuro. A juventude do instrumento deixa outra marca - há bugs em seu trabalho.

Se você deseja avaliar independentemente o MLflow no trabalho, pode começar a se familiarizar com a documentação oficial . Se você tiver dúvidas, uma comunidade relativamente pequena, mas ativa, no StackOverflow ou nos Grupos do Google , ajudará com a solução.

Nossas outras coleções:

Economize tempo ao trabalhar com a linha de comando
Benchmarks para servidores no Linux: uma seleção de ferramentas abertas

O que escrevemos sobre Habré:

O que se sabe sobre o VMworld 2019
Compreender as políticas de privacidade de aplicativos e serviços ajudará redes neurais
O tribunal da UE se opõe a cookies por padrão - não deve haver caixas de seleção pré-marcadas


Oferecemos um serviço de armazenamento em instalações na nuvem . Para backup, arquivamento e compartilhamento de documentos.

Source: https://habr.com/ru/post/pt471320/


All Articles