Want to Become a Sponsor? Contact Us Now!🎉

LLM
Cómo ejecutar LLM en Google Colab de forma gratuita

Cómo ejecutar LLM en Google Colab de forma gratuita

Published on

Anakin AI - The Ultimate No-Code AI App Builder

Si has querido experimentar con modelos de lenguaje grandes pero estás preocupado por el alto costo que a menudo conllevan, tengo buenas noticias para ti. Grace Smith de Cheatsheet.md está aquí para compartir algunos consejos ahorrativos con los entusiastas de la tecnología que están ansiosos por sumergirse en el mundo de los modelos de lenguaje grandes.

Presentando Google Colab

El primer método de ahorro de costos que sugiere Grace es usar Google Colab, un entorno gratuito de cuaderno Jupyter basado en la nube. Con solo una cuenta de Google, puedes escribir y ejecutar código Python en la nube, aliviando cualquier preocupación sobre la potencia de procesamiento de tu computadora. Además, Google Colab admite la aceleración GPU, lo que hace que el entrenamiento de modelos grandes sea más rápido y fácil.

Explorando proveedores de modelos de lenguaje

Si bien muchas personas están familiarizadas con OpenAI como proveedor de modelos de lenguaje grandes, Grace destaca otra opción: Azure OpenAI. Diseñado específicamente para usuarios empresariales, Azure OpenAI ofrece una sólida alternativa a considerar. Además de estos proveedores, hay otras plataformas de código abierto como Hugging Face y Fireworks AI que ofrecen una amplia selección de modelos de alta calidad para elegir.

Ejecución de modelos grandes en Google Colab

¿Curioso por saber cómo puedes aprovechar Google Colab para ejecutar modelos de lenguaje grandes? Grace proporciona una guía paso a paso:

  1. Crea una cuenta de Google si aún no tienes una.
  2. Visita el enlace proporcionado: https://colab.research.google.com/ para acceder a la interfaz de Google Colab.
  3. En el menú "Files", selecciona "New Notebook" para crear un nuevo cuaderno Jupyter.
  4. Antes de continuar, necesitas montar Google Drive para asegurarte de que tus archivos se guarden. Sin este paso, cualquier archivo descargado dentro del cuaderno será temporal y no persistirá entre sesiones. Ejecuta el siguiente fragmento de código para montar Google Drive:
from google.colab import drive
drive.mount('/content/drive')
  1. Para aprovechar la aceleración GPU, haz clic en la opción "Runtime" en el menú y selecciona "Change Runtime Type". En "Hardware Accelerator", elige "GPU". Google Colab ofrece acceso gratuito a una GPU T4 de 15G.
  2. Para verificar que estás en el entorno de GPU, ejecuta el siguiente fragmento de código:
import tensorflow as tf
tf.test.gpu_device_name()
! /opt/bin/nvidia-smi
  1. Ahora estás listo para usar modelos de código abierto. Hugging Face es una elección popular, que ofrece una amplia gama de modelos basados en transformers. Simplemente proporcionando el nombre del modelo a la clase HuggingFaceEmbedding, se encargará de la descarga, carga y cálculos de incrustación de texto del modelo.

Grace proporciona un ejemplo de un fragmento de código utilizando Hugging Face y los modelos de código abierto Llama 2 para búsquedas inteligentes y aplicaciones de bases de conocimiento a gran escala. El código muestra el proceso de carga de modelos pre-entrenados, codificación de texto, recuperación de información similar de una base de conocimiento y generación de respuestas.

Códigos de ejemplo paso a paso para ejecutar LLM con Google Colab

Crear una aplicación con LLMs como Stable Diffusion y Google Flan T5 XL requiere un enfoque paso a paso, especialmente al aprovechar la potencia de las GPU gratuitas de Google Colab. Esta guía te guiará a través de la configuración de una aplicación Flask que integra estos modelos, lo que te permite generar imágenes y texto basados en la entrada del usuario. El proceso implica programar en Python, utilizar Flask como marco web y desplegar la aplicación con ngrok para que sea accesible públicamente.

