Inference Unlimited

Guía: Cómo ejecutar Phi-2 en una computadora con 32GB de RAM

Introducción

Phi-2 es un potente modelo de lenguaje que requiere hardware adecuado para su ejecución. En esta guía, mostraremos cómo instalar y ejecutar Phi-2 en una computadora con 32GB de RAM. Intentaremos cubrir todos los pasos clave, desde la preparación del entorno hasta la ejecución del modelo.

Requisitos previos

Antes de comenzar la instalación, asegúrate de que tu sistema cumpla con los siguientes requisitos:

Instalación del entorno

1. Instalación de Python

Phi-2 requiere Python 3.8 o una versión más reciente. Puedes instalarlo usando el gestor de paquetes:

sudo apt update
sudo apt install python3.8 python3.8-venv

2. Creación de un entorno virtual

Crear un entorno virtual ayudará a evitar conflictos con otros paquetes:

python3.8 -m venv phi2_env
source phi2_env/bin/activate

3. Instalación de dependencias

Instala los paquetes necesarios:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes

Descarga del modelo Phi-2

Puedes descargar el modelo Phi-2 usando la biblioteca Hugging Face Transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", load_in_8bit=True)

Configuración de la memoria

Para una computadora con 32GB de RAM, se recomienda usar optimizaciones de memoria, como la cuantización de 8 bits:

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    load_in_8bit=True,
    offload_folder="offload",
    offload_state_dict=True,
)

Ejecución del modelo

Ahora puedes ejecutar el modelo y probarlo:

prompt = "¿Cuál es el sentido de la vida?"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Optimizaciones

1. Uso de DeepSpeed

DeepSpeed es una herramienta para optimizar la memoria y el rendimiento:

pip install deepspeed

2. Configuración de DeepSpeed

Crea un archivo ds_config.json:

{
    "train_batch_size": "auto",
    "gradient_accumulation_steps": "auto",
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "betas": "auto",
            "eps": 1e-8,
            "weight_decay": 0.01
        }
    },
    "fp16": {
        "enabled": "auto"
    },
    "zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        }
    }
}

3. Ejecución con DeepSpeed

from transformers import AutoModelForCausalLM, AutoTokenizer
import deepspeed

model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)

model = AutoModelForCausalLM.from_pretrained(model_name, export=False)

ds_config = {
    "train_batch_size": "auto",
    "gradient_accumulation_steps": "auto",
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "betas": "auto",
            "eps": 1e-8,
            "weight_decay": 0.01
        }
    },
    "fp16": {
        "enabled": "auto"
    },
    "zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        }
    }
}

model_engine, optimizer, _, _ = deepspeed.initialize(
    model=model,
    config=ds_config
)

Resumen

Ejecutar Phi-2 en una computadora con 32GB de RAM requiere una preparación adecuada del entorno y la aplicación de optimizaciones de memoria. En esta guía, hemos discutido los pasos clave, como la instalación de Python, la creación de un entorno virtual, la descarga del modelo y la configuración de la memoria. Con estos pasos, deberías poder ejecutar Phi-2 y disfrutar de sus poderosas capacidades.

Język: ES | Wyświetlenia: 5

← Powrót do listy artykułów