Contáctenos

¿Los grandes modelos de lenguaje acabarán con la programación?

Inteligencia Artificial

¿Los grandes modelos de lenguaje acabarán con la programación?

mm
LLM reemplazando a los programadores humanos

La semana pasada marcó un hito importante para OpenAI, ya que presentaron GPT-4 Turbo en su Día del desarrollo de OpenAIUna característica destacada de GPT-4 Turbo es su ventana de contexto ampliada de 128,000 4 páginas, un avance sustancial respecto a las 8,000 de GPT-16. Esta mejora permite procesar texto 300 veces más que su predecesor, lo que equivale a unas XNUMX páginas de texto.

Este avance se relaciona con otro desarrollo significativo: el impacto potencial en el panorama de las nuevas empresas de SaaS.

ChatGPT Enterprise de OpenAI, con sus funciones avanzadas, supone un reto para muchas startups SaaS. Estas empresas, que hasta ahora ofrecían productos y servicios basados ​​en ChatGPT o sus API, ahora se enfrentan a la competencia de una herramienta con capacidades empresariales. Las ofertas de ChatGPT Enterprise, como la verificación de dominios, el inicio de sesión único (SSO) y la información de uso, se solapan directamente con muchos servicios B2B existentes, lo que podría poner en peligro la supervivencia de estas startups.

En su discurso inaugural, Sam Altman, CEO de OpenAI, reveló otro avance importante: la ampliación del límite de conocimiento de GPT-4 Turbo. A diferencia de GPT-4, que solo contenía información hasta 2021, GPT-4 Turbo se actualiza con información hasta abril de 2023, lo que supone un avance significativo en la relevancia y aplicabilidad de la IA.

ChatGPT Enterprise se destaca por características como seguridad y privacidad mejoradas, acceso de alta velocidad a GPT-4 y ventanas de contexto extendidas para entradas más largas. Sus capacidades avanzadas de análisis de datos, opciones de personalización y eliminación de límites de uso lo convierten en una opción superior a sus predecesores. Su capacidad para procesar entradas y archivos más largos, junto con acceso ilimitado a herramientas avanzadas de análisis de datos como las conocidas anteriormente. Intérprete de código, solidifica aún más su atractivo, especialmente entre empresas que antes dudaban debido a preocupaciones sobre la seguridad de los datos.

La era de la elaboración manual de código está dando paso a sistemas impulsados ​​por IA, entrenados en lugar de programados, lo que significa un cambio fundamental en el desarrollo de software.

Las tareas mundanas de la programación pronto recaerán en la IA, lo que reducirá la necesidad de una profunda experiencia en codificación. Herramientas como Copiloto de GitHub y El escritor fantasma de ReplitLas funciones que asisten en la codificación son indicadores tempranos del creciente papel de la IA en la programación, lo que sugiere un futuro donde la IA se extenderá más allá de la asistencia para gestionar completamente el proceso de programación. Imagine la situación habitual en la que un programador olvida la sintaxis para invertir una lista en un lenguaje específico. En lugar de buscar en foros y artículos en línea, CoPilot ofrece asistencia inmediata, manteniendo al programador enfocado en su objetivo.

Transición del desarrollo basado en código bajo al desarrollo impulsado por IA

Las herramientas de código bajo y sin código simplificaron el proceso de programación, automatizaron la creación de bloques de codificación básicos y liberaron a los desarrolladores para que se centraran en los aspectos creativos de sus proyectos. Pero a medida que nos adentramos en esta nueva ola de IA, el panorama cambia aún más. La simplicidad de las interfaces de usuario y la capacidad de generar código mediante comandos sencillos como "Constrúyeme un sitio web para hacer X" está revolucionando el proceso.

La influencia de la IA en la programación ya es enorme. De forma similar a cómo los primeros científicos informáticos pasaron de centrarse en la ingeniería eléctrica a conceptos más abstractos, los futuros programadores podrían considerar obsoleta la codificación detallada. Los rápidos avances en IA no se limitan a la generación de texto/código. En áreas como la generación de imágenes, el modelo de difusión... Pista ML, DALL-E3, muestra mejoras masivas. Simplemente vea el tweet a continuación de Runway que muestra su última característica.

