¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Blog de desarrolladores de IBM

Siga los últimos acontecimientos con IBM Developer y manténgase informado.

El pasado, presente y futuro del open source y de la Inteligencia Artificial en IBM


Esta es la primera de una serie de publicaciones de blog sobre tecnología de open source e Inteligencia Artificial en IBM. En este blog, identificamos dos megatendencias y luego nos concentramos en los esfuerzos de divulgación para desarrolladores de IBM en torno a código, contenido y comunidad. Los blogs futuros se centrarán en la investigación de IBM y los esfuerzos del equipo de productos de IBM.

La megatendencia de la Inteligencia Artificial: sus datos se están convirtiendo en su Inteligencia Artificial. Esto es algo bueno. Eventualmente, su Inteligencia Artificial realmente aumentará su inteligencia y lo ayudará a ser más creativo y productivo tanto en el trabajo como en las tareas personales. Sin embargo, todavía nos queda un largo camino por recorrer para lograr plenamente los beneficios previstos. Durante menos de una década, sistemas como Watson, Siri y Alexa han estado agregando capacidades y avanzando. Para algunas tareas en algunos contextos, funcionan muy bien, pero como un compañero general de Inteligencia Artificial al que puede delegar tareas complejas para obtener ayuda cuando más se necesita, todavía queda un largo camino por recorrer (Forbus 2015). Sin embargo, paso a paso, «nuestros datos se están convirtiendo en nuestra Inteligencia Artificial», ésta es una megatendencia que los estudiantes y los profesionales en activo de hoy en día deben comprender mejor y participar activamente en la configuración. Necesitamos mejores formas de aprender y trabajar juntos para dar forma a la manera en que las capacidades de Inteligencia Artificial empaquetadas como un servicio, con mayor poder y rendimiento, se están convirtiendo en algo común en los negocios y sociedad (Spohrer y Banavar 2015).

