Las herramientas de IA para programación están progresando rápidamente


Will Douglas Heaven, de MIT Technology Review, ofrece una visión general completa de la revolución de la IA en el desarrollo de software, mostrando las empresas emergentes innovadoras que impulsan este cambio.

Están monetizando una necesidad real para los programadores y las empresas, que ya utilizan estas herramientas de forma masiva. Una cuarta parte del código producido por Google hoy en día es generado por IA, según el director ejecutivo de Google, Sunday Pichai.

La conclusión clave es que estos programas son tan buenos que el trabajo de los ingenieros ahora es escribir indicaciones y revisar el código escrito por máquinas.

El primer paso ha sido entrenar los modelos a partir de miles de millones de líneas de código que se encuentran en línea, ofreciendo una autocorrección superpoderosa.

Ahora están utilizando técnicas de aprendizaje automático para permitir que el modelo "juegue" en un entorno simulado de forma iterativa, de forma muy similar a como lo hizo DeepMind de Google con AlphaGo, cuando ganó contra el campeón mundial en 2017.

El objetivo del juego es llegar a un modelo que comprenda la lógica subyacente a cualquier lenguaje de programación.

Lograr esa comprensión lógica sería para el desarrollo de software lo que la introducción de los cajeros automáticos ha sido para la banca

La velocidad del desarrollo una vez que se logre esta comprensión lógica permitirá que las máquinas resuelvan problemas mediante programación sobre la marcha, y esto, dicen, será la verdadera IAG

GNoME: Desbloqueando el futuro del descubrimiento de materiales


La búsqueda de materiales novedosos siempre ha estado en el centro del avance tecnológico, impulsando innovaciones en innumerables industrias. Ahora, una innovadora herramienta de aprendizaje profundo desarrollada por Google AI, denominada GNOME (Redes de grafos para la exploración de materiales), está lista para revolucionar esta búsqueda, marcando el comienzo de una era de descubrimiento sin precedentes.

En esencia, GNOME aprovecha el poder de las redes de grafos, una forma especializada de inteligencia artificial experta en aprender de datos estructurados como grafos. Esto la hace especialmente adecuada para el intrincado mundo de la ciencia de los materiales, donde las estructuras atómicas y sus interconexiones se pueden representar de forma natural como relaciones gráficas.

GNOME funciona analizando meticulosamente una vasta base de datos de materiales existentes. Este completo conjunto de datos abarca información crucial como estructuras cristalinas, composiciones químicas y estados de energía.

Al discernir patrones y relaciones complejos dentro de estos datos conocidos, GNOME obtiene la capacidad de predecir con precisión las propiedades de materiales hipotéticos completamente nuevos

El impacto de las exploraciones iniciales de GNOME ha sido nada menos que asombroso. La herramienta ya ha identificado la asombrosa cantidad de 2,2 millones de nuevos materiales. Fundamentalmente, se predice que un subconjunto significativo de estos aproximadamente 380.000 será estable. Esta predicción de estabilidad es primordial, ya que indica que es probable que estos materiales existan en la naturaleza y posean el potencial para aplicaciones en el mundo real, allanando el camino para avances tecnológicos transformadores.

Las posibles aplicaciones de los descubrimientos de GNOME abarcan una amplia y diversa gama de industrias:

  • Electrónica: GNOME podría desvelar los secretos de los componentes electrónicos de próxima generación, desde superconductores de alto rendimiento hasta semiconductores más eficientes, allanando el camino para dispositivos más rápidos y potentes.
     
  • Energía: La herramienta es muy prometedora para el avance de soluciones de energía limpia, facilitando el descubrimiento de materiales superiores para células solares de alta eficiencia, baterías de mayor duración y otros dispositivos cruciales de almacenamiento de energía.
     
  • Medicina: En el ámbito de la salud, GNOME podría acelerar el descubrimiento de fármacos al identificar nuevos materiales para aplicaciones farmacéuticas y conducir a la creación de dispositivos médicos más avanzados y eficaces

Las implicaciones para la vida cotidiana son igualmente profundas. Los nuevos materiales descubiertos por GNOME podrían traducirse directamente en una serie de productos de consumo mejorados:

  • Teléfonos inteligentes y portátiles: Imagine teléfonos inteligentes con una duración de batería mucho mayor y procesadores más potentes, o portátiles significativamente más ligeros y duraderos. Los materiales de GNOME podrían hacer realidad estos avances.
  • Vehículos eléctricos: El desarrollo de coches eléctricos más eficientes y asequibles podría acelerarse enormemente gracias al descubrimiento de nuevos materiales que mejoren el rendimiento de las baterías y la construcción de los vehículos.
  • Paneles solares y baterías: Se esperan mejoras sustanciales en la eficiencia de los paneles solares y en la longevidad y potencia de las baterías, lo que contribuirá a un futuro más sostenible y electrificado.