Paso 1: Configurar tu entorno

Antes de adentrarte en el código, asegúrate de tener una cuenta de Google para acceder a Google Colab. Google Colab es una plataforma poderosa que te permite escribir, ejecutar y compartir código Python a través de tu navegador.

Paso 2: Crear una aplicación Flask

Flask es un marco de aplicación web WSGI liviano en Python. Está diseñado para facilitar el inicio rápido y fácil, con la capacidad de escalar a aplicaciones complejas. Comienza configurando la estructura de tu aplicación Flask:

from flask import Flask, render_template, request
from flask_ngrok import run_with_ngrok
 
app = Flask(__name__)
run_with_ngrok(app)  # Iniciar ngrok cuando se ejecuta la aplicación

Paso 3: Integrar LLMs

Para este proyecto, utilizarás dos modelos: Stable Diffusion para generar imágenes y Google Flan T5 XL para generación de texto. Estos modelos requieren bibliotecas específicas: transformers, diffusers y torch.

import torch
from diffusers import StableDiffusionPipeline
from transformers import T5Tokenizer, T5ForConditionalGeneration
 
# Cargar el modelo Flan-T5-XL
tokenizer = T5Tokenizer.from_pretrained("google/flan-t5-xl")
model = T5ForConditionalGeneration.from_pretrained("google/flan-t5-xl").to("cuda")
 
# Cargar el modelo Stable Diffusion
pipe = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5", 
    revision="fp16", 
    torch_dtype=torch.float16
).to("cuda")

Paso 4: Diseñar tu aplicación

Crea una plantilla HTML básica para tu aplicación. Esta plantilla incluirá un formulario donde los usuarios pueden ingresar instrucciones para los modelos de IA. Guarda esta plantilla como index.html en una carpeta templates dentro del directorio de tu proyecto Flask.

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Aplicación LLM Flask</title>
</head>
<body>
    <form action="/submit-prompt" method="post">
        <input type="text" name="prompt-input" placeholder="Ingresa tu instrucción">