La megatendencia del open source: afortunadamente, para ayudarnos a aprender y trabajar mejor juntos para dar forma a las capacidades de la Inteligencia Artificial, la megatendencia de la Inteligencia Artificial se basa en una megatendencia aún mayor: el open source. Tan importante como es comprender la Inteligencia Artificial, podría decirse que es aún más importante aprender y participar en las comunidades de open source. ¿Por qué? Porque cada vez más las organizaciones de las que todos dependemos para el servicio empresarial y social funcionan con software de open source. En otras palabras, el open source es mucho más que unos pocos programadores compartiendo código. De hecho, mientras que el mundo actual funciona literalmente con open source, quienes están familiarizados con los objetivos originales del open source esperan que en el futuro lleguen aún más beneficios para las personas, no solo para las corporaciones (Mark 2018). Ciertamente, el software de open source finalmente ha llegado con toda su fuerza a las corporaciones. ¿Por qué ha sucedido esto? En pocas palabras, las corporaciones que hacen que todo o parte del código asociado con sus productos esté disponible en open source han logrado beneficios que van mucho más allá de los beneficios de «todos los errores son superficiales» (calidad del software) observados por primera vez (Raymond 1999). La capacidad de trabajar con socios del ecosistema para cocrear valor más rápido y aprender mejor juntos es la fuerza impulsora detrás del enfoque de IBM hacia el open source, así como muchas otras corporaciones con las que IBM colabora en proyectos de open source (Moore y Ferris 2017). Por ejemplo, la adquisición de Red Hat propuesta por IBM, la adquisición de GitHub por parte de Microsoft y la adquisición de Kaggle por parte de Google reflejan la creciente importancia del código, contenido y comunidad para las empresas abiertas. El código se trata de software de open source con casos de prueba. El contenido incluye datos abiertos, documentación y tutoriales. La comunidad se trata de personas en una amplia gama de roles y organizaciones que cocrean valor y aprenden más rápido juntos. IBM Developer Way es sobre código, contenido y comunidad y hay oportunidades para que todos se involucren más. Ha sido necesario un tiempo para llegar a este punto en el open source y vale la pena revisar la historia de este (Raymond, 1999, Ing 2018, Brown 2018, Mark 2018, Moore & Ferris 2018), resumido en cuatro etapas:

  1. Compartir: La gente ha estado escribiendo y compartiendo «código de open source» desde los inicios de la programación y los lenguajes de programación (1950-1980), pero en términos de aceptación a gran escala en aplicaciones empresariales de misión crítica, se necesitaba mucho más que disposición para escribir, compartir y usar código. La larga historia de IBM en open source y uso corporativo de software de open source ha pasado por tres etapas más (renacimientos) en solo las últimas tres décadas desde nuestra perspectiva.

  2. Licencias: En la década de 1990, se trataba de Linux en la empresa y de obtener las licencias adecuadas para el uso comercial de proyectos de open source a gran escala impulsados por la comunidad y certificaciones confiables en torno al open source de misión crítica de grado comercial para grandes empresas. Este importante paso (licenciamiento) finalmente abrió la puerta a los desarrolladores corporativos que contribuyen más activamente a las herramientas de open source que estaban usando y la aceptación del uso de open source certificado en la empresa.

  3. Gobernanza abierta: A finales de la década de 1990 y principios de la de 2000, era el auge de las fundaciones y de la creación de organizaciones de gobernanza abierta. Basado en licencias y gobernanza abierta, en la década de 2010, el ecosistema de open source ahora incluía grandes corporaciones, empresas emergentes, GitHub, Red Hat Software y un número creciente de repositorios utilizados por corporaciones. El aumento de la computación en la nube, la disponibilidad de big data y las ciencias de los datos, así como los nuevos algoritmos para el reconocimiento de patrones a nivel humano (detección de entidades) para voz, imágenes y texto e Inteligencia Artificial impulsaron un número creciente de repositorios para escalar como Spark e incluso un repositorio que alcanzó las 100.000 estrellas por primera vez en 2018 (Google TensorFlow). Este paso (gobernanza abierta) abrió la puerta más ampliamente para que las corporaciones adopten el open source de manera estratégica al tiempo que mitiga el riesgo de que una entidad tenga demasiado control sobre el futuro de una base de código de open source.

  4. Código, contenido, comunidad: Con una base sólida en su lugar, el renacimiento actual del open source se trata en realidad de un regreso a las raíces del código, contenido y comunidad para democratizar el desarrollo en la empresa abierta. La democratización del desarrollo significa que todos los roles diversos en la empresa, tanto técnicos como no técnicos (por ejemplo, programadores, ingenieros de software, científicos de datos, ingenieros de datos, desarrolladores, gestión de ofertas, expertos en la materia (PYMES), profesionales de marketing y comunicaciones), participarán en el código, contenido y comunidad de nuevas formas para acelerar la creación conjunta de valor y el aprendizaje conjunto. Significa que un número creciente de procesos empresariales se han transformado en un proceso continuo de búsqueda de componentes de open source más nuevos y mejores (entradas y salidas) que se organizan en flujos de trabajo (servicios) completos de mejora continua que impulsan el negocio. Este renacimiento actual (código, contenido y comunidad) significa regresar a las raíces del open source para democratizar el acceso a tecnologías poderosas para potenciar la cocreación del futuro juntos, así como permitir que los trabajadores de corporaciones y gobiernos se beneficien y contribuyan a una empresa abierta impulsada por personas con su propia Inteligencia Artificial. Francamente, todavía estamos averiguando qué significa esto en términos de que los colaboradores tengan más libertad y responsabilidad individual (Whitehurst 2015). Las comunidades de open source son una parte central de la estrategia corporativa basada en modelos comerciales que buscan activamente involucrar a los colaboradores, clientes, socios, competidores y otros en el ecosistema para coqcrear innovaciones de servicio como una comunidad (Spohrer, Kwan, Fisk 2014). ¿Cómo se pueden sostener y coexistir este tipo de comunidades con estrategias y modelos comerciales más tradicionales (Brown 2018)? Lo averiguaremos juntos porque ahora no hay vuelta atrás.

