Entrevista
“El riesgo de la IA siempre está presente, pero los clientes sienten que los beneficios son mucho mayores”
Deepak Singh lleva 16 años en AWS desempeñando diversos roles. Desde el último año es el vicepresidente de Next Generation Developer Experience, una división de la organización de inteligencia artificial generativa. Lidera un equipo que se dedica a construir herramientas para desarrolladores, utilizando inteligencia artificial generativa, con Amazon Q Developer, un asistente para crear código, como herramienta principal.
Singh estuvo en España durante la celebración del AWS Summit y recibe a La Razón para hablar de cómo la IA ha cambiado su trabajo, la de los desarrolladores así como algunos de los retos que quedan por resolver.
¿Qué permite hacer Amazon Q?
He tenido más de unas cuantas conversaciones en mi estancia en España y muchas personas quieren que sus desarrolladores sean más productivos, pero usan la IA generativa de manera más general. Cuando empecé a prepararme para este viaje me di cuenta de que el 36% de las empresas en España están utilizando tecnología de inteligencia artificial, lo cual es bastante. De hecho, es un dato mejor que algunos de los otros países que he visitado. Es bastante impresionante. Obviamente, AWS tiene una gran inversión en España con la región cloud. Esto es muy emocionante porque para hacer bien la IA, primero tienes que adoptar la nube, dadas algunas de las exigencias que tienes, y la adopción de la nube en España es bastante buena, entorno al 32%.
Con la IA puedes hacer mucho al eliminar errores. Pero lo más importante es que pueden reducir el tiempo que se tarda en completar tareas en un 90%.
¿Cuáles son los beneficios de utilizar inteligencia artificial generativa por parte de los desarrolladores?
British Telecom es un buen ejemplo de los beneficios que obtienes. BT tiene muchos desarrolladores. Buena parte del código que se genera cuando estás escribiendo aplicaciones se hacer rápidamente con inteligencia artificial generativa. No es un código especial para tu empresa, son solo cosas que deben hacerse y las herramientas de inteligencia artificial generativa son muy, muy buenas en encargarse de esas cosas. Si cada desarrollador en tu empresa está trabajando un poco más rápido porque la IA les está ayudando a escribir parte del código que de otra manera tendrían que escribir, eso es un gran beneficio.
Otro beneficio es que hay ciertas cosas que puedes empezar a automatizar porque puedes combinar algunas de estas herramientas. Resumiéndolo mucho, y es algo que hemos visto en varios de nuestros clientes, cuando estás usando IA para el desarrollo de software, inmediatamente obtienes beneficios en muchas de las tareas tediosas del día a día. En cosas que simplemente necesitas terminar pero que no requieren que los ingenieros sean expertos en ningún sistema. La IA simplemente lo hace mucho más rápido. Ese es solo un punto de partida, pero como tal, es el beneficio que muchos miembros del equipo obtienen, especialmente si los ingenieros son nuevos en la empresa o en la base de código.
¿Qué cantidad de tiempo se pueden ahorrar?
En el ejemplo de BT fue un ahorro del 12% gracias a la automatización. Tenemos clientes como el Banco Nacional de Australia que han hablado de una tasa de ahorro del 40%, lo cual es significativo. Pero creo que la cifra del 10, 12 o 15%, es lo típico. Diferentes organizaciones obtienen diferentes beneficios dependiendo de su punto de partida y de para qué lo empleen.
Se dice que hay menos desarrolladores y personas técnicas de lo que el mercado demanda. ¿Cree que la inteligencia artificial generativa puede ser una solución para esta brecha?
Sí. Amazon Q Developer está dirigido a desarrolladores de software profesionales. Pero tenemos el negocio de Amazon Q. Una de las partes (en realidad, mi parte favorita) del negocio de Amazon Q es algo que llamamos Aplicaciones Q. Lo que hace el negocio de Amazon Q es conectar todas las fuentes de datos de una empresa. Entonces el administrador decide a qué datos quieres acceder (Salesforce, datos que se encuentran en un intercambio, en cualquier lugar, tus wikis, S3…), los conecta todos a QBusiness y Q crea un índice con todos los permisos según el perfil de cada usuario, de manera que solo puedes ver datos para los que tienes acceso.
Te daré un ejemplo real. Imagínate que soy técnico en un centro de datos y manejo todos los sistemas de aire acondicionado. Quiero crear una aplicación que me ayude a depurar y saber por qué estoy recibiendo un error del aire acondicionado y qué significa el código de error que está generando. En realidad, todos estos datos están disponibles, así que solo tienes que localizar dónde están, crear una aplicación, determinar su función y ya se tiene acceso a las fuentes de datos. Esto se hizo en Amazon. Crearon una aplicación en la que solo tienes que ingresar el código de error, y te dice cuál es el error y cómo solucionarlo. Es una aplicación muy simple pero que no habría sido construida sin la IA porque habrías necesitado encontrar un ingeniero de software o alguien que lo hiciera, y no tienen tiempo. Las únicas personas que se preocupan por esa aplicación son aquellas que se dedican al aire acondicionado. Ahora pueden construirla ellos mismos, aunque no saben cómo escribir ningún software.
Entonces, ¿no será necesario entender cómo hacer aplicaciones?
Cuanto más sofisticada sea la aplicación, más necesitas entenderla. Pero para aplicaciones simples como la que mencioné, hoy con Gen AI puedes hacer mucho. Tenemos Party Rock, una plataforma que puedes usar sin que seas cliente de AWS. Con una cuenta de Google es suficiente. Party Rock te enseña mucho sobre qué tipos de aplicaciones puedes construir utilizando la IA generativa. Tuvimos un hackathon recientemente, y había muchas aplicaciones para crear videojuegos basados en texto, crear historias, aplicaciones para hacer recetas… un montón de cosas interesantes para las que no necesitas ser un usuario técnico pero que puedes desarrollarlas.
¿Teme que la gente haga más aplicaciones de las necesarias?
Quizás no son realmente necesarias, pero es tan fácil de hacer... Esto sucede con cualquier tecnología. Cada vez que algo se vuelve más fácil de hacer, tienes mucho más de ese algo. Tal vez la calidad disminuya, pero para las cosas importantes, siempre tendrás a las personas adecuadas. Me gusta pensar en que estas herramientas hacen que las personas que ya saben lo que están haciendo sean aún más exitosas. Hacen que las personas que tal vez no hayan desarrollado hasta ahora pero tienen el talento y la creatividad, puedan crear estas aplicaciones. Seguro que habrá un montón de personas que no harán cosas útiles, pero creo que lo anterior es probablemente más importantes. Si ya entiendes lo que estás haciendo, puedes crear algo mejor. Si eres creativo pero tal vez no tienes las habilidades, ahora puedes hacerlo. Creo que como comunidad, como industria, encontraremos mecanismos para asegurarnos de que lo que estamos obteniendo sea útil. Al final, si esta aplicación es creada y nadie la está usando, está bien, simplemente está ahí. Pero si otras personas lo encuentran útil, ¡será genial!
Hay cierta controversia también en la comunidad de desarrolladores porque algunos de ellos piensan que estaban compartiendo su conocimiento (a través de GitHub, GitLab, Stack Overflow y este tipo de plataformas) de forma gratuita para ayudar a otros compañeros. Pero debido a que la IA ha sido entrenada con este tipo de contenido, sienten que esta colaboración desinteresada está siendo aprovechada por las empresas para ganar dinero.
Hay una parte que es muy importante y de lo que nos preocupamos mucho. Cuando estás compartiendo contenido en GitHub, a menudo estás poniendo una licencia. Tu fragmento de código puede estar disponible bajo una licencia GPL, por ejemplo. Con Amazon Q Developer fuimos los primeros en hacerlo. Ahora otras plataformas han hecho algo similar. Tenemos algo llamado un rastreador de referencias, que puede detectar cuando un fragmento de código puede ser de una biblioteca que está bajo una licencia en la que el desarrollador no desea que se comparta. Nos aseguramos de marcarlo para que el cliente final pueda optar por no compartir su código. Los desarrolladores, cuando lanzan código, le ponen licencias para compartir o no. Con tecnologías como el rastreador de referencias, estamos tratando de ser muy responsables al asegurarnos de que si un desarrollador quisiera poner una licencia protectora, esta no termine accidentalmente en el corpus de entrenamiento. Creo que con el tiempo, las personas se volverán mucho más responsables en cómo se entrenan estas cosas. Pero creo que el verdadero valor para nuestros clientes va a venir debido a su propio código, de manera que cuando la IA esté dando sugerencias o ayudando a mejorar el código, estarán utilizando su base de código. Esta etapa está aún en una fase muy temprana, pero trabajamos para que los resultados estén adaptados a tu base de código. Creo que eso es aún más importante y relevante, y un desafío.
¿Teme algún tipo de demanda? El New York Times ha demandado a OpenAI por entrenar ChatGPT sin permiso con sus textos…
En el espacio de código, debido a que está licenciado y tu licencia dice lo que puedes hacer, es un poco más difícil que esto suceda. Si vas a GitHub, es muy claro saber lo que el creador original del contenido pretendía. Si lo lanzaron bajo la licencia Apache o la licencia MIT, están de acuerdo con que las cosas sean entrenadas. También hay que considerar que la lógica de tu código depende mucho de los datos que tienes, entre otras cosas. Tienes un lenguaje y una lógica, que es diferente en cada caso. No estás simplemente recreando algo. Tienes que descubrir realmente lo que se necesita hacer. La comunidad ha hecho un buen trabajo de autocorrección, pero tener esta parte de licencias será muy importante para asegurarse de que todo se utiliza legalmente.
En otro orden de cosas, ¿cuál es el riesgo de permitir que la IA generativa tome decisiones, también en el desarrollo de software?
Creo que, al menos en el ámbito de los desarrolladores, y creo que esto se aplica de manera más amplia, lo que nuestros clientes nos piden es: ¿cómo hago para que más código no signifique que sea mejor? o ¿puede haber demasiado código? ¿cómo lo gestiono? Entonces, ¿cómo aseguramos la calidad? Cada vez que damos información, proporcionamos referencias y citas que puedes revisar. ¿Es esto útil? Eso importa. Estamos proporcionando herramientas que te ayudan a monitorear el uso. Todos quieren entender los aumentos de productividad, así que ayudamos a nuestros clientes a entender cómo pueden asegurarse de que la calidad sea buena y cómo encaja en lo que están haciendo.
Nuevamente, creo que esto evolucionarán con el tiempo. Es algo que se vuelve cada vez más difícil cuanto más desorganizado te vuelves en una empresa. Eso supone algunos desafíos. El riesgo siempre está presente, pero creo que en este momento, al menos mientras hablamos con los clientes, ellos sienten que los beneficios son mucho mayores porque están viendo la recompensa y están desarrollando métodos que les ayudan a asegurarse de que lo que obtienen al final es útil. Cuando estás escribiendo software, cada vez que haces un check-in de código, alguien tiene que hacer una revisión de código para asegurarse de que sea útil. Mientras sigas haciendo eso, terminarás en un buen lugar. Por eso lo más importante es asegurarse de que haya buenas estrategias dentro de tu empresa.
Cuando la IA está codificando, ¿también sufre alucinaciones?
Sí.
¿Sí? ¿Cómo puede pasar?
Hay dos o tres cosas que están sucediendo. Uno: la calidad de la inteligencia artificial está mejorando cada seis… cada tres meses. Iba a decir seis meses, pero es mucho más rápido que eso. La calidad de los resultados simplemente mejora. Los modelos son mejores. Los datos de entrenamiento están más limpios. Está aprendiendo técnicas para mejorarlo, con cosas como RAG (técnicas empleadas en IA para mejorar la calidad de las respuestas en contextos específicos). Las citas son muy importantes, porque cuando dices "estoy proporcionando esta información" y aquí están, digamos que estás haciendo una pregunta sobre la documentación de AWS, o algo que quieres hacer en AWS, y luego proporcionamos enlaces que dicen "aquí está la fuente de donde proviene". En Amazon Q Business, cuando le haces una pregunta sobre alguna política de la empresa, te proporcionará los enlaces a las páginas de origen. Así que puedes ir a comprobar que está sucediendo. Así, a través de una combinación de mejores modelos, técnicas que puedes utilizar como RAG que ayudan con la precisión, y luego proporcionando datos de respaldo como citas o una puntuación, no te estás deshaciendo de las alucinaciones pero te estás asegurando de que suceda menos y estás tratando de aumentar la confianza. Esas son algunas de las técnicas que la gente está utilizando. Pero creo que, con el tiempo, los modelos simplemente serán muy buenos, y las técnicas que la gente está utilizando para minimizar las alucinaciones serán aún mejores. No es tan diferente de la relevancia de búsqueda en algunos aspectos, como obtener resultados más relevantes al proporcionar más información. Y creo que solo en el último año, ha habido mucha mejora en proporcionar información más útil.
¿Por qué una empresa debería elegir a Amazon Web Services en lugar de otros proveedores?
Cuando un cliente elige AWS, tanto en general como específicamente para la IA generativa, miran cuánta experiencia tenemos. Llevamos haciendo esto mucho tiempo, lo que significa que tenemos un conjunto muy rico de servicios que hacen muchas cosas. Los clientes están muy cómodos con nuestra postura de seguridad. Tenemos 200 servicios, 33 regiones (incluyendo España)…
En relación a la IA generativa, hay dos o tres razones por las que eligen AWS. Una es que operamos en las tres capas. La infraestructura es muy buena. Bedrock es un gran lugar para cualquiera que quiera construir aplicaciones. Tienes acceso a todos los modelos que desees, todas las herramientas que necesites encima de esos modelos, y también tienes las aplicaciones que se encuentran encima. Si combinas nuestro historial de construir servicios altamente escalables, seguros y confiables, y el hecho de que puedes venir, si quieres construir modelos, puedes usar nuestro servicio, si quieres construir aplicaciones con Gen AI, puedes usar AWS con Gen AI incluido… La otra razón es que muchos clientes tienen datos en AWS. Y los datos son la parte más importante de la IA en muchos casos. El hecho de que tengamos una infraestructura de datos tan sólida hace que puedas construir lagos y bases de datos de datos realmente poderosos en AWS. Es una gran parte del éxito.
¿Cómo está afectando la IA a su trabajo?
Ha sido divertido. Tenía un trabajo diferente. Desde la perspectiva de mi antiguo equipo, solía ejecutar contenedores y aplicaciones sin servidor. Y al igual que todos los demás equipos en AWS ahora, y veo esto con todos nuestros clientes, todos están buscando formas en que la inteligencia artificial pueda ayudarles a moverse más rápido. Algunas de ellas se deben a las herramientas que estamos construyendo en mi nuevo equipo, pero algunas de ellas son simplemente personas inteligentes. Encuentran formas de coger lo que ya tienen y usarlo para influir en GenAI o mejorarlo con GenAI. Una de las ingenieras senior en mi equipo acaba de publicar una biblioteca de muestras de AWS sobre cómo utilizar AWS Step Functions, que es una tecnología sin servidor, y combinarla con Bedrock para construir increíbles aplicaciones de Gen-AI.
¿Echa de menos programar?
No he codificado en mucho tiempo. De hecho, ahora hago más programación porque puedo usar herramientas de inteligencia artificial para ayudarme a codificar, ya que he olvidado cómo escribir código adecuado. Ha sido mucho tiempo sin codificar. De hecho, he escrito más código en el último año que en los cinco años anteriores.
¿Y lo está disfrutando?
Es divertido. Es muy divertido.
✕
Accede a tu cuenta para comentar