```markdown
         <button type="submit">Generar</button>
     </form>
</body>
</html>

Paso 5: Manejo de solicitudes

En tu aplicación Flask, configura rutas para manejar las solicitudes. Cuando un usuario envíe una instrucción, tu aplicación utilizará las LLMs para generar una imagen y un texto basados en esa instrucción.

from flask import Flask, render_template, request, jsonify
from io import BytesIO
import base64
 
@app.route('/')
def index():
    return render_template('index.html')
 
@app.route('/submit-prompt', methods=['POST'])
def generate():
    prompt = request.form['prompt-input']
    
    # Generate image with Stable Diffusion
    image = pipe(prompt=prompt).images[0]
    buffered = BytesIO()
    image.save(buffered, format="PNG")
    img_str = base64.b64encode(buffered.getvalue()).decode()
    
    # Generate text with Flan-T5-XL
    input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to("cuda")
    generated_output = model.generate(input_ids, max_length=512)
    generated_text = tokenizer.decode(generated_output[0], skip_special_tokens=True)
    
    return render_template('index.html', generated_image=img_str, generated_text=generated_text)

Paso 6: Despliegue con Ngrok

Ngrok expone servidores locales detrás de NAT y cortafuegos a Internet público a través de túneles seguros. Después de instalar ngrok, autenticarlo utilizando tu token:

!ngrok authtoken <YOUR_AUTHTOKEN_HERE>

Ejecuta tu aplicación Flask, y ngrok proporcionará una URL pública para acceder a ella:

!python app.py

Paso 7: Ejecución en Google Colab

Para ejecutar toda esta configuración en Google Colab, clonarás tu repositorio de GitHub que contiene la aplicación Flask y lo ejecutarás. Google Colab te permite instalar bibliotecas necesarias, autenticar ngrok, y ejecutar tu aplicación Flask, todo desde un notebook.

  1. Clonar el repositorio:
!git clone https://github.com/yourusername/yourrepository.git
  1. Cambiar al directorio de tu aplicación:
import os
os.chdir("your repository")
  1. Instalar los paquetes de Python requeridos:
!pip install flask flask_ngrok torch diffusers transformers
  1. Autenticar ngrok:
!ngrok authtoken YOUR_NGROK_AUTHTOKEN
  1. Ejecutar tu aplicación Flask. Este comando ejecuta la aplicación Flask y la hace accesible a través de una URL pública proporcionada por ngrok:
!python app.py

Al ejecutar la aplicación Flask en Google Colab, verás una salida con un enlace a tu URL pública de ngrok. Esta URL lleva a tu aplicación Flask, ahora accesible desde cualquier lugar.

Paso 8: Interactuar con tu aplicación

Ve a la URL de ngrok proporcionada para ver tu aplicación Flask. Ingresa una instrucción en el formulario y envíala. La aplicación Flask procesa esta entrada utilizando los modelos de Stable Diffusion y Google Flan T5 XL para generar una imagen y un texto. Estos resultados se muestran en la misma página, mostrando las capacidades de estos grandes modelos de lenguaje.

Paso 9: Exploración adicional

Este proyecto solo raspa la superficie de lo que es posible con LLMs y la computación en la nube. Considera mejorar tu aplicación con características adicionales, como:

  • Opciones de personalización: Permitir a los usuarios especificar parámetros para la generación de imágenes y texto, como el nivel de creatividad del modelo o el tipo de imagen a generar.
  • Manejo de cargas más grandes: Implementar sistemas de encolamiento para manejar múltiples solicitudes de manera eficiente, asegurando que tu aplicación pueda escalar con la demanda de los usuarios.
  • Uso avanzado de modelos: Explorar otros modelos y sus capacidades únicas. Por ejemplo, podrías integrar modelos especializados en dominios específicos, como consejos médicos o análisis legal.

Conclusion

Construir una aplicación Flask para ejecutar grandes modelos de lenguaje como Stable Diffusion y Google Flan T5 XL, y desplegarla con Google Colab y ngrok, demuestra la accesibilidad y el poder de las tecnologías de IA modernas. Con solo unos pocos pasos, los desarrolladores pueden crear aplicaciones interactivas que utilizan modelos de vanguardia, todo dentro de un navegador. Esta guía no solo resalta la aplicación práctica de estos modelos, sino que también fomenta una mayor exploración del potencial de la IA para transformar industrias y proyectos creativos.

A medida que te adentres más en el desarrollo de IA, recuerda la importancia de consideraciones éticas, especialmente al generar contenido que respete los derechos de autor, la privacidad y la equidad. El viaje hacia la IA y el aprendizaje automático está lleno de oportunidades para crear aplicaciones impactantes e innovadoras que respeten estos principios.

El poder de Google Colab con los modelos de lenguaje

Al combinar el entorno en la nube gratuito de Google Colab con bibliotecas como sentence-transformers y el modelo de código abierto Llama 2, los entusiastas de la tecnología pueden sumergirse fácilmente en tareas de recuperación semántica y pregunta-respuesta. Este enfoque no solo ahorra recursos valiosos de hardware, sino que también permite la creación de sistemas de pregunta-respuesta más inteligentes y personalizados.

Con Google Colab, los desarrolladores pueden explorar las posibilidades de los grandes modelos de lenguaje sin gastar mucho dinero. Grace anima a los lectores a probarlo por sí mismos y descubrir aplicaciones aún más emocionantes. ¡No dudes en dejar comentarios y compartir tus logros!

En conclusión, Grace Smith, una desarrolladora de software de código abierto independiente y autora de SolidUI, está apasionada por las nuevas tecnologías, especialmente en el campo de la IA y los datos. Si encontraste su artículo informativo y atractivo, no olvides mostrar tu apoyo dándole me gusta y marcándolo como favorito.

Recuerda: ¡siempre mantente curioso y sigue explorando el fascinante mundo de la tecnología!

Anakin AI - The Ultimate No-Code AI App Builder