¿Qué aspecto tiene el código, el contenido y la comunidad en una empresa abierta? En el resto de este blog, describiremos proyectos específicos y personas que trabajan en esfuerzos de alcance de desarrolladores para código, contenido y comunidad tanto para datos abiertos como para Inteligencia Artificial, así como el rendimiento del sistema en diferentes partes de IBM Measuring AI Progress with Cognitive Opentech Group (MAP COG).

Hay una enorme cantidad de actividad de Inteligencia Artificial de open source en IBM, por ejemplo, en investigación y en equipos de productos. Este blog se centra en las actividades del grupo de tecnologías abiertas en IBM. Anticipamos que habrá más blogs que describan otras actividades de Inteligencia Artificial de open source de IBM.

Historia Desarrollar sobre el pasado

Recientemente, la comunidad de Apache Spark anunció el lanzamiento de v2.4.0. Es la quinta versión principal del flujo de código 2.x. Desde su lanzamiento inicial en 2009, Apache Spark ha logrado grandes avances, impulsados en gran parte por una apasionada comunidad de open source. Apache 2.0 marcó un avance significativo en funcionalidad, estabilidad y rendimiento. IBM identificó a Spark como uno de los proyectos estratégicos de open source y estableció el centro de tecnología Spark en Watson West en San Francisco para concentrar los esfuerzos en expandir la tecnología central de Spark para que esté lista para la nube y empresa y para acelerar el valor comercial de Spark en aplicaciones de negocios. Desde el establecimiento del Centro hasta la versión de Apache Spark v2.4.0, el Spark Technology Center ha realizado muchas contribuciones con más de 1.300 confirmaciones y más de 69.000 líneas de código nuevo en las áreas de Spark Core, SQL, MLlib, Streaming, PySpark y SparkR, lo que convierte a IBM en uno de los cinco principales colaboradores de Apache Spark. Es posible ver las últimas contribuciones en nuestro Panel de JIRA.

A principios de 2018, con el desarrollo acelerado de la Inteligencia Artificial y, especialmente, los avances recientes en la tecnología de deep learning, el Spark Technology Center de IBM amplió su misión. Ahora parte del IBM Digital Business Group, el Centro se ha relanzado como CODAIT (el Centro de tecnología de Inteligencia Artificial, datos y open source). Recuerda que codait es una palabra francesa para codificador. Los desarrolladores y contribuidores designados continúan mejorando la tecnología central de Spark a través del código, contenido y defensa de la comunidad. Además, este equipo dedicado continúa sirviendo como un centro de competencia Spark para los equipos de desarrollo de productos de IBM.

Presente: Aceptar el presente