En esencia, GNOME representa un avance monumental en la ciencia de los materiales. Al acelerar drásticamente el ritmo de los descubrimientos, esta innovadora herramienta tiene el potencial de abrir un futuro repleto de tecnologías novedosas y productos mejorados, lo que impactará profundamente en nuestras vidas para mejor. La era del descubrimiento de materiales específicos e inteligentes realmente ha llegado

Estilo inspirado en CAD y modelado de subdivisiones

Mire los sofás que surgieron a partir de la aplicación de espuma de PU en los años 60, era casi como si la espuma de PU pidiera ser modelada en esta forma.
Mire los estilos que surgieron de los arquitectos que explotaban el hormigón hasta sus límites: crearon el Brutalismo.
Observe el estilo peculiar que surgió de los herreros en el siglo XIX. Tenían un número limitado de operaciones para modelar varillas de metal, y esas operaciones forjaron el estilo.

Observa las herramientas que se utilizan ahora y tendrás un espectro de estilos.

Entonces, si hay un diálogo limitado entre las herramientas basadas en malla y el CAD utilizado para fabricar bienes físicos, habrá más expresiones influenciadas por el CAD.

Ahora podemos fabricar prácticamente cualquier forma con la tecnología de fabricación disponible, y muchas formas siguen siendo lofts y extrusiones de corte. Esta podría recordarse como la época dorada del CAD en el diseño industrial, con la producción de numerosos productos excelentes con este peculiar estilo guiado por funciones paramétricas.


Mercedes-AMG GT R Roadster creado íntegramente en Blender por Nahid Mustafazade en Artstation

El modelado poligonal es la técnica de modelado 3D más extendida y versátil. Su potencial expresivo y usabilidad deberían ser imprescindibles para los diseñadores industriales. Sin embargo, estamos lejos de aprovechar todo su potencial.

Las mallas pueden describir cualquier forma 3D, con un nivel de precisión que depende del número de polígonos. Los recursos del juego están optimizados para ahorrar recursos informáticos. Basado en Superficies de subdivisión, mientras trabajan sobre unos pocos polígonos, describen superficies complejas y pulidas.
De esta manera conceptualmente sencilla, los artistas pueden crear formas complejas y sorprendentes fácilmente. Entonces, ¿por qué no lo vemos tan extendido en el proceso de modelado 3D del diseño industrial?

El estándar en el diseño industrial es el modelado con Superficies paramétricas, a lo que yo llamo NURBS, es el lenguaje de generación de superficies en el que se basa Rhinoceros 3D, ideal para modelar formas aerodinámicas de estilo automotriz.
The precision and control you get with parametric surfaces are much higher, but I think that large organisations continue to use the same software that their employees already master (it is a legacy system) and resist change.

El problema

Las formas que surgen con facilidad con superficies de subdivisión requieren mucho más esfuerzo con superficies paramédicas. No es falta de imaginación, voluntad ni habilidad por parte de los diseñadores. Es como si el programa decidiera qué se puede y qué no se puede hacer, mientras que fuera del mundo del diseño industrial, los profesionales siguen produciendo excelentes modelos y renders a un ritmo impresionante,gracias a software como Zbrush, Maya, Blender, Max, con herramientas e interfaz de usuario que nos llevan 20 años de ventaja.

Mientras las firmas de diseño más importantes siguen utilizando extrusiones cortadas y lofts con bordes redondeados de buen aspecto, el diseño de juegos está experimentando el equivalente a un renacimiento en términos de estilo y nuevas ideas.

¿Cómo es posible que la complejidad de las formas de los productos sea tan básica? ¿Será solo porque todos siguen las enseñanzas de Dieter Rams? ¿Por qué todo parece copiado de los productos de Apple? Digo que no es solo moda, sino falta de herramientas.

T-splines intentó cerrar esta brecha ofreciendo un complemento para Rhino, recientemente integrado en Autodesk Fusion360, mientras que Creo Parametric ofrece freestyle, una excelente manera de importar y editar una malla de bajo poli en un software paramétrico.
Hasta ahora, estos programas tenían un número limitado de funciones y parece difícil alcanzar la interfaz de modelado de malla.

La imagen de arriba muestra la malla subyacente de una forma simple, con pliegues semi-afilados en los bordes.

Creo que los diseñadores industriales deberían integrar funciones de modelado orgánico junto con la herramienta paramétrica clásica. No solo para "explorar" nuevas formas, como anuncian algunas empresas de software, aunque eso represente un gran avance.

Las superficies de subdivisión y la interfaz de modelado avanzado que ves en Zbrush y Blender deberían fusionarse perfectamente en el flujo de trabajo de diseño industrial, porque la ventaja de crear formas hermosas es grande y, sobre todo, no debería ser doloroso.

Durante los últimos 4 años, trabajando en la industria juguetera, esculpí mallas en Zbrush e importé los objetos en mis programas paramétricos favoritos. ¿Podría Rhino 7 solucionar el problema? De momento, parece funcionar bastante bien.

