-
Si actualmente es desarrollador de software (o ingeniero de la nube, científico de datos o cualquiera que trabaje con código), entonces el software de código abierto es como el aire que respira. Pero el código abierto no siempre fue tan omnipresente. Hace 20 o 30 años, cuando el "software libre” recién comenzaba, los proyectos de código abierto eran inusuales y sus autores eran generalmente académicos, investigadores o excéntricos. Sin embargo, de alguna manera, esta excentricidad se hizo popular y, como afirma el refrán, hoy en día el software de código abierto se está comiendo el mundo.
Los proyectos de software de código abierto se han convertido en los motores de la innovación en prácticamente todos los rincones de la informática. Los desarrolladores de código abierto de ayer construyeron las herramientas que construyeron Internet, y los desarrolladores de código abierto de hoy en día construyen, inventan nuevas y mejores herramientas para el desarrollo de front end, back end, DevOps, operaciones de datos, procesamiento de datos distribuidos, analítica de datos, aprendizaje automático... y mucho, mucho más.
Mediante nuestros premios 2022 Bossie Awards, le damos reconocimiento a los mejores proyectos de código abierto de vanguardia este año.
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
AlmaLinux
¿El mundo necesita más distribuciones de Linux? Bueno, una gran cantidad de software comercial se ha estandarizado en Red Hat Enterprise Linux. La versión básicamente gratuita de RHEL era CentOS, que Red Hat adquirió y esencialmente eliminó, al menos como reemplazo directo de RHEL. Como era de esperarse, esto funcionó mal con muchas personas que usaban CentOS, lo que resultó en la llegada de Rocky Linux y AlmaLinux para llenar el vacío. AlmaLinux reclama compatibilidad binaria con RHEL y propiedad comunitaria.
Andrew C. Oliver
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Podman
Nuevo en el género de terror de ciencia ficción... llega la gestión de contenedores Podman. Bueno, en realidad, Podman 1.0 se lanzó en el 2019. A diferencia de Docker, Podman puede ejecutarse como un proceso único con un usuario sin privilegios y comparativamente menos limitaciones que Docker sin raíz. Además, las imágenes de contenedor y los pods tienden a ser más pequeños en Podman que en Docker. Además, usted puede crear pods de Kubernetes directamente en Podman. La migración puede incluso ser tan simple como alias docker=podman, ya que Podman soporta muchos de los mismos comandos. ¿Quizás quiera desacoplarse y convertirse en una persona pod?
--Andrew C. Oliver
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Play with Docker
Claro, puede hacer todas las cosas con su laptop o EKS o GKE o lo que sea, pero ¿qué pasa si solo quiere jugar con algunos contenedores? Luego puede ir a Play with Docker y hacer las cosas. Si bien no puede hacer que su nueva startup se encargue de seguridad, inteligencia artificial o analítica (todas las nuevas startups hacen esas cosas ahora) debido a un límite de cinco instancias y cuatro horas, Play with Docker es un buen lugar para que pruebe algo antes de comprometerse completamente. Y como tal vez no quiera exponerse en público (siempre es una mala idea), ¿tal vez quiera instalar una versión interna de Play with Docker desde el repositorio de código abierto (con licencia MIT) en GitHub para que las personas de su organización puedan jugar?
-- Andrew C. Oliver
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Vaadin
¿Un marco de trabajo web que permite a los desarrolladores implementar interfaces de usuario web en Java sin tener que codificar HTML o JavaScript? ¿Que podría ser mejor? No todos los que codifican crean interfaces de usuario bonitas o les gusta trabajar con HTML. Algunos codificadores prefieren limpiar el inodoro con un cepillo de dientes. Vaadin no solo hace que las nuevas aplicaciones sean más sencillas de codificar, sino que su API del lado del servidor es algo similar a Swing, por lo que la conversión de aplicaciones Swing en aplicaciones web modernas es algo menos dolorosa que las reescrituras completas. Puede consultarlo en vaadin.com o sacarlo desde GitHub.
-- Andrew C. Oliver
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
JHipster
JHipster es una plataforma ambiciosa, incluso visionaria, completa y rápida de desarrollo de aplicaciones para Java. Su aspecto más visionario puede ser permitir que varios tipos de tecnologías diferentes cumplan diferentes roles tanto en el front end como en la capa de datos, pero no se detiene ahí. JHipster ofrece una gran cantidad de otras sutilezas, incluyendo una herramienta CLI que maneja la generación de 'andamios' (scaffolds) y que funciona contra stacks de tecnología heterogénea: MongoDB con una interfaz de usuario de Vue.js, Postgres con React y muchos otros combos. Todo unido con middleware Spring/Java de última generación.
JHipster también alivia los puntos débiles, como agregar seguridad a través de Spring Security. Y obtendrá varias opciones de implementación modernas e integraciones de CI/CD listas para usar.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Solid
Elegir un ganador entre tantos marcos innovadores de JavaScript de front end es particularmente difícil. Incluso el favorito, respaldado por Facebook, React, sigue siendo un proyecto admirablemente evolutivo que ofrece nuevas funciones atractivas a un ritmo regular. Vue.js, Angular y Svelte son activos e impresionantes. No importa lo que elijamos, alguien dirá "¿Y qué hay del marco X? Hace que Y sea mejor”--¡y podrían estar en lo cierto!
El año pasado le dimos el premio a Svelte. Este año nos fijamos mucho en Astro, Qwik y Solid. Astro nos brinda un enfoque innovador para la hidratación con el concepto de islas, que se pueden usar en otros marcos de trabajo para arrancar. Qwik es una reinvención audaz de todo el paradigma de la reactividad desde cero. En última instancia, Solid gana por ofrecer una gran cantidad de las mejores funciones de rendimiento de su clase en un paquete familiar y fácil de entender.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Redwood
Elegir un marco JavaScript de stack completo es casi tan difícil como elegir un marco JS de front end puro. Next.js, líder en la industria (ver siguiente diapositiva), no se ha dormido en sus laureles. Sigue siendo una fuerza dinámica que todavía está expandiendo sus límites. Al mismo tiempo, alternativas como SvelteKit y Nuxt, así como nuevos participantes como Blitz.js, están explorando nuevos enfoques y técnicas. Entre estos marcos de trabajo más nuevos, Redwood se destaca por atreverse a tener una opinión sólida sobre cómo se estructurará una aplicación. Esta decisión inicial hace que la experiencia del desarrollador sea admirablemente rápida.
Además de adoptar un enfoque similar al de Rails para los requerimientos recurrentes, como el modelado de datos y el andamiaje, Redwood aborda otras demandas del mundo real, como las integraciones de seguridad y rastreo. Y Redwood le permite apuntar a una variedad de ambientes de implementación, incluyendo plataformas sin servidor como Vercel y Netlify.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Next.js
Next.js fue pionero en el marco de JavaScript de stack completo. Node.js les abrió la puerta a las aplicaciones isomorfas de JavaScript, y Next.js la atravesó, llevando JavaScript de stack completo a una aplicación práctica. Next.js comienza con la premisa simple de unir un front end de React con un servidor de JavaScript en una sola pipeline de compilación, luego elabora a partir de ahí. Muchos aspectos importantes del desarrollo de aplicaciones --desde el routing hasta el acceso a los datos, la seguridad y la representación del lado del servidor-- se vuelven más simples y consistentes. Además, Next.js es compatible con varios tipos de objetivos de implementación, incluyendo los de borde y sin servidor. Su patrocinador corporativo, Vercel, aprovecha este soporte para permitir implementaciones automatizadas que ocultan la complejidad de conectar el back end con el front end.
--Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Wasmtime
De manera similar a lo que hace Node.js para el tiempo de ejecución de JavaScript, Wasmtime permite a los desarrolladores aprovechar todas las ventajas que ofrece WebAssembly dentro del navegador, incluyendo la ejecución segura en un espacio aislado, el desempeño casi nativo y la compatibilidad con múltiples lenguajes y plataformas de programación, fuera del navegador. Otros beneficios de Wasmtime incluyen ajustes detallados en el uso de CPU y memoria, ejecución de alta velocidad gracias al generador de código Cranelift y mantenerse al tanto de las nuevas características de WebAssembly.
Si bien las versiones anteriores de Wasmtime ya se consideraban listas para la producción, Wasmtime 1.0 agrega una serie de mejoras relacionadas con el rendimiento: creación de instancias más rápida de módulos Wasm, uso de memoria más inteligente y mejor rendimiento en tiempo de ejecución con seguimientos de stack optimizados y multitarea cooperativa. Es un hito importante.
-- Serdar Yegulalp
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
PyScript
Una de las promesas de larga data de WebAssembly es permitir el uso de lenguajes distintos a JavaScript en el navegador web. PyScript ofrece un tiempo de ejecución completo de Python en el navegador, lo que le permite usar Python en páginas web como un lenguaje de secuencias de comandos completo. Incluso se soportan algunas bibliotecas avanzadas como NumPy, lo que le permite crear aplicaciones potentes y complejas con front end HTML nativo, sin necesidad de un servidor Python en el back end. Tenga en cuenta que PyScript actualmente es experimental y frágil y, por lo general, el tiempo de inicio es largo. Pero como un vistazo al futuro, PyScript es tentador y abre la puerta a muchas posibilidades.
-- Serdar Yegulalp
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Hardhat
Desarrollar para Blockchain es complicado, pero las nuevas generaciones de herramientas lo están facilitando. Hardhat es un excelente marco de trabajo de código abierto que simplifica la codificación, las pruebas y la implementación de Dapps y contratos inteligentes en Ethereum. Construido alrededor de un corredor de tareas extensible y un marco de complemento, Hardhat es lo suficientemente flexible para manejar la mayoría de los flujos de trabajo de desarrollo y se integra con un Ethereum testnet local: esencial para implementar y depurar código sin interactuar con las redes de prueba remotas.
Hardhat incluye una extensión para Visual Studio que soporta Solidity y ofrece extensiones de Chai para aserciones de casos de prueba específicas de Ethereum. Más allá de todos estos elementos de utilidad, Hardhat ofrece una excelente experiencia de desarrollador. Las cosas tienden a funcionar tal como esperado desde el primer momento, lo que hace que el camino sea más feliz.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
OpenFGA
OpenFGA es la implementación de código abierto de Auth0 de una plataforma de autorización universal basada en Zanzíbar, el sistema de autorización global de Google. También es el motor detrás de la oferta de autorización empresarial como servicio de Auth0. Al abordar una amplia gama de requisitos de autorización, desde la autorización basada en roles hasta la basada en relaciones y la autorización detallada, OpenFGA incluye una cantidad increíble de potencia y flexibilidad en un paquete creado a escala. No solo es una gran victoria para el conocimiento de la autorización en la comunidad de software de código abierto, sino también una reafirmación de la premisa fundamental de que lo que es bueno para el código abierto es bueno para la empresa: la libertad de expresión del código.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Sentry
Junto con la seguridad, el seguimiento de errores y rendimiento se encuentran entre los requisitos inevitables más frustrantes para muchas aplicaciones. Sentry ofrece un ecosistema completo de herramientas de código abierto para monitorear el estado de las aplicaciones, los servicios y las APIs, desde la API del lado del servidor para recopilar datos, hasta un tablero para hacerlo manejable y una gran cantidad de integraciones del lado de la aplicación.
Estas integraciones abordan prácticamente cualquier stack concebible que pueda estar usando, desde Perl hasta Python. Lo mejor de todo es que son muy fáciles de usar. Simplemente importe la biblioteca, sin necesidad de instrumentar su lógica empresarial con código extraño. Sentry también ofrece puntos de integración para varias herramientas, como rastreadores de proyectos, sistemas de control de código fuente y plataformas de implementación.
-- Matthew Tyson
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Appsmith
Appsmith es un marco de código bajo que ayuda a los desarrolladores de back end a personalizar software como paneles de administración, formularios y tableros con una codificación mínima de HTML y CSS. La plataforma pone en marcha proyectos con componentes de interfaz de usuario, previamente construidos, y plantillas reutilizables, se integra con una amplia gama de APIs, fuentes de datos y servicios en la nube, y soporta opciones de implementación tanto en la nube como en alojamiento propio. Appsmith cuenta con más de 10 millones de descargas en Docker, más de 21 mil estrellas en GitHub y recientemente anunció 41 millones de dólares en fondos Serie B. Ejemplos de casos de uso incluyen herramientas de atención al cliente y procesos internos como las comunicaciones.
-- Isaac Sacolick
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Spinnaker
Spinnaker es una plataforma de entrega continua de multinubes de código abierto que ayuda a los equipos de desarrollo a automatizar lanzamientos e implementar Canary y otras estrategias de implementación. Más de 220 empresas utilizan Spinnaker, incluyendo Airbnb, SAP, Pinterest, Mercari y Salesforce, y la comunidad cuenta con más de 2500 colaboradores. Las organizaciones de ingeniería más pequeñas también tienen éxito al usar Spinnaker. Por ejemplo, el equipo de ingeniería de 20 personas de Upwave gestiona 100 implementaciones por semana, con plazos de entrega de menos de 20 minutos para los cambios. Los principales proveedores de la nube son compatibles con Spinnaker y encontrará varios libros electrónicos para ayudar a los desarrolladores a comenzar. Spinnaker tiene varias historias de éxito, incluida la campaña Biden for President del 2020.
-- Isaac Sacolick
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Hypertrace
Construido por Traceable en Apache Kafka, Hypertrace es un motor para observación y seguimiento distribuido, de código abierto y en tiempo real, capaz de ingerir y procesar grandes volúmenes de datos de rendimiento de una gran cantidad de servicios en arquitecturas nativas de la nube en expansión. Hypertrace monitorea sus aplicaciones y microservicios, rastrea transacciones distribuidas a través de sus múltiples puntos de contacto y destila toda esta información en métricas de servicio y mapas de flujo de aplicaciones, que muestra en paneles totalmente personalizables.
Además de habilitar el análisis basado en rutas, Hypertrace brinda alertas en tiempo real que le ayudan a abordar de manera proactiva los cuellos de botella en el rendimiento y las tendencias problemáticas de entrega de aplicaciones antes de que afecten sus resultados. Hypertrace soporta formatos de seguimiento populares, listos para usarse, que incluyen a Zipkin y Jaeger, y ofrece agentes de instrumentación nativos para Java, Go y Python.
-- James R. Borck
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Gravitee
La plataforma de administración de API de Gravitee le permite administrar, gobernar y proteger de forma centralizada las API distribuidas, una necesidad absoluta para controlar los costos y la complejidad en el mundo actual de microservicios y API impulsado por eventos. El portal Cockpit de Gravitee combina el acceso guiado con un conjunto de herramientas rico en funciones para publicar, documentar y descubrir APIs, mientras que su diseñador de API integrado ofrece un enfoque visual y de bajo código para el desarrollo y la documentación del modelo. La automatización de tareas minimiza los errores, acelera la depuración y simplifica la implementación. Los fundamentos de auditoría y acceso seguro le permiten bloquear puntos finales a través de servicios de autenticación y autorización. Una licencia empresarial desbloquea funciones adicionales de puerta de enlace de diseño y producción, junto con ventajas como un motor de alerta, detección de anomalías y analítica en tiempo real.
-- James R. Borck
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
OpenTelemetry
Para la visibilidad de las aplicaciones distribuidas de hoy, los registros y métricas simples de ayer ya no son suficientes. De ahí el surgimiento de herramientas de observación como Zipkin y Jaeger, y servicios pagos como Honeycomb, que permiten a los desarrolladores comprender sus aplicaciones a un nivel mucho más profundo que antes. Por supuesto, la desventaja de esta proliferación de nuevas herramientas es que todas funcionan de manera un poco diferente.
OpenTelemetry cierra las brechas entre los sistemas de observación con un conjunto de APIs y herramientas estándar, uniendo la generación, emisión, recopilación, procesamiento y exportación de datos de telemetría de manera independiente del proveedor. ¿Comenzó con el producto de observación A, pero luego se dio cuenta de que quería usar el producto de observación B? OpenTelemetry puede hacer que eso suceda con solo unos pequeños cambios de configuración.
-- Ian Pointer
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Grafana
Los creadores de Grafana se esforzaron por crear un panel de control de código abierto para gobernarlos a todos, y es difícil encontrar otro producto que se le acerque, ya sea de propiedad exclusiva o de código abierto con opciones de pago, como lo es Grafana. Grafana 8.0 fusionó la visualización de alertas de Prometheus con las alertas nativas de Grafana y la complementó con el manejo de Prometheus Alertmanager. Grafana 9.0 agrega herramientas de creación de consultas para los lenguajes de consulta Prometheus PromQL y Loki LogQL; le permite obtener una vista previa de los tableros con miniaturas en lugar de meras descripciones; y promueve el control de acceso basado en roles desde la versión beta hasta la disponibilidad general en la edición empresarial del producto.
-- Serdar Yegulalp
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Dapr
Con las aplicaciones distribuidas, cada vez que crea un nuevo servicio se enfrenta a la misma multitud de preocupaciones: proteger las conexiones, configurar la observación, gestionar el estado, gestionar la mensajería, etcétera. Todas estas cosas deben hacerse una y otra vez, a menudo con diferentes servicios de terceros, todos los cuales agregan capas de cruft a su código y lo vinculan a servicios externos que usted puede o no querer seguir usando.
Ingrese a Dapr, un proyecto de incubación en CNCF, que se esfuerza por eliminar algunas de esas dificultades y duplicaciones. Ejecutándose como complemento de su aplicación, Dapr abstrae la complejidad de la conectividad de microservicios. Su aplicación se comunica con Dapr y Dapr hace el resto, por lo que podría estar ejecutándose en AWS y usando Kinesis, o ejecutándose en Google Cloud y usando PubSub, y su servicio no necesita notar la diferencia. Puede dedicar más tiempo a la lógica de su aplicación y menos a todo ese código adhesivo.
-- Ian Pointer
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Redpanda
Redpanda es un complemento que sustituye a Kafka, escrito principalmente en C++, que utiliza el marco asíncrono Seastar y el algoritmo de consenso Raft para su registro distribuido. Puede ofrecer latencias medias hasta 10 veces menores y transacciones de Kafka hasta seis veces más rápidas, todo ello con menos recursos. Redpanda no requiere el uso de ZooKeeper ni de la JVM, y su código fuente está disponible en GitHub bajo la licencia Business Source License (BSL).
Incluso más allá de su reimplementación en C++, Redpanda utiliza un modelo asíncrono, compartido y sin hilos por núcleo, sin bloqueo, con mínimo cambio de contexto y acceso a la memoria local de los hilos. Redpanda va más allá del protocolo Kafka y se adentra en el futuro del streaming con transformaciones WebAssembly en línea, y almacenamiento jerárquico georreplicado/indización en sombra.
-- Martin Heller
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Apache Iceberg
Apache Iceberg, un formato de alto rendimiento para tablas analíticas enormes, aporta la fiabilidad y la simplicidad de las tablas SQL a los big data, al tiempo que hace posible que motores como Trino, Spark, Sonar, Presto, Hive, Flink e Impala trabajen con seguridad con las mismas tablas, al mismo tiempo. Iceberg admite comandos SQL flexibles para fusionar nuevos datos, actualizar filas existentes y realizar eliminaciones selectivas. Puede reescribir con avidez los archivos de datos para mejorar el rendimiento de la lectura, o puede utilizar deltas de borrado para realizar actualizaciones más rápidas. Además, Iceberg admite la evolución de esquemas, la partición automática, las consultas de viaje en el tiempo, la reversión de versiones y la compactación de datos de forma inmediata.
-- Martin Heller
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Apache Druid
Apache Druid es una base de datos de análisis en tiempo real que ofrece consultas en menos de un segundo, alta concurrencia y conocimientos históricos y en tiempo real con la ingestión de flujos desde Kafka, Kinesis y otras plataformas. La tecnología se basa en 10 años de publicaciones, más de 400 colaboradores y una arquitectura de almacenamiento de datos distribuida que combina ideas de almacenes de datos, bases de datos de series temporales y sistemas de búsqueda. Miles de empresas, entre ellas Netflix, Salesforce y Walmart, utilizan Druid para potenciar sus aplicaciones de análisis. Los casos de uso incluyen el análisis del flujo de clics, el análisis de riesgos y fraudes, y el análisis de la cadena de suministro. Los desarrolladores pueden consultar la introducción a Apache Druid y el libro electrónico de casos de éxito para empezar.
-- Isaac Sacolick
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
JAX
Entre las innovaciones que impulsan la popular plataforma de aprendizaje automático de código abierto TensorFlow de Google se encuentran la diferenciación automática (Autograd) y el compilador optimizador XLA (Accelerated Linear Algebra) para el aprendizaje profundo. JAX, también de Google, es otro proyecto que aúna estas dos tecnologías, y ofrece considerables ventajas de velocidad y rendimiento. Cuando se ejecuta en GPU o TPU, JAX puede sustituir a otros programas que llaman a NumPy, pero sus programas se ejecutan mucho más rápido. (El motor Autograd puede diferenciar automáticamente el código nativo de Python y el de NumPy). Además, el uso de JAX para las redes neuronales puede hacer que la adición de nuevas funcionalidades sea mucho más fácil que la expansión de un marco más grande como TensorFlow.
-- Martin Heller
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
nbdev
Uno de los secretos sucios de la programación en cuadernos, utilizando entornos como Jupyter o Google Colab, es que produce algunos de los peores códigos espagueti que jamás hayas visto, con los científicos de datos saltando de celda en celda y creando un lío imposible de mantener. Algunos incluso llegan a decir que la programación en cuadernos podría ser tan perjudicial como lo fue GOTO en su día.
nbdev adopta lo bueno de la programación en cuadernos e intenta aliviar lo malo. Una plataforma de desarrollo de fast.ai basada en el cuaderno Jupyter y compatible con Git, nbdev ofrece a los científicos de datos la libertad de exploración que necesitan, pero también la capacidad de crear fácilmente módulos con documentación y, sí, incluso pruebas adecuadas, todo dentro del mismo cuaderno. Lo encontrará en uso en empresas como Netflix y Lyft y (naturalmente) fast.ai, que utilizó nbdev para crear la nueva versión de la biblioteca fast.ai.
-- Ian Pointer
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Accelerate
¿Qué pasaría si pudiera añadir entrenamiento distribuido e inferencia a gran escala a cualquier código PyTorch simplemente añadiendo cuatro líneas de código? Nada más sacarlo de la caja, Accelerate de Huggingface le permite utilizar características como los dispositivos TPU o las optimizaciones DeepSpeed de Microsoft a través de simples interruptores de configuración. Sí, puede entrenar modelos de aprendizaje profundo a escala de mil millones de parámetros utilizando técnicas como el entrenamiento distribuido, el paralelismo fragmentado y la acumulación de gradientes, todo ello gestionado entre bastidores por la biblioteca Accelerate. Asegurarse de que el entrenamiento de grandes modelos no se limita a los pesos pesados de la industria es importante para la diversidad y la experimentación, por lo que es alentador ver que Accelerate se convierte en parte del ecosistema PyTorch.
-- Ian Pointer
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
Stable Diffusion
Stable Diffusion es un modelo de IA de texto a imagen que genera imágenes de una calidad simplemente asombrosa. Con apenas dos meses de vida, el proyecto se ha extendido como un reguero de pólvora, con entusiastas de todo el mundo que ya están mejorando el trabajo original para que la generación sea más rápida, se ejecute en GPU de menor memoria ,y se añada soporte para pintar y repintar. Incluso han conseguido que Stable Diffusion funcione en MacBooks con M1.
Stability.ai se ha gastado 600 mil dólares en la formación de este modelo y lo ha distribuido inmediatamente como código abierto (en contraste con DALL-E de OpenAI). Aunque un modelo de este tipo suscita sin duda preocupaciones en cuanto a la conservación de los conjuntos de datos y la capacidad de crear imágenes NSFW, es casi seguro que es mejor que esta tecnología esté en manos de todo el mundo y no de unas pocas corporaciones gigantes, tanto para el avance de la investigación como para la generación de obras de arte en los años venideros.
-- Ian Pointer
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG
-
EleutherAI
GPT-NeoX-20B es el nuevo modelo de procesamiento del lenguaje natural de 20 mil millones de parámetros creado por EleutherAI, editor del anterior GPT-J, un modelo de seis mil millones de parámetros. Estos modelos pueden parecer pequeños en comparación con el GPT-3 de OpenAI, que cuenta con 175 mil millones de parámetros, pero han logrado sólidos resultados de referencia utilizando LAMBADA, Winogrande, Hellaswag y otros conjuntos de datos. Se puede probar GPT-J en la finalización de frases y realizar tareas de NLP más avanzadas como la traducción y la clasificación.
¿Qué hay detrás de la iniciativa de EleutherAI de publicar modelos tan potentes? Conor Leahy, uno de los fundadores del proyecto, explica: "Tenemos que pensar en las IAs como extraños alienígenas que no piensan como nosotros". El objetivo es poner esta tecnología al alcance del mayor número posible de investigadores, para que podamos aprender a controlarla.
-- Isaac Sacolick
James R. Borck, Martín Heller (InfoWorld) / 1-noviembre-2022, Crédito fotos: IDG