Durante tres décadas, IBM ha contribuido de forma importante a un conjunto selecto de comunidades y tecnologías de open source que son fundamentales para las operaciones empresariales complejas, incluidas empresas y gobiernos de todo el mundo. Nuestro equipo defiende la gobernanza abierta y trabaja con una variedad de comunidades abiertas, especialmente aquellas que trabajan en infraestructura y soluciones de datos e Inteligencia Artificial para la empresa. Por ejemplo, IBM es una fuerza impulsora detrás de JanusGraph, una tecnología de base de datos de gráficos escalable que puede almacenar y consultar gráficos con miles de millones de nodos y aristas que se distribuyen en varios servidores en un clúster o en la nube. Lanzado en 2017, ahora cuenta con el respaldo de un proyecto de The Linux Foundation. En el caso de la Inteligencia Artificial, IBM está contribuyendo a TensorFlow, un marco líder de machine learning de open source. IBM, en asociación con Google, organizó un TensorFlow Community Day en Index San Francisco 2018 y sesiones de piratería en TensorFlow Build y TensorFlow JavaScript en OSCON 2018. Quizás la contribución más visible a TensorFlow de IBM fue la entrega y el mantenimiento de varias [compilaciones] respaldadas por la comunidad (https://github.com/tensorflow/tensorflow) para las plataformas Power (ppc64le) y s390x. De manera similar, IBM también proporciona IBM Power CI compilaciones para PyTorch con estado en tiempo real. Se están realizando esfuerzos para que IBM se convierta en un proveedor de compilaciones de nivel 1, ya que nos comprometemos plenamente a corregir las fallas de compilación y resolver los problemas de Power/ppc64le de inmediato. Otra área importante es el formato abierto e IBM es uno de los socios de la comunidad detrás de Open Neural Network eXchange (ONNX). Contribuimos de varias formas, desde la creación de modelos de muestra y tutoriales sobre cómo utilizar ONNX hasta el desarrollo y mantenimiento de convertidores ONNX-TensorFlow. IBM continúa adoptando tecnologías abiertas y cree que, junto con los esfuerzos de la comunidad, podemos entregar mejores productos, soluciones y soporte a los clientes.

Aspectos del intercambio de conjuntos de datos

Los conjuntos de datos y el intercambio de conjuntos de datos son esenciales para el éxito de la Inteligencia Artificial a fin de proporcionar las historias en las que los sistemas de Inteligencia Artificial basan sus predicciones. Los aspectos importantes incluyen la capacidad de compartir los conjuntos de datos y las descripciones de los conjuntos de datos (metadatos) a través de herramientas y software, aplicando principios de gobernanza de datos y demostrando la conformidad e integrando las modificaciones de datos posteriores de manera adecuada.

El proyecto Egeria surgió en el consorcio ODPi en 2018 para definir API y descriptores para compartir metadatos sin imponer una sola herramienta o repositorio para gestionar todos los metadatos. Egeria hace posible que las herramientas y los repositorios de datos publiquen información de metadatos sobre los datos que gestionan y que consuman descripciones de metadatos de otras herramientas para permitir la interpretación correcta de los datos consumidos. Egeria también proporciona pautas y plantillas para la gobernanza y la conformidad de los datos.

Existe mucha discusión sobre cómo se deben otorgar licencias a los conjuntos de datos. El acuerdo de licencia de datos de la comunidad (CDLA) de Linux Foundation está destinado a proporcionar conjuntos de datos, lo que las licencias de software de open source proporcionaban para el software y viene en dos variantes:

  • La licencia CDLA-Sharing incorpora los principios de copia para que los destinatarios intermedios de los datos que se publican bajo el acuerdo de CDLA-Sharing puedan usar y modificar esos datos, y deben compartir sus cambios en los datos.

  • El acuerdo CDLA-Permissive es similar a las licencias permisivas de open source para que cualquiera pueda usar y modificar los datos que se publican bajo el acuerdo CDLA-Permissive sin estar obligado a compartir cualquiera de sus cambios o modificaciones.

Aspectos de Inteligencia Artificial/machine learning/deep learning

Desarrollar, desplegar y mejorar continuamente modelos y soluciones de Inteligencia Artificial es una prioridad en IBM. Por ejemplo, el Model Asset Exchange (MAX) es un catálogo seleccionado de open source de modelos de deep learning previamente entrenados y entrenables que los desarrolladores pueden integrar en sus aplicaciones a través de contenedores autónomos de Docker o Kubernetes. También estamos explorando el despliegue de algunos de estos modelos de deep learning en aplicaciones Node.js y JavaScript a través de TensorFlow.js. De los equipos de productos de IBM Research e IBM, se destacan algunas comunidades de código de open source.

  • AI Fairness 360 es una herramienta de open source que los científicos de datos pueden utilizar para detectar y mitigar inclinaciones en los modelos de machine learning, y una versión mejorada se incluye en IBM AI Openscale.

  • La Adversarial Robustness Toolbox puede detectar y mitigar ataques maliciosos contra modelos de deep learning.

  • FfDL (Fabric for Deep Learning) es un proyecto de open source premiado (Infoworld 2018 BOSSIE, herramientas de machine learning de open source), y se incluye una versión mejorada en IBM Watson Machine Learning.

  • Soporte Modelo Grande (LMS) para TensorFlow en PowerAI.

Estas tecnologías y otros sistemas se discutirán a detalle en blogs futuros, y estos son solo algunos ejemplos de las tecnologías de open source que IBM tiene disponibles para desarrolladores y científicos de datos. Más allá del código de open source en sí, también publicamos patrones de código, blogs, tutoriales y artículos en IBM Developer para ayudar a los desarrolladores y científicos de datos a comprender mejor qué y cómo pueden desarrollar con tecnologías de open source. Nuestro objetivo es permitir a los desarrolladores y científicos de datos transformar mercados a través de datos de open source y de tecnologías de Inteligencia Artificial. Este trabajo se basa en el código de open source, el contenido de alta calidad y la creación de una comunidad en torno a los datos de open source y las tecnologías de Inteligencia Artificial.

Futuro: Coinspirar y cocrear juntos

Cada vez más, las fundaciones brindan entornos agradables y productivos para la colaboración de open source entre instituciones y entusiastas, lo que hace posible que las personas contribuyan y canalicen su experiencia junto con grandes empresas, start-ups, profesores y estudiantes. Ejemplos de fundamentos que han surgido en la Inteligencia Artificial y dominios relacionados incluyen el consorcio de datos ODPi y la Deep Learning Foundation (LFDL), ambos en The Linux Foundation. LFDL incorpora una serie de proyectos como Acumos AI, que es una plataforma y un marco que facilita la creación, el intercambio y el despliegue de aplicaciones de Inteligencia Artificial. Están surgiendo puntos de referencia de rendimiento en el área de la Inteligencia Artificial, como los puntos de referencia de MLPerf, DawnBench, DeepBench y TensorFlow, y veremos más fundaciones involucradas en esta área para ayudar a estimar los recursos necesarios para desarrollar y ejecutar aplicaciones de Inteligencia Artificial.

Involúcrate y contribuye

El mundo de la Inteligencia Artificial de open source está prosperando. Si tienes interés en la Inteligencia Artificial, hay muchas formas en las que es posible contribuir, como agregar funciones, probar o documentar marcos de open source como TensorFlow y PyTorch o formatos de intercambio de modelos como PFA, PMML y ONNX. Es posible adoptar, reentrenar o desarrollar y entrenar modelos y contribuir con ellos a intercambios de activos como MAX o Acumos AI. La tecnología de gráficos forma la base del razonamiento y la participación en el proyecto JanusGraph te permite comprender cómo funcionan los gráficos de propiedades. Los proyectos ODPi Egeria dan la bienvenida a los participantes a sus convocatorias semanales los jueves. Las llamadas TAC de The Linux Foundation son cada dos jueves e incluyen grabaciones de charlas anteriores. Si eres un experto en rendimiento, considera unirte a una de las iniciativas de referencia de rendimiento de Inteligencia Artificial. Si tienes interés en la ética y confianza, es posible involucrarte en proyectos críticos como AI Fairness 360 y Adversarial Robustness Toolbox.

Referencias

Brown TC (2018) ¿Un marco para pensar en la sostenibilidad del open source? 2 de julio de 2018

Forbus KD (2016) Organismos sociales de software: implicaciones para medir el progreso de la Inteligencia Artificial. AI Magazine. 13 de abril de 2016; 37(1):85-90.

Ing D (2018) Aprendizaje sobre innovación abierta: Teoría basada en el suministro abierto durante el suministro privado. Prólogo de Spohrer J. 20 de febrero de 2018

Mark J (2018) Por qué falló el open source. 30 de julio de 2018

Moore T y Ferris C (2018) enfoque de IBM para las tecnologías abiertas. 27 de octubre de 2018

Raymond E. La catedral y el bazar. Conocimiento, tecnología y políticas. 1 de septiembre de 1999; 12(3):23-49.

Spohrer J, Banavar G (2015). Cognición como servicio: una perspectiva del sector. AI Magazine, 1 de diciembre de 2015; 36(4):71-81.

Spohrer J, Kwan SK, Fisk RP (2014) Marketing: una perspectiva de las ciencias y las artes del servicio. Manual de investigación de mercados de servicios, Ed Rust RT y Huang MH. Páginas. 489-526.

Whitehurst J (2015) La organización abierta: encender la pasión y el rendimiento. Harvard Business Review Press; 12 de mayo de 2015.