Principales bibliotecas de machine learning

Autor

David Zax

Staff Writer

IBM Think

¿Qué son las bibliotecas de machine learning?

Las bibliotecas de machine learning son fragmentos de código prefabricados ("bibliotecas") que son útiles para proyectos de machine learning. Dado que los esfuerzos de machine learning (ML) implican de forma fiable ciertos tipos de tareas comunes en la inteligencia artificiaL, se ahorra tiempo trabajando con algoritmos prediseñados y examinados y otras herramientas. 

La mayoría de las bibliotecas de ML se componen de módulos, lo que permite a los desarrolladores mezclar y combinar a medida que crean pipelines de ML que gestionan el preprocesamiento, el entrenamiento, las métricas y otras tareas. Las bibliotecas suelen ser de código abierto y de uso gratuito, y hay muchas entre las que elegir: una página de Github agrega casi 1000 bibliotecas de ML de este tipo solo en el lenguaje de programación Python. (Python se ha convertido en el lenguaje dominante de machine learning, aunque los proyectos de ML también aparecen en JavaScript, R y otros lenguajes). 

Hay bibliotecas para todo tipo de aplicaciones. Los transformadores de Hugging Face proporcionan un fácil acceso a los modelos de transformadores preentrenados. Bibliotecas como Stable-Baselines3 admiten el aprendizaje por refuerzo. Las bibliotecas de machine learning pueden agruparse en dos categorías principales. Bibliotecas generales que sirven como marcos o plataformas para proyectos de machine learning. Las bibliotecas especializadas se pueden utilizar para una etapa o componente específico de un proyecto de ML.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Bibliotecas generales de machine learning

Las bibliotecas generales de machine learning, a veces denominadas "marcos de propósito general" o "plataformas centrales", suman por sí solas varias docenas. Pero cuatro son especialmente populares y suelen encabezar las listas de "las mejores": TensorFlow (y el muy relacionado Keras), PyTorch y scikit-learn. Cada uno tiene puntos fuertes ligeramente diferentes, en función de las necesidades del proyecto o del equipo. 

  • NumPy

  • Tensorflow

  • Keras

  • PyTorch

  • Scikit-learn

NumPy

NumPy no es una biblioteca de ML en sí, sino la biblioteca sobre cuyos hombros se construyen todas las bibliotecas de ML. En esencia, el machine learning consiste en encontrar patrones en grandes cantidades de datos. NumPy, una biblioteca que crea una estructura conocida como matriz n-dimensional, ayuda a organizar estos puntos de datos y aplicarles funciones matemáticas (una rama de las matemáticas conocida como álgebra lineal). Estas matrices n-dimensionales o multidimensionales (de nuevo, grandes contenedores manipulables de números) también se denominan a veces "tensores", un término que aparece con frecuencia en los debates sobre las bibliotecas de ML. (Una matriz bidimensional se conoce como matriz).

Si bien NumPy maneja tensores, la estructura de datos central del machine learning, NumPy es, en la práctica, demasiado limitada para las demandas intensivas de procesador del ML moderno. Entre otras limitaciones, NumPy (cuyas raíces se remontan a la década de 1990) es demasiado antigua para "hablar" con los procesadores avanzados de unidades de procesamiento de gráficos (GPU) que suelen requerir los esfuerzos comerciales de ML (la llamada "aceleración de GPU"), en lugar de trabajar solo con unidades centrales de procesamiento (CPU) de menor potencia.

Tensorflow

TensorFlow es una biblioteca general de aprendizaje automático desarrollada inicialmente por el equipo Google Brain en 2015; después de que Google la convirtiera en código abierto, su popularidad creció. TensorFlow puede funcionar no solo con procesadores CPU, sino también con GPU de alto rendimiento y con procesadores especializados fabricados por Google denominados unidades de procesamiento tensorial (TPU).

TensorFlow es especialmente adecuado para deep learning, una variante de machine learning que se basa en redes neuronales (que imitan la estructura del cerebro). El "deep learning" se llama así porque implica múltiples capas entre una entrada y un resultado. El deep learning ha surgido como útil en aplicaciones comerciales como procesamiento del lenguaje natural (PLN), visión artificial y el reconocimiento de imágenes. Con origen en Google y potenciando muchas de sus aplicaciones y productos comerciales, TensorFlow destaca en la implementación a gran escala. 

Keras

Keras está estrechamente asociado con TensorFlow; también creado por un ingeniero de Google. Es una biblioteca que suelen utilizar los desarrolladores que desean una API más fácil de usar para sus proyectos de ML basados en TensorFlow. Una versión de Keras lanzada en 2025 agregó soporte para otros marcos más allá de TensorFlow, incluido PyTorch. Keras también es conocido por su extensa documentación y útiles tutoriales.

Pytorch

