Modelos de lenguaje extenso

Fuente: Alexandra_Koch/Pixabay

Los modelos de lenguaje extenso (LLM, también llamados modelos lingüísticos grandes) hacen que los bots conversacionales sean uno de los mejores inventos, ya que permiten la comunicación entre los usuarios y los asistentes virtuales al resolver dudas cotidianas.

Los bots son el resultado de un largo entrenamiento, como si hubieran leído miles de libros y páginas web, y hubieran escuchado conversaciones a lo largo de su vida, y hubieran aprendido a hablar como nosotros. Este entrenamiento se convierte en una especie de «cerebro» que puede entender lo que dices, responderte y aprender cosas nuevas con cada conversación. Por tanto, un buen modelo es aquel que se ha entrenado millones de veces y seguirá haciéndolo para responder a todas tus dudas.

¿Qué ofrecen?

Los chatbots con LLM son tan prácticos que basta con escribir en una caja de texto y conversar. Estas ofrecen varias opciones:

  • Responder preguntas: desde un simple «hola, ¿cómo estás?» hasta «¿podrías decirme cuál es el tamaño de la Tierra?».
  • Generar ideas: Contar un chiste, elaborar un poema. Nunca tendrán sentimientos, pero algo es algo.
  • Traducir frases. Depende del LLM en cuestión. Si tienen más capacidad, podrán entender varios idiomas y enseñarte.
  • Ser tu profesor: Aprendes algo nuevo.

Los bots conversacionales con LLM son la nueva revolución en el mundo digital. Así que prepárate para esta aventura, pero siempre con responsabilidad.

¿Cómo elegir un buen modelo de lenguaje extenso?

Para que un bot de conversación funcione de acuerdo a tus necesidades, deberás utilizar un buen modelo. Algunos son específicos y otros son más generales. Debes revisar qué ofrece cada modelo para incorporarlo, descargarlo (si quieres trabajar sin conexión a Internet) y usarlo.

  • El nombre del modelo.
  • La cantidad de parámetros (medidos en millardos de parámetros).
    • Según la cantidad de parámetros, se exige un alto consumo de memoria RAM y de espacio en disco. Puedes revisar la sección Requisitos para más detalles.
  • La calidad del modelo (Q1-Q8). Lo óptimo es que los modelos sean de calidad Q4. En muchos casos, no suelen ser relevantes.
  • Soporte multimodal. Si bien la mayoría de los chats solo aceptan texto, algunos de ellos también soportan imágenes, vídeo o documentos. Por ejemplo, la variante Vision de Llama 3.2 (11 B).
  • Licencia. Sea uso comercial o uso personal.

Las marcas más conocidas, como Gemma, Llama y Mistral (y sus derivados Zephyr), ofrecen modelos de lenguaje extenso para descargar y usar sin conexión a Internet. Hay modelos más comerciales, como ChatGPT, pero suelen ser de pago y solo funciona con conexión a Internet.

Para cualquier usuario común y corriente, recomendamos estos modelos de lenguaje extenso listos para usar: StableLM Zephyr de Stability AI (3B, no entrenado para consultas en español), Gemma 2 de Google (2B) y Llama 3.2 de Meta (3B, atiende en ocho idiomas). Consumen pocos recursos, responden en menos de un minuto y pueden realizar ejercicios de matemáticas y ciencias de educación secundaria de manera aceptable. Incluso hay modelos más compactos, como SmolLM (1.7 B), que solo funciona en inglés y puede responder a preguntas, pero no realizar tareas complejas.

Si quieres usar modelos para resolver ejercicios, lo mejor es revisar otros nombres. Por ejemplo, Qwen2.5-Math (1.5B y 3B) permite responder a ejercicios matemáticos universitarios escritos en inglés y chino. Intenta buscar en Internet «lightweight LLMs» para encontrar modelos similares.

Existen versiones modificadas por los usuarios, conocidas como «fine-tuning». No son oficiales, pero suelen servir para darle otro propósito al modelo. Por ejemplo, Unsloth, que es de código abierto, permite realizar modificaciones para reducir su consumo de memoria y energía sin perder su calidad. En este caso, encontrarías un Llama 3.2 de Unsloth, que, según afirman los desarrolladores, reduce su consumo a la mitad. Según la documentación, se han realizado cambios en sus parámetros de cuantificación y en su estructura de datos.