Más allá de la programación, el impacto de la IA en las industrias creativas será igualmente transformador. Jeff Katzenberg, un gigante de la industria cinematográfica y expresidente de Walt Disney Studios, ha predicho que la IA reducirá significativamente el costo de producción de películas de animación. Según un artículo reciente de informe de Bloomberg Katzenberg prevé una drástica reducción de costes del 90%. Esto puede incluir la automatización de tareas que requieren mucha mano de obra, como los intermedios en la animación tradicional, la renderización de escenas e incluso ayudar con procesos creativos como el diseño de personajes y los guiones gráficos.

La rentabilidad de la IA en la codificación

Análisis de costos de contratar un ingeniero de software:

  1. Compensación total: El salario promedio de un ingeniero de software, incluidos beneficios adicionales, en centros tecnológicos como Silicon Valley o Seattle es de aproximadamente $ 312,000 por año.

Análisis de costos diarios:

  1. Días laborables por año: Teniendo en cuenta que hay aproximadamente 260 días laborales en un año, el costo diario de contratar a un ingeniero de software es de alrededor de $1,200.
  2. Salida de código: Suponiendo una estimación generosa de 100 líneas de código finalizadas, probadas, revisadas y aprobadas por día, esta producción diaria es la base de comparación.

Análisis de costos del uso de GPT-3 para la generación de código:

  1. Costo del token: El costo de usar GPT-3, en el momento del video, era de aproximadamente $0.02 por cada 1,000 tokens.
  2. Fichas por línea de código: En promedio, se puede estimar que una línea de código contiene alrededor de 10 tokens.
  3. Costo de 100 líneas de código: Por lo tanto, el coste de generar 100 líneas de código (o 1,000 tokens) utilizando GPT-3 sería de alrededor de 0.12 dólares.

Análisis comparativo:

  • Costo por línea de código (humano versus IA): Comparando los costos, generar 100 líneas de código por día cuesta $1,200 cuando lo hace un ingeniero de software humano, en comparación con solo $0.12 usando GPT-3.
  • Factor de costo: Esto representa una diferencia de factor de coste de aproximadamente 10,000 veces, siendo la IA sustancialmente más barata.

Este análisis apunta al potencial económico de la IA en el campo de la programación. El bajo costo del código generado por IA en comparación con el alto gasto de los desarrolladores humanos sugiere un futuro en el que la IA podría convertirse en el método preferido para la generación de código, especialmente para tareas estándar o repetitivas. Este cambio podría generar importantes ahorros de costos para las empresas y una reevaluación del papel de los programadores humanos, enfocando potencialmente sus habilidades en tareas más complejas, creativas o de supervisión que la IA aún no puede manejar.

La versatilidad de ChatGPT se extiende a diversos contextos de programación, incluyendo interacciones complejas con frameworks de desarrollo web. Imaginemos un escenario en el que un desarrollador trabaja con React, una popular biblioteca de JavaScript para crear interfaces de usuario. Tradicionalmente, esta tarea implicaba profundizar en documentación extensa y ejemplos proporcionados por la comunidad, especialmente al trabajar con componentes complejos o la gestión de estados.

Con ChatGPT, este proceso se simplifica. El desarrollador puede simplemente describir la funcionalidad que pretende implementar en React, y ChatGPT proporciona fragmentos de código relevantes y listos para usar. Esto podría variar desde configurar una estructura de componentes básica hasta funciones más avanzadas como administrar el estado con enlaces o integrarse con API externas. Al reducir el tiempo dedicado a la investigación y la prueba y error, ChatGPT mejora la eficiencia y acelera el desarrollo de proyectos en contextos de desarrollo web.

Desafíos en la programación impulsada por IA

