5 consejos para sobrevivir a la revolución tecnológica de los grandes modelos de lenguaje (LLMs)
La IA esto, la IA aquello, de repente sale el nuevo GPT-4, modelos multimodal, nuevo Copilot X, que si plugins para chatGPT que si nuevo Stable Diffusion… Los avances tecnológicos no dejan de impresionarnos mientras algunos claman que la inteligencia artificial es una amenaza inminente para muchos puestos de trabajo y otros dicen que todo es una exageración…
En este artículo ponemos los puntos sobre las íes, analizando la situación actual del mercado tecnológico con respecto a la inteligencia artificial. Hablaremos del peligro que puede suponer para la estabilidad laboral de un desarrollador estándar y estrategias a llevar a cabo para maximizar el crecimiento.
Table of Contents
- 5 consejos para sobrevivir a la revolución tecnológica de los grandes modelos de lenguaje (LLMs)
- 1: Conviértete en un experto del cambio
- 2: Que todo el mundo se entere de tu conocimiento sobre IAs
- 3: Ahorra e invierte en side-projects que se relacionen con otras áreas
- 4: Desarrolla habilidades de liderazgo y habilidades blandas
- 5: Abandona (o ignora) el miedo
En el paper de OpenAI GPTs are GPTs: An Early Look at the Labor Market Impact Potential of Large Language Models OpenAI muestra cómo las profesiones que requieren mayor tiempo de formación son las más impactadas por la aparición y mejora de LLMs (Large Language Models).
GPT-4 es sorprendentemente bueno en tareas cognitivas. Donde anteriormente GPT-3.5 lograba resultados similares al 10% con peores calificaciones humanas, GPT-4 logra estar entre el 10% superior. Esto supone que GPT-4 con el input apropiado es capaz de realizar razonamientos y resolver problemas más complejos y en más ámbitos.
Ha llegado un punto en el que obtener una AGI prototipo (inteligencia artificial general, comparable a las capacidades humanas) ha dejado de ser un hito tecnológico inalcanzable y se ha convertido en el punto de mira de muchos investigadores.
Y esto es normal, ya no se necesitan modelos excesivamente más capaces en tareas cognitivas, sino modelos con capacidad de procesar mayor contexto y la capacidad de interactuar con otros sistemas más allá del lenguaje natural. Recientemente hemos podido apreciar el potencial de estas características con la capacidad multimodal de Flamingo/GPT-4 o los plugins de ChatGPT.
Entonces, ¿me va a reemplazar una IA o simplemente va a cambiar la forma de trabajar? Antes de nada, ten en cuenta de que estamos ante una curva de progreso tecnológico exponencial ante la cual es realmente difícil hacer predicciones exactas. Por lo que este artículo es altamente subjetivo y en él se expresa mi punto de vista. Aclarado esto, en mi opinión la capacidad de sustitución del humano en gran parte de los empleos de desarrollo de software como tal llegará en el largo plazo.
Desgranemos el asunto más en detalle: ¿Qué necesitamos que ocurra para que esto pase?
- Un sistema operativo (y herramientas de desarrollo, despliegue, documentación…) totalmente operable por una inteligencia artificial. (bien nos podría servir una IA que realice acciones de terminal)
- Una arquitectura de gestión de tareas que utilice como “núcleos de procesamiento de tareas” llamadas a LLMs capaz de recibir input multimodal (texto, imágenes, audio, y/o otros formatos).
- LLMs capaces de procesar un alto volumen de contexto y realizar procesos cognitivos de alta complejidad. Considerando no sólo aspectos técnicos sino también necesidades de negocio, diseño de experiencia de usuario y marketing.
- Pasar por todas las etapas de desarrollo y prueba de producto. ¿Recuerdas cuando se enunció Bing Chat? Fue el 22 de Febrero y todavía sigue en fase preview sin estar accesible al público. Por mucho que lleguemos a un punto en el que estemos técnicamente listos para tener un AGI dada la sensibilidad y orden de complejidad necesaria para que este se despliegue e integre de manera global podemos estar seguros que pasará un buen tiempo antes de que llegue el momento de reemplazo total.
Si tienes curiosidad por el estado del arte de algunos proyectos que tratan de crear una AGI primigenia (o conceptos similares), actualmente hay varios repositorios públicos con diferentes enfoques. Varios de ellos están en los primeros puestos de tendencia de GitHub.
BabyAGI es un enfoque basado en generación y gestión tareas dado un propósito. Su creador, Yohei, explica en este hilo de twitter su arquitectura y muestra una demo.
Auto-GPT se enfoca en desarrollar y gestionar negocios de forma autónoma usando GPT-4.
JARVIS es un proyecto de Microsoft que trata de hacer que el lenguaje sea la interfaz con la que interactuamos con los ordenadores. Sí, ¡Se llama Jarvis por Iron-Man!
Engshell es una aplicación basada en LLMs y que te permite interactuar con tu shell utilizando lenguaje natural.
Como developers, sin duda, es imprescindible estar el día de lo que se viene con Github Copilot X.
Si te empapas del estado del arte seguramente concuerdes en que el remplazo total todavía está lejos en el tiempo. Por ende, la conclusión es clara: Si debe ser una preocupación a largo plazo por la que sí debes empezar a tomar decisiones estratégicas. Pero no se trata de un riesgo inminente. El riesgo real es el cambio que se viene… Porque lo que ya está ocurriendo es el aumento de la productividad que proporcionan estas herramientas.
No se trata solo de pensar el punto en el que las IAs puedan reemplazarnos (que llegará), sino en cómo los siguientes factores afectarán a la industria:
- Un aumento significativo de productividad –> Necesitar menos desarrolladores para un mismo producto. –> Cambio en la demanda y oferta del mercado –> Cambio en el promedio de los salarios.
- Un cambio significativo en la manera de desarrollar –> Cambio de demanda en las habilidades de los trabajadores.
Lo cierto es que la evolución de la tecnología en este tiempo es del todo impredecible. No sabemos cuánto tiempo tomará cada paso, pero hasta ahora la tendencia ha sido que todo ocurra mucho antes de lo esperado. Es hora de actuar y buscar la mejor estrategia y aprovechar todo este cambio para crecer.
El momento que estamos viviendo nos ofrece grandes oportunidades. Por ello, en este artículo te sugiero 5 consejos para poder adaptarte al cambio de la mejor manera posible.
1: Conviértete en un experto del cambio
En lugar de competir con la inteligencia artificial, busca oportunidades para colaborar y complementar las habilidades de ambos. Aprovecha las fortalezas de la IA para mejorar tu trabajo y aumentar la eficiencia.
La industria de la tecnología siempre ha sido la industria del cambio. Constantemente vemos cambios en los lenguajes y patrones de diseño. Aquellos apasionados de la tecnología nunca hemos dejado de aprender y trastear cosas nuevas, pero existe un sector muy grande de trabajadores para quienes supone un cambio muy abrupto en su vida. Si formas parte de ese colectivo que lleva años sin moverse de stack tecnológico y tipo de producto, todo esto probablemente te asuste más.
Míralo de la siguiente forma: Estamos ante el inicio de una revolución tecnológica de la magnitud de la invención Internet. Es abrumador estar al día de todas las herramientas que están saliendo al mercado. ¡No paran de salir cosas! Un ejemplo que me gusta es un ejercicio mental que pongo en muchas reuniones cuando intento fomentar el uso de inteligencia artificial: Lista mentalmente herramientas como el almacenamiento en la nube, edición de documentos colaborativa en tiempo real, hojas de cálculo, editores de imagen y vídeo… Bien, ahora imagina que viajas al pasado, en la época en la que todas estas herramientas no existían y todas ellas son publicadas en sus versiones primigenias en un espacio de tiempo de 2 años.
¿Es todo un reto aprender todas las herramientas de golpe? Sí. ¿Crearán esas herramientas una cantidad abismal de nuevos puestos de trabajo difíciles de imaginar desde el desconocimiento de dichas herramientas? ¡Por supuesto! ¿Eliminarán esas herramientas puestos de trabajo que ahora son automatizados? Desde luego. Y lo más importante, ¿Qué pasará con aquellas personas que sepan utilizar mejor todas estas herramientas? Exacto, tendrán un crecimiento profesional muy grande.
Probablemente te preguntes… ¿Pero qué hay que aprender? Si la idea precisamente es que se le piden cosas a la IA y la IA las hace… Bueno, si este es tu pensamiento mi recomendación es que pases unas horas probando diferentes herramientas que utilicen LLMs e intentes pensar en formas de mejorar la productividad en tu empresa.
Empezando por un ejemplo sencillo; aprender a hacer buenos prompt. La mayoría de personas usan frases cortas que no son óptimas para obtener una respuesta precisa respecto a nuestras necesidades. Dialogar con fluidez con estas herramientas, si bien no es tan complicado como aprender a programar por primera vez o estudiar matemáticas o arquitectura de software, requiere algo de práctica.
Te pondré algunos ejemplos muy típicos:
- Si tu LLM no logra resolver una tarea cognitiva, es mucho más probable que la resuelva si le pides que explique todo paso a paso de manera detallada. Esto se debe a que este tipo de modelos escriben infiriendo la probabilidad del próximo token (“letra”) de una cadena de texto. Si el propio modelo va explicando un proceso deductivo, cada cosa nueva que escriba deberá ser congruente con lo previamente escrito. Por ello, pedir un razonamiento resulta más preciso que pedir que escupa un resultado final.
- Tener diferentes colecciones de correos o ejemplos de estilo de escritura para automatizar escrituras futuras. Es muy común pedirle que escriba algo directamente pero si no se la especifica de manera correcta cómo debe escribirlo nuestro amigo chatGPT se expresa de una manera demasiado formal.
- Añadir una instrucción de brevedad con nuevos modelos lentos. Cuando se lanzó GPT-4, el nuevo modelo iba muy lento. Razón por la que en ocasiones era un poco tedioso esperar a que escribiera frases como “¡Sí! He entendido las instrucciones que acabas de darme y las ejecutaré al pie de la letra”. Por ejemplo, cuando le pasas una colección de mails para que analice tu estilo de escritura y pueda usarlo. Algo que ayuda es decirle al final de tu prompt inicial “Para confirmar responde únicamente con la letra ‘k’ y nada más. Es importante que no respondas con nada más que la letra ‘k'”. De este modo te ahorras tiempo de espera y es instantáneo poder escribir más cosas.
- Cuando se quiere aprender algo complejo, pedir que lo explique como si se lo explicase a un niño de 11 años.
Hay muchos prompts que optimizan el contexto de la conversación con un LLM para tareas concretas. Si quieres aprender más al respecto, te recomiendo que revises esta guía de prompt engineering. También te dejo un hilo de hilos que recopila un montón de prompts útiles mediante este enlace.
¡Pero los prompt no lo son todo! Puedes innovar y plantear nuevas soluciones a muchas tareas. A continuación pondré un ejemplo con una anécdota…
El día que empecé a hacer mis propios plugins para chatGPT
Inyectar código en una página web es muy fácil. Hay muchas formas de hacer que cuando entramos a un sitio web desde nuestro navegador cierto código modifique lo que vemos en pantalla. Desde hace tiempo, me he creado algunas herramientas para agilizar mi interacción con la inteligencia artificial.
Una de ellas es un selector de prompts. A partir de un JSON tengo un menú donde puedo elegir un prompt y al seleccionarlo automáticamente se envía a chatGPT y le obliga a responder solamente con un carácter. Lo cual hace que mi chat esté listo para crear contenido ajustado a mi estilo en cuestión de un segundo (o menos).
En el siguiente ejemplo puedes observar el funcionamiento en el que utilizo un prompt para que chatGPT no me envíe un montón explicaciones innecesarias sobre el código que está haciendo. Recuerda que esto va en contra del truco de “explica paso a paso” que hemos comentado antes, pero para peticiones sencillas es más cómodo.https://drive.google.com/file/d/1FeHr_NFQZVlNV7lAzPAd2milbV7Ev2T8/view?usp=sharing
Otra de las herramientas que he desarrollado automatiza una tarea que no me gustaba mucho de mi trabajo. Digamos que de vez en cuando me piden que investigue los logs de un aplicativo para averiguar qué ha ocurrido con una tarea que no ha ido como se esperaba. El caso es que siempre son casos muy sencillos de informar y me quita tiempo de tareas de desarrollo más importantes. Para agilizar el proceso, hice lo siguiente:
- Generé un prompt con las respuestas previas que había dado a estos tickets que permitiera que el chat dada una traza fuera capaz de explicar lo ocurrido o identificar casos en los que sí fuera necesaria mi supervisión.
- Luego, puse a prueba con casos nunca vistos la capacidad del prompt de funcionar.
- Hice un script inyectado en GPT-4 capaz de cargar los logs y filtrar las líneas relevantes en función de un identificador o dato presente en los logs. Solamente con un dato único, busca todos los logs con el mismo identificador de traza.
- El mismo Script se encarga de sustituir datos confidenciales por tokens mediante expresiones regulares para no enviar información confidencial a OpenAI. Luego, en lugar de esos mismos tokens son mostrados los datos reales.
Gracias a eso, ahora solamente tengo que encargarme de seleccionar los logs en los que mirar y preguntarle “¿Oye, qué ha pasado con la referencia ‘123412’?”
Como ves, las posibilidades son infinitas. Incluso si en tu empresa los datos no están estructurados como para poder llevar a cabo iniciativas de gran calibre, ¡Mejorar la forma en la que los datos están estructurados puede formar parte de tu iniciativa! También hay muchas preguntas por responder y es hora de analizar cómo fluye la información en nuestras corporaciones, estructurar datos y plantear formas de automatizar tareas. Es hora de redefinir los criterios de contratación y las skills que debemos aprender.
Ahora es el momento de convertirse en el mayor experto que puedas en el uso de inteligencia artificial incluso en las áreas que no son del dominio de tu trabajo.
La industria tecnológica está en constante evolución, y la adaptabilidad es clave para el éxito. Mantente informado sobre las últimas herramientas y tecnologías, y practica habilidades como la creación de prompts efectivos para interactuar con modelos de lenguaje. Cuanto más familiarizado estés con estas herramientas, mejor podrás aprovecharlas en tu trabajo.
2: Que todo el mundo se entere de tu conocimiento sobre IAs
Tu estrategia debe ir acorde con la estructura social de tu empresa. Elige sabiamente a quién presentas tus propuestas para transversalizar o mutar tu rol y formar parte del cambio. Establece tu reputación como alguien que está al día y puede servir como recurso valioso para otros en la era de la inteligencia artificial.
Comparte tus conocimientos y enseña a los demás, intenta que tus funciones principales en la empresa no dependan excesivamente de tu implicación en ellas para viabilizar tu crecimiento. Un pensamiento erróneo es intentar “ser lo más necesario posible” para llevar a cabo una tarea. Pero con el tiempo eso se convierte en un bloqueador del crecimiento que estanca. Tu papel debe ser de facilitador, no de acaparador. Es muy importante también que compartas en redes sociales y con tus supervisores todo lo que vas haciendo. Dicho claro: el coste de destinarte a ti como recurso para los proyectos de adaptación debe ser inferior al beneficio.
¿Entiendes la idea? Ante una nueva forma de hacer las cosas, se trata de construir portfolio alrededor de las nuevas habilidades necesarias para el futuro. Esto te ayudará a mantener tu valor en el mercado laboral y en tu propia organización.
Pero sobre todo, no presentes propuestas vacías. Desarrolla pequeños prototipos como el ejemplo de los logs que te comentaba y muéstraselo a tu manager mientras le explicas tu visión. Todo el mundo sabe que esto esta sobre la mesa y si quieres formar parte del cambio debes mostrar algo que acredite tu capacidad para formar parte del cambio.
3: Ahorra e invierte en side-projects que se relacionen con otras áreas
Este consejo no quiere decir “cambia de trabajo para esquivar el problema”. No, el punto es que cada persona tiene sus facturas y la seguridad económica es vital para poder tomar decisiones arriesgadas o vivir con mayor tranquilidad una reestructuración de la demanda de habilidades como la que estamos viviendo. Además, financieramente hablando yo no tengo autoridad para decir si es mejor ahorrar o invertir porque no es mi área. El punto es que si al igual que muchos todo este cambio te hace sentir inseguridad, tener capital para sustentarse un tiempo en búsqueda de empleo puede darte más tranquilidad. Pero esto es una decisión muy personal y las circunstancias económicas de cada persona son muy diferentes. Si ahorrar encaja con la manera en la que te sientes y con tus posibilidades para hacerlo, elige una cantidad de tiempo que quieras poder subsistir sin fuentes de ingresos, calcula la cantidad necesaria para ello y ahorra hasta esa cantidad.
Como hemos comentado, son tiempos de incertidumbre. Si bien la Inteligencia Artificial todavía no está lista para sustituirnos la transformación de la industria digital es evidente. Si aplicando todos los consejos no ves claro que vayas a tener asegurada la estabilidad laboral, para hacerlos necesitas realizar un salto de compañía demasiado arriesgado para ti o simplemente quieres anticiparte a nuevos avances tecnológicos, no es mala idea plantearse alternativas de subsistencia. Diversifica tus habilidades e ingresos participando en proyectos paralelos relacionados con diferentes áreas. Esto te permitirá mantener una sensación de seguridad y estar preparado para adaptarte a diferentes oportunidades laborales. Pero ten siempre algo presente: no tienes por qué huir de tu industria.
Huir a otra industria es una forma de rechazar el cambio en lugar de adaptarse. No se trata de abandonar la profesión, sino de ampliar nuestros recursos. Solamente si nos es posible, estar atento a las oportunidades y generar ingresos alternativos o desarrollar habilidades distintas a las de nuestro trabajo es algo que nos dará mayor sensación de seguridad.
4: Desarrolla habilidades de liderazgo y habilidades blandas
Otra conclusión importante de este artículo es entender hacia dónde se dirige la demanda de la inteligencia artificial. Es importante entender que aprender sobre IA no implica necesariamente comprender todas las matemáticas y mecanismos al detalle como los explico en mi serie de artículos. Lo importante es saber usar los productos de IA como componente de la ingeniería que sí trabajamos. La demanda de personas que construyen inteligencia artificial es mucho más baja que la de personas que sepan adquirirla en su profesión.
A continuación te detallo una lista de tecnologías a las que deberías de echar un vistazo (y también a las herramientas potenciadas con esas tecnologías). No están ordenados por relevancia.
- Github Copilot X
- ChatGPT con GPT-4 y plugins. El modo multimodal
- Stable Diffusion XL (SDXL)
- Midjourney v5
- Microsoft Copilot
- LlaMa
- Wonder Dynamics
- Otras tecnologías de generación de imágenes como Dreambooth, ControlNet o DALL·E 2
- SAM – Segment Anything Model
- Wishper (especialmente wishper.cpp)
5: Abandona (o ignora) el miedo
El primer paso es aceptar que uno debe estar al día con la IA. Existe un término llamado “procrastinación por evitación” que describe cuando las personas procrastinamos una tarea cuando nos da miedo. Seguro que sabes de lo que hablo. A muchos les pasa al tratar de responder ese mensaje tan incómodo, pedir un aumento de sueldo, mirar la aplicación del banco…
Incluso en algunos casos podemos experimentar rechazo y negación a la realidad (conocido como “sesgo de aversión al miedo”). En dicho caso, podemos encontrarnos negando la realidad por más innegable que sea y defendiendo a capa y espada nuestra propia verdad. El primer paso que debes tomar antes de seguir leyendo este artículo es intentar reconocer si lo que estás leyendo te produce dolor emocional. Y en ese caso, intentar ser consciente en todo momento de ello y evitar que eso afecte a tu criterio o provoque que procrastines todos los consejos que encontrarás en este artículo.
Siguiendo estos consejos, podrás adaptarte a la revolución tecnológica de los modelos de lenguaje y prosperar en un mercado laboral en constante evolución.