Falcon 180B ¿Puede funcionar en tu computadora?

Falcon 180B ¿Funciona en tu PC?

Sí, si tienes suficiente CPU y RAM

Imagen creada por el autor con ilustraciones de Pixabay (1,2)

En mayo de 2023, el Instituto de Innovación Tecnológica (TII) de Abu Dabi lanzó dos LLM pre-entrenados: Falcon-7B y Falcon-40B, y sus versiones de chat. Estos dos modelos demostraron un rendimiento muy bueno y ocuparon el primer lugar en la tabla de clasificación de OpenLLM.

Un tercer modelo lanzado por TII se ha unido a la familia Falcon: Falcon 180B, un modelo de 180 mil millones de parámetros. Tiene 2.5 veces más parámetros que Llama 2 70B y 4.5 veces más que Falcon-40B.

Aquí hay algunos datos sobre Falcon 180B (fuente: tarjeta del modelo Falcon 180B):

  • Pre-entrenado en 3.5 billones de tokens (RefinedWeb)
  • Distribuido con una licencia Apache 2.0
  • Tiene un tamaño de 360 GB
  • Ocupa el primer lugar (a partir del 11 de septiembre de 2023) en la tabla de clasificación de OpenLLM:
Captura de pantalla de la tabla de clasificación de OpenLLM (11 de septiembre de 2023) — Imagen creada por el autor

También hay una versión de chat. Los modelos están disponibles en el repositorio de Hugging Face:

  • Falcon 180B
  • Falcon 180B Chat

Falcon 180B es completamente gratuito y de última generación. Pero también es un modelo enorme.

¿Puede funcionar en tu computadora?

A menos que tu computadora esté lista para cálculos muy intensivos, no podrás ejecutar Falcon 180B tal cual. Necesitarás actualizar tu computadora y utilizar una versión cuantizada del modelo.

En este artículo, explico cómo puedes ejecutar Falcon-180B en hardware de consumo. Veremos que puede ser razonablemente asequible ejecutar un modelo de 180 mil millones de parámetros en una computadora moderna. También discuto varias técnicas que ayudan a reducir los requisitos de hardware.

Cargando Falcon 180B en tu computadora: ¿Qué necesitas?

Lo primero que debes saber es que Falcon 180B tiene 180 mil millones de parámetros almacenados como bfloat16. Un parámetro (b)float16 ocupa 2 bytes en memoria.

Cuando cargas un modelo, el flujo estándar de Pytorch funciona de la siguiente manera:

  1. Se crea un modelo vacío: 180B parámetros * 2 bytes = 360 GB