Principais bibliotecas de aprendizado de máquina

Autora

David Zax

Staff Writer

IBM Think

O que são bibliotecas de aprendizado de máquina?

As bibliotecas de aprendizado de máquina são blocos pré-fabricados de código ("bibliotecas") que são úteis para projetos de aprendizado de máquina. Como os esforços de aprendizado de máquina (ML) envolvem de forma confiável certos tipos de tarefas comuns na inteligência artificial, economiza tempo trabalhar com algoritmos selecionados e criados previamente, e outras ferramentas. 

A maioria das bibliotecas de ML é composta por módulos, permitindo que os desenvolvedores combinem e correspondam enquanto criam pipelines de ML que lidam com pré-processamento, treinamento, métricas de validação e outras tarefas. As bibliotecas são frequentemente de código aberto e gratuitas, e há muitas para escolher: uma página do GitHub agrega quase 1000 bibliotecas de ML na linguagem de programação Python. (O Python surgiu como a linguagem dominante de aprendizado de máquina, embora os projetos de ML também apareçam em JavaScript, R e outras linguagens). 

Há bibliotecas para todos os tipos de aplicações. Os transformadores do Hugging Face fornecem acesso fácil a modelos de transformadores pré-treinados. Bibliotecas como a Stable-Baselines3 são compatíveis com o aprendizado por reforço. As bibliotecas de aprendizado de máquina podem ser agrupadas de forma útil em duas categorias. Bibliotecas gerais que servem como frameworks ou plataformas para projetos de aprendizado de máquina. Bibliotecas especializadas que podem ser usadas para um estágio ou componente específico de um projeto de ML.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Bibliotecas gerais de aprendizado de máquina

Bibliotecas gerais de aprendizado de máquina (às vezes chamadas de "frameworks de uso geral" ou "plataformas centrais") chegam às dezenas. Mas quatro são particularmente populares, rotineiramente encabeçando as listas das "melhores": TensorFlow (e o Keras intimamente relacionado), PyTorch e scikit-learn. Cada uma tem pontos fortes ligeiramente diferentes, dependendo das necessidades do projeto ou da equipe. 

  • NumPy

  • Tensorflow

  • Keras

  • PyTorch

  • Scikit-learn

NumPy

O NumPy não é uma biblioteca de ML per se, mas sim a biblioteca em cujos ombros todas as bibliotecas de ML são construídas. Em sua essência, o aprendizado de máquina consiste em encontrar padrões em grandes quantidades de dados. O NumPy, uma biblioteca que cria uma estrutura conhecida como matriz n-dimensional, ajuda a organizar esses pontos de dados e a aplicar funções matemáticas a eles (um ramo da matemática conhecido como álgebra linear). Essas matrizes n-dimensionais ou multidimensionais (novamente, grandes contêineres manipuláveis de números) também são chamadas de"tensores", um termo que ocorre com frequência nas discussões sobre bibliotecas de ML. [Uma matriz (array) bidimensional é conhecida como matriz].

Embora o NumPy lide com tensores, a estrutura de dados central do aprendizado de máquina, o NumPy é, na prática, muito limitado para as demandas com uso intenso de processadores do ML moderno. Entre outras restrições, o NumPy (cujas raízes remontam aos anos 1990) é muito antigo para “conversar” com os processadores avançados de unidades de processamento gráfico (GPU) que os esforços comerciais de ML normalmente exigem (a chamada “aceleração da GPU”), em vez de trabalhar apenas com unidades de processamento central (CPUs), de menor potência.

Tensorflow

O TensorFlow é uma biblioteca geral de ML desenvolvida inicialmente pela equipe do Google Brain em 2015. Depois que o Google tornou a biblioteca de código aberto, ela cresceu em popularidade. O TensorFlow pode funcionar não apenas com processadores CPUs, mas também GPUs de alto desempenho e um processador especializado feito pelo Google chamado de unidade de processamento tensor (TPU).

O TensorFlow é particularmente adequado para deep learning, uma variante de aprendizado de máquina que depende de redes neurais (que imitam a estrutura do cérebro). O "deep learning" é assim chamado porque envolve várias camadas entre a entrada e a saída. O deep learning surgiu como sendo útil em aplicações comerciais como processamento de linguagem natural (NLP), computer vision e reconhecimento de imagens. Originado no Google e impulsionando muitos de seus aplicativos e produtos comerciais, o TensorFlow se destaca na implementação em grande escala. 

Keras

O Keras está intimamente associado ao TensorFlow; também criado por um engenheiro do Google. É uma biblioteca normalmente usada por desenvolvedores que desejam uma API mais fácil de usar para seus projetos de ML baseados no TensorFlow. Uma versão do Keras lançada em 2025 adicionou compatibilidade com outros frameworks além do TensorFlow, incluindo o PyTorch. O Keras também é conhecido por sua extensa documentação e tutoriais úteis.

PyTorch