Bolso de piel modelado con sub-d de Rhino 7

Contratar a un profesional en Upwork

Necesitaba una alerta por correo electrónico para saber cuándo un nuevo comprador estaría disponible en el sitio web de comestibles.

Durante la pandemia, Supermercato24 fue mi servicio de entrega de comida favorito, ofrece llevar la compra a casa, gestionando a los repartidores que van al supermercado.

Desafortunadamente, como todos nos vemos obligados a quedarnos en casa, los clientes solo están disponibles unos minutos antes de que se agoten. Es difícil encontrar el lugar ideal si quieres que te entreguen la comida en pocas horas o incluso al día siguiente.

Pensé en contratar a un programador de Upwork para crear un script web que me ayudara con este problema. El script debía iniciar sesión en el sitio web y enviar una alerta por correo electrónico cuando hubiera nuevos repartidores disponibles. De esta manera, podría acceder rápidamente al sitio web y realizar un pedido.

“Upwork es una plataforma global de trabajo independiente donde las empresas y los profesionales independientes se conectan y colaboran de forma remota” (wikipedia).


Así que coloqué el título del anuncio de trabajo, tratando de ser muy específico, ya que cuanto más preciso seas, menos problemas de comprensión van a surgir después.

Luego configuré las habilidades necesarias, en mi caso un programador capaz de hacer automatización.


Luego configuré las habilidades necesarias, en mi caso un programador capaz de hacer automatización.

Ha sido un verdadero placer trabajar con él, ya que es un programador experto y creó rápidamente un programa en Python en su ordenador, enviando los primeros correos electrónicos de prueba. Después, lo instaló en una máquina virtual de Google Cloud. Al día siguiente solo necesitó algunos cambios menores, y hoy recibí los correos electrónicos como esperaba.


Entonces, descubrí que si quieres que el repartidor esté disponible durante las próximas horas, necesitas un bot como este para detectarlo, porque los nuevos compradores aparecen de una manera totalmente impredecible.

Ahora puedo tener un repartidor en mi puerta en 3 horas.


Notas finales

En 2015 trabajé en Upwork como modelador 3D y diseñador industrial y ha sido una experiencia realmente intensa y gratificante.

Me sentí empoderado a medida que mis clientes se acumulaban rápidamente; recibía muchas buenas calificaciones de ellos. Empleados corporativos que necesitaban ayuda con un proyecto, con mayor frecuencia creadores que buscaban un servicio personalizado para llevar a cabo sus proyectos, a veces startups con un nuevo producto o inventores con una idea que necesitaba ser diseñada y prototipada para presentarla a clientes potenciales.

La supuesta "Gig Economy" es uno de esos fenómenos desatados por internet, donde la tensión entre precios bajos para los consumidores y condiciones laborales justas para los trabajadores empezó a intensificarse hace unos años. Ahora es imposible sentirse cómodo sin apoyar la economía liberal o los derechos de los trabajadores, pero por ahora quería centrarme en crear un script en la nube en dos días. Publiqué un trabajo con un precio fijo de 30 € para todo el proyecto y recibí una oferta, probablemente porque el trabajador estaba empezando su carrera en la web y necesitaba forjarse una reputación. Probablemente, en el futuro, como trabajará más horas y las valoraciones también, solo aceptará pagos por hora, siendo realistas, a 30 €/hora. Le di una propina de 20 €, sintiéndome un poco culpable.

El marketplace de trabajo es un gran recurso para freelancers. Durante mi experiencia como diseñador y creador de modelos 3D en Italia, a menudo me enfrenté a un sistema donde los nuevos contratistas se encuentran por recomendación. Las empresas no pueden confiar en un freelancer si no está recomendado o si no cuentan con la confianza generada durante años de colaboración. Pero en una plataforma online, puedes confiar en la valoración de un trabajador, de forma similar a la valoración de un producto en Amazon.

Acabo de sugerir que las personas pueden ser tratadas como mercancías, entrando en las turbias aguas de la mercedización de los trabajadores, pero aún veo un mercado de trabajo como una herramienta poderosa para un profesional independiente.

Y aún no he mencionado la posibilidad única que ofrece Upwork de tener contratos y pagos ejecutados automáticamente, algo con lo que solo puedes soñar si eres freelance en Italia (piensa en plazos de pago de 60 días, si la empresa sigue viva en ese momento).

El sistema de calificación de freelancers es una parte central de la confianza que los clientes pueden depositar en un freelancer y es indispensable para esperar el resultado deseado.

Para un freelancer en un marketplace, la calificación es la presentación más importante, incluso más importante que el precio que ofrecen.

Para pequeñas empresas y clientes privados, este servicio puede desbloquear el potencial de un mercado global de trabajadores realmente calificados que ofrecen servicios especializados a una fracción del precio que puede ofrecer un gran estudio, desbloqueando las posibilidades para que se hagan realidad grandes ideas.