A medida que la IA continúa transformando el panorama de la programación, es fundamental reconocer las limitaciones y los desafíos que conlleva depender exclusivamente de ella para las tareas de programación. Estos desafíos subrayan la necesidad de un enfoque equilibrado que aproveche las fortalezas de la IA y reconozca sus limitaciones.

  1. Calidad y mantenibilidad del código: El código generado por IA a veces puede ser detallado o ineficiente, lo que puede generar desafíos de mantenimiento. Si bien la IA puede escribir código funcional, garantizar que este código cumpla con las mejores prácticas de legibilidad, eficiencia y mantenibilidad sigue siendo una tarea impulsada por humanos.
  2. Depuración y manejo de erroresLos sistemas de IA pueden generar código rápidamente, pero no siempre son excelentes para depurar o comprender errores sutiles en el código existente. Las sutilezas de la depuración, especialmente en sistemas grandes y complejos, a menudo requieren la comprensión y la experiencia de un ser humano.
  3. Confianza en los datos de entrenamiento: La eficacia de la IA en la programación depende en gran medida de la calidad y amplitud de sus datos de entrenamiento. Si los datos de entrenamiento carecen de ejemplos de ciertos errores, patrones o escenarios, la capacidad de la IA para manejar estas situaciones se ve comprometida.
  4. Preocupaciones éticas y de seguridad: Dado que la IA asume un papel más destacado en la codificación, surgen preocupaciones éticas y de seguridad, especialmente en torno a la privacidad de los datos y la posibilidad de sesgos en el código generado por la IA. Garantizar un uso ético y abordar estos sesgos es crucial para el desarrollo responsable de herramientas de programación impulsadas por la IA.

Equilibrando la IA y las habilidades de programación tradicionales

En futuros equipos de desarrollo de software tal vez surja un modelo híbrido. Los gerentes de producto podrían traducir los requisitos en directivas para los generadores de códigos de IA. La supervisión humana podría seguir siendo necesaria para garantizar la calidad, pero el enfoque pasaría de escribir y mantener código a verificar y ajustar los resultados generados por IA. Este cambio sugiere un énfasis cada vez menor en los principios de codificación tradicionales, como la modularidad y la abstracción, ya que el código generado por IA no necesita cumplir con estándares de mantenimiento centrados en el ser humano.

En esta nueva era, el rol de los ingenieros y científicos informáticos se transformará significativamente. Interactuarán con LLM, proporcionando datos de entrenamiento y ejemplos para completar tareas, cambiando el enfoque de la programación compleja al trabajo estratégico con modelos de IA.

La unidad de computación básica pasará de los procesadores tradicionales a modelos LLM masivos y previamente entrenados, lo que marcará un cambio de procesos estáticos y predecibles a agentes de IA dinámicos y adaptables.

El objetivo es pasar de crear y comprender programas a guiar modelos de IA, redefinir los roles de los científicos e ingenieros informáticos y remodelar nuestra interacción con la tecnología.

La necesidad constante de conocimiento humano en el código generado por IA

El futuro de la programación se trata menos de codificar y más de dirigir la inteligencia que impulsará nuestro mundo tecnológico.

La creencia de que el procesamiento del lenguaje natural por parte de la IA puede reemplazar completamente la precisión y complejidad de las notaciones matemáticas formales y la programación tradicional es, en el mejor de los casos, prematura. El cambio hacia la IA en la programación no elimina la necesidad del rigor y la precisión que sólo la programación formal y las habilidades matemáticas pueden proporcionar.

Además, el desafío de probar código generado por IA para problemas sin solución previa sigue siendo considerable. Técnicas como las pruebas basadas en propiedades requieren un profundo conocimiento de la programación, habilidades que la IA, en su estado actual, no puede replicar ni reemplazar.

En resumen, si bien la IA promete automatizar muchos aspectos de la programación, el elemento humano sigue siendo crucial, particularmente en áreas que requieren creatividad, resolución de problemas complejos y supervisión ética.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.