PyTorch fue desarrollado originalmente por investigadores de Meta a finales de 2016. Es un puerto Python de la antigua biblioteca Torch, en cuyo núcleo había un tensor. En 2022, cuando PyTorch pasó a formar parte de la Fundación Linux, más de 2400 colaboradores habían realizado, según se informa, más de 150 000 proyectos utilizando PyTorch. (El machine learning de código abierto es el paradigma dominante, ya que el campo florece gracias a una amplia colaboración). Al igual que TensorFlow, PyTorch permite a los desarrolladores realizar operaciones similares a NumPy, pero utilizando GPU en lugar de CPU, lo que convierte a PyTorch en otro marco de deep learning. 

"¿PyTorch o TensorFlow?" suele ser la primera pregunta que se plantean quienes se inician en el machine learning (antes también existía una biblioteca llamada Theano, pero dejó de utilizarse en 2017). Aunque no hay una respuesta incorrecta, PyTorch se está convirtiendo en el favorito de muchos desarrolladores por su diseño flexible y tolerante ("Pythonic") y su facilidad de uso. Desde hace tiempo muy apreciado por académicos e investigadores, la industria también lo utiliza cada vez más para casos de uso ambiciosos y escalables. El Autopilot de Tesla, por ejemplo, se creó utilizando PyTorch, y la plataforma de cloud computing de Microsoft, Azure, lo admite. PyTorch se ha vuelto tan popular que ha crecido un ecosistema de herramientas de apoyo (como Torchvision y TorchText) a su alrededor. Tanto Tensorflow como Pytorch utilizan un gráfico computacional, una estructura de datos que representa el flujo de operaciones y variables durante el entrenamiento del modelo. 

IBM es un miembro de la PyTorch Foundation; utiliza PyTorch con su portfolio watsonx.

Scikit-learn

Scikit-learn (estilo "scikit-learn" en minúsculas, y también conocido como "sklearn") es otra biblioteca de ML fundacional, diseñada para interoperar con NumPy y una biblioteca relacionada popular entre los científicos de datos llamada SciPy, que admite computación científica. Scikit-learn incluye una serie de algoritmos de ML cuya esencia es el reconocimiento de patrones. Por ejemplo, incluye algoritmos de clasificación (como los que juzgan si un correo electrónico es spam o no), algoritmos de regresión (que admiten predicción, previsión y recomendación sistemas) y algoritmos de clustering (que agrupan elementos similares en un clúster). Aunque scikit-learn es un excelente recurso para que los principiantes aprendan los conceptos básicos del machine learning, como el preprocesamiento de datos, los pipelines de datos, los árboles de decisión y la optimización, tiene limitaciones como motor para la creación de productos comerciales. Al igual que NumPy, scikit-learn carece de aceleración por GPU, lo que significa que no es adecuado para modelos de deep learning y no se considera una "biblioteca de deep learning". Sin embargo, sigue siendo útil como laboratorio para probar ideas y crear prototipos.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Bibliotecas especializadas de machine learning

El núcleo de cualquier modelo de ML (en esencia, la parte de aprendizaje) se ejecutará en una de las bibliotecas fundamentales enumeradas anteriormente. Pero el machine learning es una tarea compleja y de varias etapas, por lo que las bibliotecas han evolucionado para ayudar con los flujos de trabajo relacionados con tareas específicas de ML. Además, diferentes sectores (como el financiero o el médico) y diferentes tipos de datos (como imágenes o datos de audio) son lo suficientemente distintos como para beneficiarse de bibliotecas de ML específicas. Aunque está más allá del alcance de este artículo examinar las casi miles de bibliotecas de código abierto resultantes de esta complejidad, es útil ilustrar algunas particularmente populares.

Para el análisis de datos: pandas

Pandas es la principal biblioteca de Python para la ciencia de datos, una función central en cualquier esfuerzo de ML; como muchas bibliotecas de ML, se basa en NumPy. Pandas va más allá de las matrices de NumPy al agregar una estructura conocida como "marco de datos", que es similar a una hoja de cálculo de Excel. Esta estructura añadida hace posible realizar la manipulación de datos en grandes conjuntos de datos del mundo real.

Para visualización de datos: matplotlib y seaborn

A los efectos de revelar patrones y conocimientos a partir de datos visuales, dos bibliotecas de visualización de datos populares son matplotlib y seaborn. El primero produce gráficos y diagramas, mientras que el segundo se sitúa encima para hacerlo un poco más compatible con el aprendizaje automático (por ejemplo, seaborn puede trabajar directamente con los marcos de datos de pandas).

Para el seguimiento de experimentos: MLFlow

Poner en marcha un proyecto viable de machine learning requiere mucha experimentación y ensayo y error hasta dar con la fórmula adecuada. Con ese fin, la biblioteca MLFlow ayuda a los equipos a registrar modelos, parámetros y resultados de ML, así como a gestionar las tareas de depuración, lo que contribuye a que los modelos entrenados estén listos para su uso.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo