En el episodio de hoy respondo preguntas de la audiencia 🤗
El episodio de pregunta y respuestas que hice hace unas semanas ha recibido muy buen feedback así que vamos a por otro.
"Hola Marta, espero que estés muy bien. Hace un tiempo te encontré en Spotify y quedé encantado y conectado, jejeje. Tengo la intención de comprar una laptop porque la necesito lo antes posible, pero soy consciente de que este es el peor momento para hacer esa compra, debido a que este año es coyuntural en cuanto al tipo de procesadores que serán el futuro. En función de lo explicado anteriormente, ¿qué me recomiendas?
- Una laptop "barata" con un procesador "normal" sin NPU, sabiendo de antemano que en muy poco tiempo quedará obsoleta, pero habré pagado poco.
- Una laptop "media" con un procesador con NPU, como los Core Ultra, que aunque son tecnología x86, tienen la ventaja de la NPU.
- Una laptop "cara" con procesadores ARM, por ejemplo, las MacBook o laptops con el procesador Snapdragon X Elite.
De antemano, te agradezco toda la ayuda brindada. ¡Saludos!"
A ver, para poder darle una respuesta más precisa a Óscar, tendría que saber exactamente para qué necesita el ordenador y el nivel de uso que le dará.
No es una decisión que se pueda tomar a la ligera.
Aunque, si te soy sincera, un poco sí.
Te explico por qué.
Recuerda que hace un par de años llegó ChatGPT y con él el gran boom de los modelos de lenguaje.
Empezó la filosofía de "más grande es mejor", pero aquí está el detalle: puedes olvidarte de entrenar un modelo de 400 mil millones de parámetros en tu portátil de casa. Incluso usar modelos de código abierto, como Llama, puede ser complicado sin los recursos adecuados.
Para que tengas una idea, te hablo de los requisitos que necesita un ordenador solo para ejecutar un modelo como Llama 3.1 de Meta (que no es ni el último).
Este modelo, similar a ChatGPT pero abierto, tiene varias versiones: una de 8 mil millones de parámetros, otra de 70 mil millones y una de 405 mil millones.
¿Quieres usar la versión más pequeña, de 8 mil millones de parámetros?
Necesitarás una GPU con entre 4 y 16 GB de VRAM, dependiendo de lo comprimido que venga el modelo.
¿Te gustaría usar la versión de 405 mil millones?
Entonces necesitarías una GPU con una RAM de unos 800 GB.
¡Solo para cargar el modelo! Si estás pensando en una GPU NVIDIA H100, prepárate para gastar unos 40,000 euros.
Eso es solo para la inferencia, es decir, para usar el modelo.
Entrenarlo es aún más complejo, con requisitos de memoria que pueden oscilar entre 60 GB y 3 TB, dependiendo de las técnicas que se utilicen para reducir la demanda de recursos, como LoRA o Q-LoRA.
La conclusión es clara: entrenar o usar grandes modelos de lenguaje con un portátil estándar es prácticamente imposible, a menos que te vayas a por un equipo de gama alta, con una GPU RTX y al menos 16 GB de RAM. Idealmente, 32 GB (para las versiones más compactas del modelo).
Para los modelos de generación de imágenes ocurre lo mismo. La versión abierta de flux.1, por ejemplo, también requiere una buena cantidad de VRAM en tu GPU.
Volviendo al caso de Óscar, si su intención es trabajar con redes neuronales profundas o entrenar modelos complejos, un ordenador de gama baja no será suficiente.
Sin embargo, siempre puede complementarlo con recursos en la nube. Mi recomendación es no comprar un ordenador portatil que haya que jubilar pronto por la evolución constante de los chips y las arquitecturas.
Si no planeas entrenar modelos con frecuencia, puedes hacer la fase de prototipado y desarrollo de código en el portátil, y luego ejecutar el entrenamiento completo en una estación de trabajo más potente o en la nube.
Ahora, además del procesador, es importante tener en cuenta que consideres la cantidad de VRAM en la GPU y la RAM del equipo, especialmente si trabajas con datasets grandes.
Yo recomendaría como mínimo 16 GB de RAM, aunque lo ideal sería a partir de 24 o 32 GB. En cuanto a almacenamiento, que sea SSD de 512 GB como mínimo, aunque 1 TB sería mucho mejor.
Un último detalle: si eliges una máquina con una GPU NVIDIA, recuerda que los ordenadores portártiles con estas tarjetas gráficas pueden sufrir problemas de sobrecalentamiento durante entrenamientos largos.
Así que, si prefieres no arriesgar tu inversión, tal vez sea mejor optar por una estación de trabajo fija con un buen sistema de refrigeración.
Dicho esto, antes de gastar 3000 € en un ordenador con una GPU RTX y 32 GB de RAM, podrías avanzar mucho utilizando Google Colab, que es gratuito.
Con Google Colab, puedes usar una GPU NVIDIA Tesla T4 con 15 GB de VRAM y una máquina con 12 GB de RAM.
Eso sí, ten en cuenta que la opción gratuita limita el uso de la GPU a sesiones de hasta 3 horas, dependiendo de la demanda. Si entrenas modelos pequeños o estás en fase de prototipado, esta opción es perfecta para empezar.
"Hola, buenas. Me llamo Francisco y soy estudiante de tercero de Matemáticas en Málaga. Me apasiona el mundo del Big Data y el Data Science y, aunque tengo pensado que mi máster esté enfocado en algo de este estilo, quiero empezar por mi cuenta adquiriendo conocimientos del campo y familiarizándome con este mundillo. Me gustaría saber si conocéis algún curso, libro o contenido sobre todo esto que recomendéis en especial. Un saludo."
Muchas gracias, Francisco, por tus palabras tan bonitas sobre el podcast. Me alegráis el día con mensajes como el tuyo.
La verdad es que, con una base sólida de matemáticas como la que tiene Francisco y su pasión por los datos, tiene el potencial para convertirse en todo un ninja de los datos de máximo nivel.
Ahora, en cuanto a recomendaciones de libros, si llevas por aquí un tiempo ya sabrás quemi favorito de todos los tiempos para Machine Learning es: Aprende Machine Learning con Scikit-learn, Keras y TensorFlow.
Este es ideal si quieres empezar a familiarizarte con los algoritmos y técnicas básicas.
Otro que también me encanta es Deep Learning con Python de François Chollet, el creador de la librería Keras.
Es una gran opción si quieres profundizar en redes neuronales y aprender directamente de uno de los referentes del campo.
Recientemente terminé uno que me gustó mucho y trata más sobre MLOps, es decir, cómo dar a los modelos de Machine Learning una vida más allá del notebook.
Este libro aborda todo lo que necesitas saber para desplegar un modelo y hacer que realmente lo use alguien. Se llama Diseño de sistemas de Machine Learning y es de Chip Huyen.
Y para aquellos interesados más en la parte de Big Data y el procesamiento masivo de datos, recomiendo Diseño de aplicaciones mediante el uso intensivo de datos de Martin Kleppmann. Es una excelente opción si lo que te interesa es la ingeniería de datos y cómo manejar grandes volúmenes de información.
Además, todos estos libros, junto con otros igual de interesantes, los puedes encontrar resumidos en la Membresía Ninja. Ahí podrás echar un vistazo a los conceptos clave y luego decidir si quieres estudiarlos en profundidad.
"Buenos días, Marta,
Hace unos días te encontré en Spotify y comencé a seguirte.
Hace más de un año que estoy en una transformación profesional, por así decirlo. En mi caso, soy ingeniero, pero industrial. El mundo de la programación en mi caso no pasó ni de cerca. De datos, poco y nada.
El punto es que, a los 40 años, decidí empezar a adentrarme en el Data Analytics, Machine Learning y la IA. Actualmente estoy estudiando, en la etapa en la que estoy absorbiendo conocimientos. Me gustaría practicar más, pero entre el trabajo y el estudio, puedo practicar poco. Hoy estoy con bases de datos relacionales, MySQL, algo de MariaDB.
Mis preguntas son dos: 1) ¿Me puedes recomendar un camino de conocimientos básicos para llegar a tener idoneidad en la materia (hablando de Data Analyst y Data Engineer)? He leído y visto algunos videos, pero me interesa tu opinión al respecto. 2) ¿Me podrías facilitar algún sitio de ejercicios de SQL?
Desde ya, estaré muy agradecido por tu atención. Saludos."
Primero que todo, ¡felicidades a Maximiliano por su decisión de adentrarse en el fascinante mundo de los datos!
Es muy valiente por su parte dedicar su tiempo libre a seguir su curiosidad y aprender sobre analítica de datos, machine learning e ingeniería de datos.
En cuanto a su primera pregunta sobre un camino de conocimientos básicos, le recomendaría, como primer paso, seguir fortaleciendo sus habilidades en SQL y bases de datos, algo que ya está haciendo de manera muy diligente 😌.
Estas herramientas son esenciales tanto para Data Analysts como para Data Engineers.
Luego, si te interesa más la parte de análisis, aprender a manejar herramientas de visualización de datos como Tableau o Power BI es fundamental.
Además, aprender lenguajes como Python será clave para realizar análisis más complejos y automatizar procesos.
Si nos enfocamos más en la ingeniería de datos, es importante entender cómo funcionan las transformaciones de datos y los pipelines ETL y ELT.
Si esto te llama la atención, te recomiendo el episodio en el que hablamos sobre el rol de los Data Engineers y sus tareas principales.
Respecto a la segunda pregunta sobre sitios para practicar SQL, te recomendaría plataformas como LeetCode y HackerRank. Ambos ofrecen una variedad de ejercicios que son bastante útiles para mejorar tus habilidades prácticas en SQL, desde lo más básico hasta consultas avanzadas.
Espero que te guste el episodio.
Si es así, no olvides dejar un «Me gusta» y algún comentario al episodio en Ivoox o una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Youtube o donde quiera que escuches el podcast.
Recuerda que si tienes cualquier duda o pregunta puedes contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.
Muchas gracias por estar ahí y te espero en el próximo episodio de Un Podcast Ninja sobre Big Data.