No, no estoy hablando de GitHub Co-Pilot u otros asistentes de código de IA. Me refiero a la integración de la IA, como hemos visto con el desarrollo en la nube en los últimos años. A medida que las ofertas de productos de IA se desarrollen e iteren, más desarrolladores tendrán que entender cómo incorporar las innovaciones de IA en las aplicaciones existentes.
Por suerte, este es un escenario para el que puedes prepararte priorizando el desarrollo de las habilidades adecuadas.
Hoy hablaremos de:
- Un marco para la progresión de habilidades del desarrollador
- Cómo convertirse en un desarrollador de IA generativa desde cero
- Lo que todo desarrollador debe saber sobre la integración de la IA en 2024
- Lo que los analistas de datos deben saber sobre la integración de la IA en 2024
¡Vamos allá!
Un marco para el desarrollo de las competencias de los desarrolladores
Como desarrolladores, nuestras habilidades se construyen o "apilan" constantemente unas sobre otras.
Independientemente de las tecnologías específicas que utilices o de las herramientas con las que trabajes, la ingeniería de software se construye sobre la base de la capacidad para resolver problemas. Esta base común va más allá de la resolución de problemas.
Los ingenieros de software de distintas especializaciones utilizan los mismos lenguajes de programación y marcos de trabajo, a veces para alcanzar objetivos finales muy diferentes.
A continuación se muestra una pirámide o "pila" de habilidades de los desarrolladores para ilustrar lo que quiero decir.
Se trata de una representación general del apilamiento de habilidades que se aplica a los desarrolladores de software de todas las disciplinas. Como se puede ver, la comprensión de la IA encaja en el centro de la pirámide, al mismo nivel que el conocimiento de la API y la nube para muchos otros desarrolladores.
La integración de la IA se basa en los mismos prerrequisitos de habilidades comunes que vienen antes. Como resultado, es posible convertirse en un desarrollador de IA generativa desde cero.
En la siguiente sección repasaré brevemente algunas de las habilidades comunes que pueden ayudarte a empezar a crear tus propias aplicaciones de IA y, en última instancia, a prepararte para trabajar en 2024 y más allá.
Cómo convertirse en un desarrollador de Inteligencia Artificial generativa desde cero
Dado que las habilidades de software se construyen unas sobre otras, la mala noticia para los nuevos desarrolladores es que tienen que aprender todo lo básico antes de poder empezar a trabajar en serio con la IA. Sin embargo, con los recursos adecuados y un plan de aprendizaje centrado, es posible adquirir las habilidades y la experiencia necesarias para convertirse en un desarrollador de IA Generativa.
He aquí un rápido vistazo a un posible camino que puedes seguir para pasar de ser un completo novato a un desarrollador de IA hecho y derecho:
- Aprende a programar: Habilidades de resolución de problemas y conceptos básicos de Python.
- Proyectos Python: Experimenta con proyectos sencillos de Python y construye software del mundo real.
- Estructuras de datos y algoritmos: Tu primera experiencia con conceptos avanzados de informática.
- Programación Orientada a Objetos (POO): OOP es un requisito previo para construir aplicaciones modernas y escalables.
- Nube y Diseño API: Aprenda a aprovechar e interactuar eficazmente con los bloques de construcción de computación en la nube.
- Fundamentos de la ciencia de datos: La IA y el aprendizaje automático se basan en gran medida en los fundamentos de la ciencia de datos. (Más información más adelante)
- Aprendizaje automático e IA: Aprender la teoría y los fundamentos de estas tecnologías las hace más digeribles. A continuación, tendrá que obtener la práctica en la práctica.
Aunque esto pueda parecer relativamente sencillo, es importante tener en cuenta que cada uno de estos pasos requerirá una cantidad de tiempo considerable para comprenderlos realmente.
Apresurarse en cualquiera de ellos podría comprometer tu comprensión y, en última instancia, retrasarte. La programación es una actividad que dura toda la vida y requiere aprender cosas nuevas constantemente, incluso para los desarrolladores experimentados.
En resumen, ¡sigue ampliando tu pila de habilidades!
Lo que todo desarrollador debe saber sobre la IA en 2024
Al igual que ocurrió con la revolución del desarrollo en la nube a principios de la década de 2010, hoy nos encontramos en medio de una revolución de la IA. Como resultado, la integración de la IA se está convirtiendo rápidamente en un requisito para muchos desarrolladores. Al igual que el desarrollo en la nube creó un nuevo modelo híbrido para crear aplicaciones web escalables, predigo que veremos un cambio similar en el desarrollo de la IA en un futuro próximo.
Si tu quieres aprender acerca de la inteligencia Artificial enfocada a Chatbots de whatsapp visita nuestros cursos AQUI
¿Qué significa esto en la práctica? Significa que más desarrolladores tendrán que sentirse cómodos creando aplicaciones sobre las herramientas de IA existentes.
Afortunadamente, hay una diferencia entre aprovechar la IA y crear los propios modelos de IA. A menos que trabaje en organizaciones de IA como OpenAI o Anthropic, o en equipos específicos de IA en grandes empresas tecnológicas como Google y Facebook, no necesitará conocer los entresijos de la IA o el aprendizaje automático.
Entonces, ¿qué hay que saber sobre la IA para aprovecharla eficazmente?
Grandes modelos lingüísticos (LLM)
Los grandes modelos lingüísticos son el tipo de modelos de inteligencia artificial que utilizan aplicaciones como ChatGPT y Google Bard. Los LLM en los que se basan estas herramientas son GPT4 y Google Gemini, respectivamente.
Los fundamentos del funcionamiento de los LLM son esenciales para comprender cómo utilizarlos como desarrollador. A fin de cuentas, la IA es un autocompletado glorificado. Por lo tanto, a menudo es importante saber lo que pasa bajo el capó para que pueda personalizarlo a su caso de uso específico.
Algunas preguntas básicas que hay que saber sobre cualquier LLM:
- ¿Cómo se optimiza?
- ¿Con qué datos se entrena?
- ¿Tiene algún caso de uso especializado? ¿Tiene puntos débiles?
- ¿Qué tipo de medidas de privacidad o seguridad existen? ¿Son suficientes?
LangChain
LangChain es un marco para el desarrollo de aplicaciones basadas en LLM. El framework existe en varias partes:
- Bibliotecas Python y JavaScript: Estas librerías contienen la funcionalidad básica del framework.
- Plantillas LangChain: Arquitecturas de referencia para realizar una serie de tareas
- LangServe: Una biblioteca para desplegar LangChains como una API REST
- LangSmith: Una plataforma para monitorizar, depurar y evaluar LangChains u otros marcos LLM.
LangChain representa sólo una herramienta que permite a los desarrolladores integrar LLMs existentes e incluso sistemas Gen AI enteros en aplicaciones personalizadas.
Si eres un desarrollador actual, los pasos anteriores siguen siendo válidos, sólo que puede que estés más avanzado en ciertas áreas.
Dado que muchos desarrolladores tienen los conceptos básicos, voy a profundizar en los conceptos de Ciencia de Datos y Aprendizaje Automático que todos los desarrolladores deben entender.
Conceptos básicos de aprendizaje automático y ciencia de datos
Cuando se trata de Machine Learning aquí hay algunos temas que todos los desarrolladores deben estar familiarizados.
Algoritmos de aprendizaje automático que informan los tres tipos de aprendizaje automático, como se ve a continuación.
- Aprendizaje supervisado: Regresión lineal, regresión logística y árboles de decisión.
- Aprendizaje no supervisado: Agrupación de K-means y agrupación jerárquica.
- Aprendizaje por refuerzo: Exploración eficiente basada en memoria (MEME)
- Redes neuronales y aprendizaje profundo: Los componentes arquitectónicos centrales de las LLM y las capas de procesamiento que se producen en los modelos de IA multifacéticos.
- Evaluación y ajuste de modelos: Los puntos de referencia y las evaluaciones en las que las organizaciones de IA prueban y ajustan sus modelos.
Los conceptos básicos de la ciencia de datos suelen ser más accesibles que los de la IA. Veamos algunos de los conceptos esenciales que hay que conocer.
- Estadística y probabilidad: Conozca los conceptos matemáticos básicos detrás de las pruebas de hipótesis y las distribuciones de datos.
- Visualización de datos: Esté preparado para utilizar o hacer referencia a herramientas y bibliotecas de visualización de datos como Matplotlib, Seaborn y Bokeh.
- Preprocesamiento de datos: Saber limpiar y delimitar los datos antes de analizarlos.
- Álgebra lineal: La mayoría de los desarrolladores que no están construyendo o analizando la IA por sí mismos, no necesitarán muchas matemáticas más allá de su ámbito habitual, pero siempre es una buena idea volver a familiarizarse con conceptos como vectores y matrices.
Ahora que tienes una visión general de los conceptos que necesitarás saber como desarrollador, vamos a cubrir las habilidades que un analista de datos puede necesitar.
Lo que los analistas de datos deben saber sobre la IA en 2024
A un alto nivel, los analistas de datos necesitan comprender con qué datos se entrenan los modelos de IA, sus funciones básicas y cómo entender sus resultados.
En el caso de modelos como GPT-4, esta comprensión a alto nivel puede resultar difícil. Los datos de entrenamiento son tan amplios que se requiere una gran cantidad de investigación para comprender plenamente lo que ocurre entre bastidores.
En el caso de modelos más pequeños y especializados, resulta más fácil comprender su funcionamiento, desde los datos de entrenamiento hasta los resultados.
Una de las mejores formas de que los analistas de datos comprendan los LLM es investigar los resultados que producen. Lleve un registro de las solicitudes y sus resultados y, con el tiempo, trate de predecir el resultado razonable que un LLM devolverá cuando se le solicite.
Si se pretende estandarizar las peticiones, se podrá comprender mejor cómo aprovechar los LLM.
Los analistas de datos deben centrarse en la ingeniería de las instrucciones. Comprender cómo sacar el máximo partido de una Gen AI es crucial a la hora de implementarla tanto en herramientas internas como externas.
A la inversa, los analistas de datos también deben comprender las limitaciones de los LLM y cómo solucionar los puntos débiles de la Gen AI.
En el futuro se dará más prioridad a las prácticas de desarrollo responsable/ético de la IA. Como resultado, tanto los ingenieros que construyen los modelos como los equipos que los aprovechan necesitarán tener un entendimiento común de cómo hacer que la IA generativa sea lo más segura posible.
Para los analistas de datos, esto significa construir una capa sustancial de protección sobre los LLM existentes para que se mantengan dentro de los casos de uso deseados. Las IA actuales son modelos estadísticos masivos bastante fáciles de engañar. Los retos surgen a la hora de conseguir que la IA generativa no divulgue información sensible, o no alucine o asuma cosas que no sabe.
¿Listo para aprender? Por aquí se empieza.
La IA y el aprendizaje automático son los cimientos sobre los que se construirá la próxima generación de aplicaciones de software. Por lo tanto, independientemente de su especialización, la mayoría de los desarrolladores tendrán que entender cómo aprovechar la IA en los próximos meses y años.
Cuanto mejor preparado estés para entender e innovar con estos LLM, mayor impacto puede tener en tu carrera.
Si estás interesado en actualizarte en tu área de función específica para prepararte para el nuevo mundo impulsado por la IA que está por venir.
¡Feliz aprendizaje!