¿Cuáles son los requisitos?

En general, los requisitos para realizar una conversación con un modelo de lenguaje extenso varían. Si vas a trabajar con modelos de entre uno y tres mil millones de parámetros (1B a 3B), se necesitan 4 GB de RAM y alrededor de 2 GB de espacio libre en disco. Esta configuración es ideal para la mayoría de equipos que no cuentan con componentes especializados, como chips de aprendizaje neuronal o tarjetas gráficas con soporte CUDA.

A partir de ahí, cuando se llega a los modelos 7B, se necesitan 8 GB de RAM; para los modelos de 13B, 16 GB; y para los de 33B, 32 GB. Como referencia, el modelo de Meta con más parámetros, 435B, necesita entre 200 GB y 450 GB de espacio en disco y unos miniservidores de más de 200 GB de RAM.

Ten en cuenta que los requisitos no incluyen el programa, por lo que el espacio que consume en el disco es mucho mayor.

¿Cuáles son las limitaciones?

Los modelos de lenguaje extenso nunca ofrecerán información real al 100 %, ya que se basan en comprender información de libros, páginas web y otros recursos digitales. Por ejemplo, leer una noticia en línea no es lo mismo que ser testigo de ella. Además, los modelos no identifican los sentimientos humanos, sino que se entrenan en redes neuronales para que se guarden en parámetros, una especie de «neuronas». Por tanto, existe el riesgo de que en las conversaciones se inventen datos, es decir, que haya «alucinaciones».

También se sabe que un modelo solo entrena información hasta una fecha concreta. Por lo tanto, existe el riesgo de que responda erróneamente a eventos más recientes. Ahí es donde algunos desarrolladores crean sus «fine-tuning» (ajustes precisos), versiones «retocadas» de esos modelos, ya sea reentrenándolos u optimizándolos para que respondan más rápido y sin pensarlo dos veces. Los desarrolladores deben tener cuidado, porque si se entrena demasiado y se produce un sobreajuste (al sobrepasar la capacidad de almacenamiento del modelo), este puede convertirse en un problema al ofrecer respuestas.

Consejos

Cuando se realiza una charla con un bot conversacional, debes saber que estos reciben un prompt para que te ofrezcan una respuesta clara. Podríamos decir que el prompt es un indicador de contexto. Procura que el contexto sea claro, evitando frases vagas o irreales para que el bot pueda entender lo que vas a decir. Por ejemplo:

Eres un profesor de matemáticas de secundaria. Este profesor es jovial y didáctico, y es capaz de enseñar con calma los temas de su curso a los alumnos, que comprenden entre 12 y 15 años. Además, propone ejemplos y presenta ejercicios para resolver en clase, con la intención de que los estudiantes siempre aprendan. Si las respuestas son incorrectas, este profesor intenta explicar el porqué y le muestra cómo se debería resolver. Como alumno, le pediría primero: «Enséñame sobre fracciones con ejemplos y ejercicios».

Puedes revisar varios ejemplos de prompts escritos en inglés.

Programas compatibles

Los programas a continuación ofrecen tutoriales para instalar un modelo de lenguaje extenso y empezar a conversar.

También se puede probar montando una instancia web propia y conversar con WebLLM desde el navegador. Es necesario que WebGPU esté activado en los ajustes del navegador. Para comprobar si WebGPU está funcionando en los navegadores Chrome, Brave o derivados, visita su página en chrome://gpu.

Algunos programas permiten montar su servidor web con el protocolo OpenAI. Puedes recurrir a la interfaz de aplicación para realizar pruebas o integrarlo con otros programas de inteligencia artificial. El puerto lo decide el programa en cuestión, aunque se puede modificar.

MétodoRutaEnlace de ejemplo a la URL completa (tomando al puerto GPT4All)
GET/v1/modelshttp://localhost:4891/v1/models
GET/v1/models/<name>http://localhost:4891/v1/models/Phi-3%20Mini%20Instruct
POST/v1/completionshttp://localhost:4891/v1/completions
POST/v1/chat/completionshttp://localhost:4891/v1/chat/completions
Fuente: Github de GPT4All

Puedes revisar los modelos con curl http://localhost:4891/v1/models (tomando con ejemplo al puerto de GPT4All).

Lectura adicional

Etiquetas:

¿Recomendarías este artículo?