Introducción
Como el tema de la inteligencia artificial es algo muy llamativo actualmente, es probable que a muchos de ustedes les haya llamado la atención este campo y ahora quieran aprenderlo para crear aplicaciones o especializarse en esta área. O quizás ya son programadores y quieren mejorar profesionalmente.
Así que, en este video, les daré una idea de cómo pueden iniciar en este campo de una forma que sea mucho más cómoda, práctica y que puedan aprender de una manera progresiva.
Para esto, les he creado una guía de temas a aprender, también llamada Roadmap. Esta guía está más enfocada en un profesional que, conforme pasa el tiempo, va mejorando.
Por lo tanto, está pensada para cualquier persona que quiera empezar desde cero con el objetivo de ser un profesional en Machine Learning.
Consideraciones
Ahora, antes de empezar, primero unas consideraciones:
- Muchos de los recursos que voy a compartir están en inglés. He hecho un esfuerzo en buscar contenido en español, pero no todos están traducidos. Aun así, con ChatGPT pueden ayudarse a traducir los recursos que les voy a dar.
- Esta ruta toma tiempo, así que no es algo como "aprende IA en una semana" o algo así. De hecho, algunos de los temas aún los sigo estudiando al día de hoy personalmente. Y si bien algunos son fáciles, otros realmente toman más tiempo de lo que puedan suponer.
- A diferencia de otros roadmap que son solo teóricos y que podrían decirte "primero aprende programación, luego matemática y estadística", aquí te doy una ruta un poco más enfocada a alguien que va aprendiendo de a pocos. Así que el saber cuánto tiempo te va a tomar esto varía mucho de la habilidad de cada persona. No desesperen y tomen con calma sus estudios. diendo de a pocos. asi que el saber cuanto tiempo te va a tomar esto varia mucho de la habilidad de cada persona. Asi que no desesperen y tomen con calma sus estudios.
¿Por qué aprender IA?
El tema de la inteligencia artificial ha estado presente desde 1950, pero no es hasta alrededor del 2022, con la popularidad de GPT, cuando las IAs empezaron a popularizarse mucho más, a tal punto que se han creado muchos usos prácticos y ya es un tema muy popular. La demanda por crear aplicaciones y nuevas características inteligentes está en auge.
En particular, el área de IA generativa, que es un subcampo de Deep Learning, donde ChatGPT es su máximo ejemplo:
Y ya que su uso se ha extendido, la demanda por desarrolladores de este tipo de aplicaciones y todo lo que conlleva llevar un modelo de IA a la realidad se ha vuelto más requerida.
Por lo tanto, esta demanda de profesionales solo irá aumentando con el tiempo, además de que aún tiene muchos retos por superar y hay mucho espacio para nuevos profesionales.
Una Ruta Práctica
Como el machine learning puede ser un área complicada, en vez de decirte primero aprende un tema como matemáticas y estadística y luego programación y así, he decidido tomar otro enfoque aquí, y es el de ir subiendo el grado de dificultad conforme pase el tiempo. Esto es debido a que las áreas que conlleva aprender machine learning no son fáciles y puede ser aburrido para muchos estudiarlas de forma típica.
Así que mi idea para poder convertirte en un profesional en IA es pasar por niveles:
Es decir, en lugar de empezar directamente a aprender deep learning, ve con calma y anda familiarizándote de a pocos.
Estos son los niveles:
- Nivel de usuario
- Nivel programador
- Nivel data science y machine learning
- Machine learning expert
Para lograr esto, la idea es muy simple de entender, aunque no fácil:
- Lo primero es familiarizarse con herramientas y servicios de IA a nivel de usuario.
- Luego, lo siguiente sería convertirse en un desarrollador de software, conocer un lenguaje de programación y empezar a crear aplicaciones de IA superficialmente.
- Estudiar temas en particular de ciencia de datos, machine learning, deep learning y, sobre todo, matemáticas. Crear proyectos netamente de IA.
- Expert ML Engineer: profesional que entiende las áreas de IA a un nivel más profundo, y esto ya no está como poner en práctica estudios nuevos de IA.
Esto como resultado dará un AI Engineer, o ML Engineer, que en la práctica es, de forma resumida, la combinación de un data scientist y un desarrollador de software.
Y lo que también significa es que IA requiere que trabajes mucho con programación, matemáticas y estadística, por lo que no es un campo fácil de dominar.
Pero veamos en detalle cada uno de estos niveles.
Nivel Usuario - Familiarizarse con el ecosistema AI
Lo primero y más obvio es familiarizarse con el ecosistema de IA a nivel de usuario, es decir, usar e investigar al inicio servicios y herramientas que usan IA, además de ir conociendo conceptos genéricos como:
Cómo funcionan los modelos de lenguaje grande o LLM.
Cómo usar modelos inteligentes adicionales a GPT como PaLM o Claude, que también son chats que se pueden usar a nivel de usuario a través de Google Gemini o la web de Anthropic.
Cómo usar modelos para generar imágenes, videos, audio, texto a voz y demás en tu día a día.
Empezar a conocer más de cómo funciona el machine learning (de forma muy superficial, solo tener una idea básica).
Aprender términos básicos relacionados a IA:
- Tokens: En el contexto de procesamiento del lenguaje natural (NLP), un token es una unidad de texto, como una palabra o un símbolo. Los modelos de lenguaje dividen el texto en tokens para procesarlo y generar respuestas.
- Parámetros: Son los valores ajustables que los modelos de IA aprenden durante el entrenamiento. Determinan cómo el modelo procesa y genera información. Cuantos más parámetros tenga un modelo, más complejo y potencialmente más preciso puede ser.
- Temperatura: Es un parámetro en los modelos de generación de texto que controla la aleatoriedad de las respuestas. Una temperatura baja genera respuestas más conservadoras y repetitivas, mientras que una alta produce respuestas más creativas y variadas.
- Entrenamiento: El proceso mediante el cual un modelo de IA aprende a realizar una tarea. Se utiliza un conjunto de datos para ajustar los parámetros del modelo y mejorar su precisión.
- Inferencia: Es el proceso de utilizar un modelo de IA entrenado para hacer predicciones o generar resultados basados en nuevos datos.
- Red Neuronal: Es un tipo de modelo de IA inspirado en el cerebro humano, compuesto por capas de nodos (o neuronas) que procesan datos de entrada para generar una salida.
- Algoritmo: Un conjunto de reglas o instrucciones que sigue un modelo de IA para realizar una tarea específica.
- Dataset: Un conjunto de datos utilizado para entrenar o evaluar un modelo de IA. Puede contener textos, imágenes, sonidos, etc.
- Overfitting (Sobreajuste): Ocurre cuando un modelo de IA se ajusta demasiado a los datos de entrenamiento, lo que resulta en un mal desempeño en datos nuevos o no vistos.
- Underfitting (Subajuste): Ocurre cuando un modelo de IA no captura bien las relaciones en los datos de entrenamiento, resultando en un desempeño pobre tanto en datos de entrenamiento como en datos nuevos.
- Regularización: Técnicas utilizadas para prevenir el sobreajuste de un modelo. Ayudan a mejorar la capacidad del modelo para generalizar a datos nuevos.
- Gradiente Descendente: Un algoritmo de optimización utilizado para ajustar los parámetros del modelo y minimizar el error durante el entrenamiento.
- Epoch (Época): Una pasada completa a través de todo el conjunto de datos de entrenamiento. El entrenamiento de modelos de IA generalmente implica múltiples épocas.
- Bias (Sesgo): Una tendencia sistemática en un modelo que puede llevar a errores. Puede ser causada por datos de entrenamiento no representativos o por errores en el diseño del modelo.
- Latencia: El tiempo que tarda un modelo de IA en procesar una entrada y generar una salida. Es una medida importante de la eficiencia del modelo.
Instalar LLMs localmente. Actualmente, puedes instalar programas como Ollama o Chat RTX para poder probar modelos inteligentes. Aunque para esto necesitas tener una tarjeta gráfica y mucho espacio en disco y memoria RAM si quieres ejecutar fluidamente estos modelos.
Esto es básico, y sin la necesidad de tener que ser un usuario técnico, cualquiera puede aprenderlo. Todo esto es necesario porque cuando salga un nuevo servicio o producto, al menos debes tener una idea de cómo funciona o ver cómo lo que estás estudiando se está aplicando a la realidad. Es decir, es importante el contexto, y te ayuda a familiarizarte más en este campo y te ayudará a saber cómo está continuamente mejorando.
De hecho, incluso a este nivel es posible crear aplicaciones inteligentes o apps de IAs usando servicios No code o Low Code, y que ya he mencionado en un video anterior, que permiten crear aplicaciones sin saber programar. Sin embargo, al ser servicios, estos son cajas negras, donde no conoces su funcionamiento interno. Además, usarlos no te va a convertir en un ingeniero de IAs, así que para entender cómo funcionan los proyectos de machine learning y entrar a fondo en el campo de las IA, sí o sí debes aprender a programar.
Aprender a Programar - Nivel Desarrollador
Hasta aquí estás empezando como en un nivel de usuario, lo siguiente es pasar a un nivel de desarrollador de software, por lo que tienes que aprender un lenguaje de programación, y el lenguaje que es una buena idea aprender aquí es Python.
De hecho, Python es un lenguaje muy popular que puede hacer muchas cosas, desde crear aplicaciones de escritorio, web frontend y backend. Pero no vayas a aprender todo eso porque son demasiadas cosas y no necesitas aprenderlo todo, así que solo enfócate en el uso de Python para Ciencia de Datos, IA y Machine Learning.
De hecho, en Python hay una enorme cantidad de código escrito como bibliotecas, frameworks, SDKs y herramientas en general para trabajar en estas áreas, por lo que este lenguaje es idóneo para este trabajo.
Junto con Python, usarás programas llamados editores de código, en los que podríamos encontrar a Visual Studio Code, PyCharm y Jupyter Notebook, siendo este el favorito de muchos profesionales de esta área al ser muy fácil de usar y permitir crear documentos enriquecidos rápidamente. Aunque también puedes usar Jupyter directamente desde el navegador, o desde Visual Studio Code o sin instalar nada usando Google Colab.
Usándolo tendrás que estudiar conceptos de Python como:
- Tipos de datos
- Funciones
- Condicionales
- Bucles
- Objetos
- Listas y Diccionarios
- Clases
- Orientación a Objetos
- Administrador de paquetes (llamado pip)
Adicionalmente a esto, también usarás herramientas como Git para que puedas controlar distintas versiones de tu código y conocerás sitios como Github que te permitirán guardar tus proyectos en la nube, además de que podrás encontrar proyectos de otros que podrás usar. En sí, estas dos, tanto Git como Github, suenan a lo mismo pero en realidad una es una herramienta para controlar código y la otra es una web que te permite trabajar con múltiples desarrolladores. Y estas son necesarias que las conozcas porque mucho código de proyectos relacionados a IA están alojados aquí.
Lo otro que aprenderás también es SQL, este es un lenguaje de base de datos y típicamente se usa en Ciencia de Datos para poder leer información. Y que también se usa junto con Python y será algo que usarás mucho en proyectos.
Y para aprender esto hay muchos recursos en español e inglés, y gratuitos por toda la web, porque aquí estoy hablando de uno de los lenguajes más populares. Algunos cursos buenos son:
- Computer Science Principles de Khan Academy en donde obtendrás todo un paso a paso de las áreas más importantes de ciencias de la computación como aprender a programar, algoritmos, seguridad de datos, además de participar en un examen de preparación.
- "Automate the Boring Stuff with Python".
Aunque cualquier curso de Python en YouTube te servirá al inicio.
Una vez sepas las bases del lenguaje, puedes aprender a usar APIs, que es un abreviado de Application Programming Interface, estos son en la práctica servicios de internet que puedes consumir y que procesan datos. Por ejemplo, si quieres crear un chat inteligente puedes usar la API de OpenAI, si quieres crear imágenes puedes usar Dall-e 3. Aunque estos son solo algunos porque hay una enorme variedad de modelos para hacer de todo.
De hecho, todas estas APIs de modelos las podrías encontrar en sitios que permiten ejecutar modelos inteligentes donde podemos mencionar a Hugging Face y Replicate, los cuales te permiten crearte una cuenta y consumir directamente desde código una API para poder hacer características inteligentes.
Usarlas es muy fácil y solo requieres conocer código básico de Python. Con esto podrías crear desde aplicaciones o scripts de automatización que hagan alguna característica inteligente y ya estarías entrando en un nivel mucho más práctico.
Entre algunos de los programas que podrías crear usando Python junto a estas APIs son:
- Tu propio chat inteligente.
- Un asistente sencillo.
- Una aplicación que genere imágenes IA o procese imágenes para editarlas.
- Un convertidor de texto a voz o viceversa.
- Un programa que resuma PDFs.
De hecho, también puedes combinar varias de estas APIs de LLMs para hacer cosas más complejas, e incluso esto lo puedes conseguir mucho más fácil gracias a un framework de LLMs llamado Langchain, el cual permite unir estos modelos inteligentes a una base de datos o algún proveedor de datos externo, lo que no solo te permite obtener respuestas inteligentes sino también poder usar tus propios datos e incluso acciones, es decir, que el modelo haga algo en tu sistema operativo además de responder. Usando esta idea se han creado proyectos interesantes como AutoGPT, que permiten hacer acciones en el sistema operativo o crear un programa e ir resolviendo problemas de código.
Una vez ya estés creando aplicaciones como las que te menciono, lo siguiente sería seguir profundizando en Python porque todo lo que te menciono solo son las bases, y para poder dominar el siguiente nivel se debe ser muy bueno conociendo las limitaciones y uso del lenguaje.
Entre algunos de estos temas de Python que debes dominar como desarrollador antes de intentar convertirte en un AI Engineer son:
- Python avanzado: generators, iterators, inheritance, list comprehensions, decorators.
- Estructuras de datos: arrays, linked list, hash table, stack, queue, tree, graph.
- Big O Notation, que permite describir la complejidad temporal y espacial de un algoritmo en términos del tamaño de la entrada. Es una manera de clasificar los algoritmos según su rendimiento y eficiencia en el peor de los casos.
- Algoritmos: binary search, bubble sort, quick sort, merge sort, recursion.
- Multithreading, multiprocessing.
Ahora ten en cuenta que esto de programar es solo si quieres ser un ingeniero en IA, porque también hay otros roles dentro de cada área que no necesariamente necesitan programar y también trabajen con IA como AI Sales Representative, AI Product Manager, AI Ethics Executive, y así.
Aunque no hay muchas personas que van a ocupar estos roles, así que es mejor estudiar un campo que es muy demandado.
Y por otro lado, también otro tipo de profesional que está más enfocado a la nube y también a inteligencia artificial, como son los roles de Cloud ML Engineer o AI DevOps Engineer, que típicamente trabajan con servicios de la nube como AWS, Google, Azure y servicios similares. Su trabajo es desplegar modelos inteligentes
Aprender Machine Learning - AI Engineer
Hasta este punto como desarrollador ya has creado algunas aplicaciones usando Python y modelos inteligentes a través de APIs, pero eso es solo un nivel más arriba que un usuario promedio y hasta allí solo serías un desarrollador de software. Lo siguiente es subir un nivel más y aprender en profundidad frameworks y herramientas de IA que no solo te den funcionalidad inteligente sino que te permitan crearlas casi desde cero.
Entre estas podemos encontrar bibliotecas de Python, los cuales son código escritos por la comunidad para poder crear aplicaciones más rápidamente. Entre estas están las más importantes enfocadas y que siempre se mencionan cuando se habla de Ciencia de Datos:
- NumPy: Para manipulación eficiente de arrays y matrices de datos numéricos.
- Pandas: Para procesamiento y análisis de datos tabulados mediante DataFrames.
- Matplotlib: Para generar visualizaciones de datos estáticas, animadas e interactivas.
- spaCy: Para procesamiento de texto avanzado, incluyendo tokenización y reconocimiento de entidades.
- Seaborn: Para visualización de datos basada en Matplotlib, proporcionando una interfaz de alto nivel para la creación de gráficos estadísticos atractivos y fáciles de entender.
Usando estos puedes procesar, analizar o clasificar datos, lo que es muy útil para hacer Exploratory Data Analysis, y para luego trabajar con herramientas que realmente harán comportamientos inteligentes a partir de estos datos.
Y a partir de aquí, para poder continuar es necesario entender algunos conceptos matemáticos primero. Entre estos podemos encontrar:
- Álgebra Lineal
- Vectores y matrices: operaciones básicas (suma, resta, multiplicación).
- Determinantes y rango de matrices.
- Descomposiciones de matrices: LU, QR, y valores singulares (SVD).
- Cálculo
- Derivadas e integrales.
- Gradientes y reglas de la cadena.
- Optimización: métodos de gradiente descendente y variantes (Adam, RMSprop).
- Probabilidad y Estadística
- Teoría de probabilidades: distribuciones discretas y continuas.
- Estadística descriptiva: media, mediana, moda, varianza, desviación estándar.
- Inferencia estadística: estimación, intervalos de confianza, pruebas de hipótesis.
- Teorema de Bayes y probabilidad condicional.
- Optimización
- Programación lineal y no lineal.
- Métodos de optimización convexa.
Estos temas son claves a la hora de usar bibliotecas de IA porque tarde o temprano tendrás que saber:
- Qué es la derivada de una función y cómo calcularla.
- Qué es una matriz.
- Cómo funciona el Producto Punto.
Algunos recursos para aprender varios de estos temas son:
- Introduction to Probability.
- Calculus BLUE Vol 1: Vectors & Matrices (MULTIVARIABLE).
- Mathematics for Machine Learning.
- Statistics Done Wrong.
Para tener un índice en estos estudios hay un curso muy popular y gratuito llamado Machine Learning Specialization por Stanford, en donde son tres cursos que empiezan por enseñarte aprendizaje automático supervisado, luego algoritmos avanzados de aprendizaje y finalmente aprendizaje no supervisado.
Una vez ya hayas conocido estas bibliotecas y conceptos, también puedes empezar a usar Kaggle, el cual es un sitio para poder aprender técnicas nuevas de ciencia de datos a través de retos y ejemplos, gracias a que otras personas suben allí sus notebooks que puedes leer y ejecutar ahí mismo. Además, esto te permite crear un portafolio de proyectos, y como es un sitio de competencias, muchas empresas están atentas a los rankings de allí para poder ofrecer trabajo a esos primeros lugares incluso.
Usar estas bibliotecas es fundamental porque luego en combinación a otras podrás crear proyectos más avanzados. De hecho, a lo que me refiero es a usarlas con frameworks dedicados a IA. Entre algunos de los que podemos encontrar son:
- Scikit-learn: Biblioteca en Python que proporciona herramientas para tareas de machine learning como clasificación, regresión, clustering y reducción de dimensionalidad. Incluye implementaciones de algoritmos comunes y utilidades para preprocesamiento de datos, evaluación de modelos y ajuste de hiperparámetros. Scikit-learn se integra fácilmente con otras bibliotecas científicas en Python como NumPy y Pandas.
- TensorFlow: Plataforma de código abierto desarrollada por Google para construir y entrenar modelos de deep learning. TensorFlow permite el desarrollo de aplicaciones complejas de machine learning mediante su modelo de gráficos computacionales que facilita la optimización y el despliegue en múltiples plataformas, desde dispositivos móviles hasta clusters de servidores. También ofrece TensorFlow Lite para dispositivos móviles y TensorFlow Extended (TFX) para producción.
- Keras: API de alto nivel diseñada para facilitar la creación y entrenamiento de modelos de deep learning. Keras actúa como una interfaz para TensorFlow, ofreciendo una sintaxis clara y concisa que simplifica el prototipado rápido de modelos. Keras es modular, lo que permite construir modelos utilizando una combinación de capas y optimizadores, y es altamente compatible con herramientas de despliegue y escalado.
- PyTorch: Biblioteca de deep learning desarrollada por Facebook AI Research, conocida por su flexibilidad y capacidad de proporcionar un desarrollo ágil mediante su arquitectura de gráficos dinámicos. PyTorch es popular en la investigación debido a su capacidad de realizar cálculos y ajustes de modelos en tiempo real. Además, PyTorch tiene una fuerte integración con bibliotecas de procesamiento de datos y permite un fácil despliegue en producción mediante herramientas como TorchServe.
Usando estos frameworks podrás crear software que entran en la categoría de:
- Computer Vision.
- NLP (Natural Language Processing).
- Sentiment Analysis.
- GANs (Redes generativas antagónicas para crear imágenes, texto, música, y modelos de estilo de transferencia).
Eso es realmente el verdadero trabajo de AI, porque usando estos frameworks podrás aprender acerca de:
- Neurons, Bias, Layers, en donde se encuentran el perceptrón multicapa, redes convolucionales, redes recurrentes, etc.
- Modelos y Arquitecturas:
- Modelos Secuenciales y Funcionales: Entender cómo construir modelos usando las API secuenciales y funcionales en Keras y TensorFlow.
- Redes Neuronales: Familiaridad con diferentes tipos de redes neuronales (perceptrón multicapa, redes convolucionales, redes recurrentes, etc.).
- Entrenamiento y Optimización:
- Funciones de Pérdida: Conocer diferentes funciones de pérdida (MSE, Cross-Entropy, etc.) y cuándo usarlas.
- Optimizadores: Comprender el papel de los optimizadores (SGD, Adam, RMSprop) en el entrenamiento de modelos y sus parámetros.
- Backward Propagation y Gradiente Descendente: Entender cómo se ajustan los pesos de una red neuronal.
- Evaluación y Validación:
- División de Datos: Métodos de partición de datos en conjuntos de entrenamiento, validación y prueba.
- Métricas de Evaluación: Familiaridad con métricas como precisión, recall, F1-score, AUC-ROC, etc.
- Cross-Validation: Técnicas para evaluar la robustez del modelo.
- Procesamiento de Datos:
- Preprocesamiento de Datos: Normalización, estandarización y manejo de datos faltantes.
- Data Augmentation: Técnicas para aumentar el tamaño del conjunto de datos mediante transformaciones.
- Pipelines de Datos: Uso de pipelines para procesar datos de manera eficiente y reproducible (Scikit-learn Pipelines).
- Regularización y Generalización:
- Overfitting y Underfitting: Identificación y mitigación de estos problemas.
- Técnicas de Regularización: Uso de L1, L2 regularización, dropout, y early stopping para mejorar la generalización del modelo.
- Arquitecturas de Redes Neuronales Avanzadas:
- CNN (Convolutional Neural Networks): Usadas principalmente para tareas de visión por computadora.
- RNN (Recurrent Neural Networks) y LSTM (Long Short-Term Memory): Usadas para tareas de series temporales y procesamiento de lenguaje natural.
- Transformers: Arquitecturas avanzadas para tareas de NLP.
- Despliegue y Producción:
- Model Serving: Métodos para desplegar modelos en producción usando TensorFlow Serving, TorchServe, etc.
- Exportación e Importación de Modelos: Guardar y cargar modelos entrenados en diferentes formatos (HDF5, SavedModel, etc.).
- Optimización para Producción: Herramientas y técnicas para optimizar modelos para inferencia en producción (TensorRT, ONNX).
Con estos conceptos fundamentales, estarás bien equipado para desarrollar, entrenar, evaluar y desplegar modelos de machine learning y deep learning usando estos frameworks.
Esto lo puedes llevar a la práctica creando proyectos como:
- Clasificar textos e imágenes.
- Analizar datos para predecir ventas.
- Traducción automática de lenguajes.
- Reconocimiento de voz o imágenes.
- Clasificación de datos, como correos, datos financieros.
Por darte solo algunas ideas.
Ahora, hasta aquí ya estarías creando tus primeros modelos inteligentes y ya entenderías mucho a un nivel más bajo cómo funcionan.
Pasar este nivel de hecho no es nada fácil, lleva muchos años, pero ya estando aquí ya deberías estar trabajando o creando proyectos muchos de nivel intermedio/avanzado.
Machine Learning Avanzando - Nivel Experto
Una vez hayas pasado por los niveles anteriores, y desde ya te digo que no es fácil, lo último ya sería ser el último nivel de experiencia y es ya no solo saber crear modelos inteligentes, sino que ya se entiende cómo usarlos a una escala mucho más grande y con nuevas técnicas, gracias al estudio de papers nuevos que se van publicando.
Hay un sitio llamado arXiv.org en donde se van subiendo los nuevos avances e investigaciones de modelos o nuevas técnicas.
Y aquí entran profesionales que deben analizar y poner en práctica estos papers, lo cual los convierte en investigadores de AI, lo que conlleva un nivel técnico y de experiencia muy alto.
Lo más difícil es reimplementar un paper y comprobar resultados; esto es difícil.
Algunos recursos que puedes estudiar aquí son:
- Neural Networks: Zero to Hero: Es un curso por Andrej Karpathy, ex OpenAI, en donde este curso te enseña a crear una red neuronal desde cero.
- Deep Learning Specialization: Un curso que cubre en profundidad diversos aspectos del deep learning.
Conclusion
En fin, como pueden ver, la ruta para aprender IA no parece algo muy complicado, pero lo que es difícil es realmente dedicarle el tiempo a todos estos temas y estudiarlos con calma. Aunque creo que cualquier persona con intenciones puede hacerlo, así que para resumirlo:
- Aprende a Programar, especialmente Python, junto a sus bibliotecas de manipulación de datos y frameworks (NumPy, Matplotlib, Pandas, Keras, Scikit-Learn, TensorFlow, etc.).
- Aprende a usar APIs relacionadas a IA usando Replicate, Hugging Face o proyectos abiertos en Github.
- Estudia el funcionamiento y las bases de Deep Learning y modelos inteligentes (temas como Redes Neuronales, Transformers, NLP, etc.).
- Aprende conceptos matemáticos como cálculo, álgebra lineal, probabilidades y estadística (estadística descriptiva, inferencia estadística, pruebas de hipótesis, teorema del límite central, distribuciones, intervalos de confianza).
- Desarrolla tus primeros proyectos avanzados en IA.
- Especialízate usando cursos y certificaciones.
Para aprender esto puedes usar ChatGPT, y en combinación con cursos y libros que te he mencionado, además de tomar notas usando tu software de notas favorito.
Y también hay otros temas que están relacionados:
- Advanced Prompt Engineering
- Autogen (Microsoft)
- Advanced Document QA
- AI Security & Hacking
- AI Safety Research - alinear objetivos de AI con humanos
- AI Regulations
Siguiendo esta ruta a tu ritmo y con constancia, llegarás en algún momento a dominar esta área y hasta poder crear tus propias soluciones basadas en AI.