3/6
3.1 El software libre en la IA
El software de fuente libre (open-source) ha tenido un impacto significativo en el desarrollo de la inteligencia artificial, al establecer un fundamento sólido que propicia la colaboración y la innovación. Algunos de los elementos más relevantes que sustentan el impacto de del software libre en la IA son los siguientes:
A) Flexibilidad y personalización. El código abierto garantiza la flexibilidad y la capacidad de personalización, lo que habilita a los investigadores y desarrolladores en el campo de la inteligencia artificial a adaptar los entornos de cómputo según sus necesidades particulares.
B) Accesibilidad y disponibilidad. Los populares esquemas de programación en inteligencia artificial, como Tensorflow y PyTorch, son de código abierto, lo que significa que cualquiera puede utilizar, modificar y contribuir a su evolución. Esta accesibilidad ha democratizado la investigación y el desarrollo en inteligencia artificial, al mismo tiempo que ha fomentado la colaboración y el intercambio de conocimientos entre la comunidad académica y la industria.
C) Comunidad de colaboración e innovación. Numerosos proyectos de código abierto en el campo de la inteligencia artificial han progresado gracias a la colaboración intrínseca en la comunidad que los engendra. En este entorno, desarrolladores e investigadores se han unido, contribuyendo con código, documentación y mejoras a los entornos de programación. Este esfuerzo colectivo del software libre ha propulsado modelos altamente innovadores, algoritmos, redes neuronales y técnicas más allá de las limitaciones convencionales de la inteligencia artificial.
D) Transparencia y confianza. El software libre fomenta la transparencia y la confiabilidad en los sistemas de inteligencia artificial. Al disponer del acceso al código fuente, investigadores y desarrolladores tienen la capacidad de examinar, verificar y validar los algoritmos y modelos empleados en las aplicaciones. Esto les permite identificar y abordar cualquier desviación, vulnerabilidad o preocupación ética, además de realizar auditorías independientes y revisiones por parte de expertos, asegurando así que los sistemas de inteligencia artificial sean responsables y confiables.
E) Adopción y estandarización. Los ampliamente utilizados entornos de programación en el ámbito de la inteligencia artificial, como Tensorflow y PyTorch, han adquirido un estatus de facto como estándares en la industria. Estos proporcionan una plataforma unificada para el desarrollo de la inteligencia artificial, lo que a su vez fomenta la interoperabilidad y la colaboración en este campo.
F) Integración con aceleradores de hardware. Los esquemas de desarrollo de código abierto brindan respaldo y optimización para aceleradores de hardware, como las GPU y los NPU, permitiendo a investigadores y desarrolladores aprovechar de manera eficaz las capacidades de paralelismo de este tipo de hardware.
3.2 Linux en el desarrollo de la IA
Linux ha tenido un impacto crucial en la evolución de la inteligencia artificial, convirtiéndose en una elección destacada entre investigadores y desarrolladores en este ámbito. Entre las ventajas principales de Linux en el campo de la IA, destacan las siguientes:
A) Fuente abierta. El código fuente de Linux se encuentra libremente disponible para los usuarios, lo que les permite examinarlo, modificarlo y distribuirlo a su conveniencia. Esta naturaleza de código abierto de Linux promueve la colaboración y la transparencia, lo que, a su vez, concede a los investigadores en inteligencia artificial la capacidad de personalizar y ajustar los entornos de cómputo a sus necesidades específicas. Esto incluye la posibilidad de modificar el núcleo del sistema operativo Linux (kernel) para optimizar las configuraciones del sistema y la integración más precisa de esquemas de programación y herramientas para la inteligencia artificial.
B) Flexibilidad y personalización. Linux ofrece soporte para una amplia gama de arquitecturas de hardware, lo que resulta especialmente beneficioso para los desarrolladores, ya que les permite seleccionar los componentes que mejor se adapten a sus sistemas, optimizando así el manejo de las considerables cargas de trabajo relacionadas con la inteligencia artificial. El diseño modular de Linux posibilita a los usuarios la elección e instalación únicamente de los componentes necesarios, lo que se traduce en un desarrollo más eficiente y ágil.
C) Plataforma robusta y estable. Linux es renombrado por su estabilidad, fiabilidad y robustez. Gracias a la excelencia del núcleo de Linux en la gestión de la memoria, la programación de procesos y las operaciones de entrada y salida, se logra una ejecución notablemente eficiente y precisa de todas las cargas de trabajo relacionadas con la inteligencia artificial.
D) Ecosistema más extenso. Existe un amplio espectro de herramientas de código abierto, como bibliotecas, marcos de programación y entornos de desarrollo, que desempeñan un papel fundamental en la evolución e investigación en el campo de la inteligencia artificial. Los entornos de inteligencia artificial más populares, como Tensorflow y PyTorch, como se mencionó previamente, están optimizados para su funcionamiento en sistemas Linux. Esto capacita a los desarrolladores para crear algoritmos de aprendizaje automático de última generación, diseñar arquitecturas de redes neuronales innovadoras y aprovechar modelos previamente entrenados. Además, las distribuciones de Linux facilitan la instalación y gestión de todo el software relacionado con aceleradores y otros componentes clave para la innovación en modelos de inteligencia artificial, gracias a sus manejadores de paquetes y repositorios.
E) Rendimiento y escalabilidad. Linux se distingue por su excepcional rendimiento y escalabilidad, permitiendo aprovechar al máximo las capacidades del hardware moderno. Esto abarca desde CPU de múltiples núcleos y GPU hasta las NPU desarrolladas por Huawei, para garantizar el rendimiento óptimo en cargas de trabajo de inteligencia artificial. Asimismo, Linux ofrece una gestión eficiente de la memoria y la comunicación entre procesos, lo que capacita a los desarrolladores de inteligencia artificial para explotar plenamente los recursos computacionales disponibles y alcanzar los niveles de rendimiento más adecuados.
3.3 Distribuciones de Linux para el computo con GPUs
Están verificadas varias distribuciones de Linux para operar con GPU y NPU. En el caso particular del Laboratorio de Inteligencia Artificial UNAM – Huawei se usa Ubuntu versión 18.04, debido a que los controladores de las tarjetas con los procesadores NPU Ascend están validados en su funcionamiento con esa distribución y versión. Sin embargo, en el ámbito de Linux para el desarrollo de la IA, existen varias distribuciones con grados diversos de efectividad y compatibilidad con los circuitos aceleradores:
A) Ubuntu. Está ampliamente recomendada para el desarrollo de la inteligencia artificial. Se puede tener una plataforma estable y confiable para la mayoría de las cargas de trabajo, compatible con los esquemas de programación de este ámbito, tales como Tensorflow, Pytorch y Scikit Learn. Ubuntu dispone de ediciones especializadas como Ubuntu Studio5 y Ubuntu Robotics6, más enfocadas en satisfacer ciertas necesidades específicas para la inteligencia artificial.
B) CentOS. Basada en el código fuente de Red Hat Enterprise Linux (RHEL), es una plataforma estable de nivel empresarial para el desarrollo de la inteligencia artificial. También tiene versiones con Soporte a Largo Plazo (LTS) que incluyen actualizaciones de seguridad, haciéndolo adecuado para el desarrollo de aplicaciones de inteligencia artificial en ambientes de producción. CentOS se enfoca fuertemente en la estabilidad y la confiabilidad, asegurando un rendimiento consistente, siendo compatible con la mayoría de los esquemas de desarrollo.
C) Fedora. Distribución administrada por la comunidad y conocida por sus características de última generación con actualizaciones rápidas. En esencia tiene un balance adecuado entre la estabilidad y los paquetes de última generación, haciéndola recomendable también para el desarrollo de proyectos de inteligencia artificial. Fedora incluye un conjunto de herramientas de desarrollo y librerías para Tensorflow, Pytorch y Caffe. Más aún: contiene opciones para el uso de contenedores del tipo docker y kubernetes, muy recomendables para desarrolladores que requieren construir y ampliar las aplicaciones en este ámbito de operación. Varias investigaciones en el Espacio de Innovación tomaron como referencia para el funcionamiento de contenedores las plantillas creadas en Fedora de acceso libre.
D) Arch Linux. Es una versión preferida por usuarios avanzados y desarrolladores. Tiene una base mínima para su instalación, lo que permite a los usuarios personalizar el ambiente de desarrollo para inteligencia artificial de acuerdo con sus necesidades específicas. También permite usar el repositorio para usuarios Arch (AUR) que contiene un rango amplio de paquetes de software para inteligencia artificial, mantenidos y desarrollados por la comunidad.
E) Deepin. Esta es una distribución atractiva visualmente y muy amigable con el usuario, que se enfoca en proporcionar una experiencia bastante sencilla para quien lo emplea. Ofrece un entorno de escritorio adecuado para desarrolladores de inteligencia artificial que buscan emplear interfaces simples para el trabajo con las redes neuronales. Deepin incluye una cantidad importante de esquemas de desarrollo pre-instalados para inteligencia artificial, entre los que están TensorFlow y Caffe, haciéndolo conveniente para el desarrollo de inteligencia artificial prácticamente desde que se instala.
Fecha de recepción: julio de 2023
Fecha de publicación: noviembre de 2023
AI Website Maker