O PyTorch foi originalmente desenvolvido por pesquisadores da Meta no final de 2016. É uma portabilidade do Python da biblioteca Torch mais antiga, em cujo núcleo havia um tensor. Em 2022, quando o PyTorch migrou para a Linux Foundation, mais de 2.400 colaboradores tinham supostamente mais de 150.000 projetos usando o PyTorch. (O aprendizado de máquina de código aberto é o paradigma dominante, já que o campo prospera a partir da extensa colaboração.) Assim como o TensorFlow, o PyTorch permite que os desenvolvedores executem operações semelhantes às do NumPy, mas usando GPUs em vez de CPUs, tornando o PyTorch outro framework de deep learning. 

"PyTorch ou TensorFlow?" costuma ser uma pergunta inicial para aqueles que estão embarcando em um esforço de aprendizado de máquina (anteriormente, uma biblioteca chamada Theano também estava no cardápio; foi descontinuada em 2017). Embora não haja uma resposta errada, o PyTorch está se consolidando como o favorito entre muitos desenvolvedores devido ao seu design flexível e abrangente ("Pythonic") e à facilidade de uso. Há muito tempo preferido entre acadêmicos e pesquisadores, o setor também o usa cada vez mais para casos de uso ambiciosos e escaláveis. O Autopilot da Tesla, por exemplo, foi construído usando o PyTorch, e a plataforma de computação em nuvem da Microsoft, o Azure, é compatível com ele. O PyTorch se tornou tão popular que um ecossistema de ferramentas de suporte (como Torchvision e TorchText) cresceu em torno dele. Tanto o Tensorflow quanto o Pytorch usam um grafo computacional — uma estrutura de dados que representa o fluxo de operações e variáveis durante o treinamento do modelo. 

A IBM é membro da PyTorch Foundation; ela usa o PyTorch com seu portfólio do watsonx .

Scikit-learn

O Scikit-learn (estilizado em minúsculas como "scikit-learn", e também conhecido como "sklearn") é outra biblioteca de ML fundamental, projetada para interoperar com o NumPy, e uma biblioteca relacionada popular entre cientistas de dados chamada SciPy, compatível com computação científica. O scikit-learn inclui vários algoritmos de ML cuja essência é o reconhecimento de padrões. Por exemplo, inclui algoritmos de classificação (como aqueles que avaliam se um e-mail é spam ou não), algoritmos de regressão (compatíveis com previsão, forecasting e sistemas de recomendação) e algoritmos de agrupamento (que agrupam itens semelhantes). Embora o scikit-learn seja um ótimo lugar para iniciantes aprenderem os fundamentos do aprendizado de máquina (conceitos como pré-processamento de dados, pipelines de dados, árvores de decisão e otimização), ele é limitado como mecanismo para a criação de produtos comerciais. Como o NumPy, o scikit-learn não tem aceleração de GPU, o que significa que não é adequado para modelos de deep learning e não é considerado uma " biblioteca de deep learning ". No entanto, ainda é útil como laboratório para testar ideias e prototipagem.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Bibliotecas especializadas de aprendizado de máquina

O núcleo de qualquer modelo de ML (basicamente, a parte de aprendizado) será executado em uma das bibliotecas fundamentais listadas acima. Como o aprendizado de máquina é uma tarefa complexa multiestágios, as bibliotecas evoluíram para ajudar nos fluxos de trabalho relacionados a tarefas específicas de ML. Além disso, diferentes setores (como os campos financeiro ou médico) e diferentes tipos de dados (como imagens ou dados de áudio) são suficientemente distintos para se beneficiar de bibliotecas de ML dedicadas. Embora esteja além do escopo deste artigo examinar as quase mil bibliotecas de código aberto resultantes dessa complexidade, é útil ilustrar apenas algumas das particularmente populares.

Para análise de dados: Pandas

A Pandas é a principal biblioteca do Python para ciência de dados, uma função central em qualquer esforço de ML; como tantas bibliotecas de ML, ela é construída sobre o NumPy. A Pandas vai além das matrizes do NumPy ao adicionar uma estrutura conhecida como "quadro de dados", que é semelhante a uma planilha do Excel. Essa estrutura adicionada possibilita a realização da manipulação de dados em grandes conjuntos de dados do mundo real.

Para visualização de dados: matplotlib e seaborn

Com o objetivo de revelar padrões e insights a partir de dados visuais, duas bibliotecas populares de visualização de dados são matplotlib eseaborn. A primeira produz plotagens e gráfico, e a segunda fica na parte superior para torná-lo um pouco mais compatível com ML (a seaborn, por exemplo, pode trabalhar diretamente com os quadros de dados do Pandas).

Para acompanhamento de experimentos: MLFlow

Iniciar um esforço viável de aprendizado de máquina requer muita experimentação e tentativa e erro para dar certo. Para isso, a biblioteca MLFlow ajuda as equipes a registrar modelos, parâmetros e resultados de ML, bem como gerenciar os esforços de depuração, ajudando a migrar modelos treinados para algo pronto para ser enviado.

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real