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 manera confiable ciertos tipos de tareas comunes en la inteligencia artificial, se ahorra tiempo para trabajar con algoritmos predefinidos y examinados y otras herramientas. 

La mayoría de las bibliotecas de machine learning (ML) están compuestas por módulos, lo que permite a los desarrolladores mezclar y combinar a medida que crean pipelines de machine learning (ML) que manejan el preprocesamiento, el entrenamiento, las métricas de validación y otras tareas. Las bibliotecas suelen ser de código abierto y de uso gratuito, y hay muchas para elegir: una página de Github agrega casi 1000 bibliotecas de machine learning (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 machine learning (ML) también aparecen en JavaScript, R y otros lenguajes). 

Hay bibliotecas para todo tipo de aplicaciones. Los transformadores deHugging Face proporcionan un fácil acceso a los modelos de transformadores previamente entrenados. Bibliotecas como Stable-Baselines3 admiten el aprendizaje por refuerzo. Las bibliotecas de machine learning se pueden agrupar de manera útil en dos categories principales. Bibliotecas generales que sirven como infraestructura para proyectos de machine learning. Las bibliotecas especializadas se pueden utilizar para una etapa o componente específico de un proyecto de machine learning (ML).

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados 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! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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 llamadas "infraestructura de propósito general" o "plataformas centrales", se cuentan por docenas. Pero cuatro son particularmente populares y encabezan habitualmente las listas de "lo mejor de": TensorFlow (y Keras, estrechamente relacionado), PyTorch y scikit-learn. Cada uno tiene fortalezas ligeramente diferentes, dependiendo de las necesidades del proyecto o equipo. 

  • NumPy

  • Tensorflow

  • keras

  • Pytorch

  • Scikit-learn

NumPy

NumPy no es una biblioteca de machine learning (ML) per se, sino la biblioteca sobre cuyos hombros se construyen todas las bibliotecas de machine learning (ML). En esencia, 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 (nuevamente, grandes contenedores manipulables de números) también se denominan a veces "tensores", un término frecuente en las discusiones sobre las bibliotecas de machine learning(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 limitado para las demandas de procesamiento intensivo del machine learning (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 machine learning (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 machine learning (ML) desarrollada inicialmente por el equipo de Google Brain en 2015; después de que Google hizo que la biblioteca fuera de código abierto, creció en popularidad. TensorFlow puede funcionar no solo con procesadores de CPU, sino también con GPU de alto rendimiento y procesadores especializados fabricados por Google llamados unidad de procesamiento de tensor (TPU).

TensorFlow es particularmente adecuado para aprendizaje profundo, una variante del aprendizaje automático que se basa en redes neuronales (que imitan la estructura del cerebro). El aprendizaje "profundo" se llama así porque implica múltiples capas entre una entrada y una salida. El aprendizaje profundo ha surgido como útil en aplicaciones comerciales como el procesamiento de lenguaje natural (PLN), la visión artificial y el reconocimiento de imágenes. Con origen en Google y potenciando muchas de sus aplicaciones comerciales, TensorFlow se destaca en el despliegue 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 machine learning (ML) basados en TensorFlow. Una versión de Keras lanzada en 2025 agregó soporte para otras infraestructuras 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, cuyo núcleo era un tensor. Para 2022, momento en el que PyTorch se movió a la Linux Foundation, más de 2400 colaboradores tenían más de 150 000 proyectos utilizando PyTorch. (El machine learning de código abierto es el paradigma dominante, ya que el campo florece a partir de 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 aprendizaje profundo 

“¿PyTorch o TensorFlow?” es a menudo una pregunta inicial para aquellos que se embarcan en un esfuerzo de machine learning (anteriormente, una biblioteca llamada Theano también estaba en la mezcla; quedó obsoleta en 2017). Si bien 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. Favorecida durante mucho tiempo entre académicos e investigadores, la industria también la utiliza cada vez más para casos de uso ambiciosos y escalables. El Autopilot de Tesla, por ejemplo, se creó con PyTorch, y la plataforma de computación en la nube de Microsoft, Azure, lo admite. PyTorch se ha vuelto tan popular que ha crecido un ecosistema de herramientas de soporte (como TorchvisionTorchText) 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 miembro de la Fundación PyTorch; utiliza PyTorch con su cartera de watsonx.

Scikit-learn

Scikit-learn (con el estilo en minúsculas “scikit-learn,” y también conocido como “sklearn”) es otra biblioteca fundacional de machine learning (ML), diseñada para interoperar con NumPy y una biblioteca relacionada popular entre los científicos de datos llamada SciPy, que admite la computación científica. Scikit-learn incluye una serie de algoritmos de aprendizaje automático 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, forecasting y sistemas de recomendación) y algoritmos de clúster (que agrupan elementos similares). Si bien scikit-learn es un excelente lugar para que los principiantes aprendan los conceptos básicos del machine learning (conceptos como preprocesamiento de datos, canalizaciones de datos, árbol de decisión y optimización), está limitado como motor para la fabricación de productos comerciales. Al igual que NumPy, scikit-learn carece de aceleración de GPU, lo que significa que no es adecuado para modelos de aprendizaje profundo y no se considera una "biblioteca de aprendizaje profundo". Sin embargo, sigue siendo útil como laboratorio para probar ideas y crear prototipos.

Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de 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 revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Bibliotecas especializadas de machine learning

El núcleo de cualquier modelo de machine learning (ML), en esencia, la parte de aprendizaje, se ejecutará en una de las bibliotecas fundacionales enumeradas anteriormente. Pero el machine learning es un esfuerzo complejo y de varias etapas, por lo que las bibliotecas han evolucionado para ayudar con los flujos de trabajo relacionados con tareas específicas de machine learning (ML). Además, las industrias (como los campos financiero o médico) y los diferentes tipos de datos (como imágenes o datos de audio) son lo suficientemente distintos como para obtener un beneficio de las bibliotecas dedicadas de machine learning (ML). Si bien 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 solo algunas particularmente populares.

Para análisis de datos: pandas

Pandas es la principal biblioteca de Python para ciencia de datos, una función central en cualquier esfuerzo de machine learning (ML); Al igual que muchas bibliotecas de machine learning (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 permite 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 e insights a partir de datos visuales, dos bibliotecas de visualización de datos populares son matplotlib y seaborn. El primero produce diagramas y gráficos, el segundo se encuentra en la parte superior para que sea un poco más compatible con ML (seaborn, por ejemplo, puede trabajar directamente con marcos de datos de pandas).

Para el seguimiento de experimentos: MLFlow

Lanzar un esfuerzo viable de machine learning requiere mucha experimentación y prueba y error para hacerlo bien. Con ese fin, la biblioteca MLFlow ayuda a los equipos a registrar modelos de machine learning (ML), parámetros y Resultados de machine learning (ML), así como a gestionar los esfuerzos de depuración, ayudando a mover los modelos entrenados a algo listo para enviar.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

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

Conozca los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Reserve una demostración en vivo