16.1 C
Santiago

Despliegue de Inferencia LLM Offline: Setup Riguroso y Aislamiento de Dependencias

Published:

El concepto de Inferencia LLM Offline es el eje central de este análisis.

Publicidad

Requisitos Previos

No hay tiempo para la teoría. Si vas a procesar datos sensibles o modelos críticos, tu stack no puede depender de la Nube. La reciente escalada de filtraciones de credenciales en entornos cloud y el aumento de las alertas de ataques contra la infraestructura alojada en la nube demandan una ingeniería de aislamiento total. El objetivo es simple: correr LLMs en tu propio hardware y sin conexión. Necesitas un host con Linux (Ubuntu/Debian preferentemente), Docker Engine y al menos dieciséis GB de RAM; si pretendes hacer finetuning con QLoRA, una NVIDIA con CUDA es obligatoria. Olvídate de la Nube, es un spoiler de tu operación.

Paso 1: Instalación de Motor de Inferencia Base

Usaremos Ollama o LocalAI como motor standalone para la inferencia rápida, ya que abstraen la complejidad de llama.cpp. La vía más limpia es Docker. Ejecuta esto para asegurar la base del sistema, eliminando cualquier versión previa del motor y desplegando el contenedor de la última versión estable (anterior a julio de dos mil veinticinco).

# Limpieza de entornos previos y actualización de dependencias sudo apt update && sudo apt install docker.io -y sudo systemctl enable docker sudo systemctl start docker  # Despliegue del motor de inferencia local (Ollama) docker pull ollama/ollama:latest

Publicidad

Una vez con el image en local, el despliegue se hace con persistencia para los modelos. No hay descargas en ejecución; todo el pull debe hacerse desde una estación de trabajo aislada o air-gapped.

# Despliegue con volumen persistente docker run -d \   --name ollama \   -v ollama:/root/.ollama \   -p 11434:11434 \   --restart=always \   ollama/ollama  # Comprobación de servicio docker ps | grep ollama

Paso 2: Aislamiento de Dependencias PyTorch/HuggingFace (Offline)

La parte crítica es el finetuning o el uso de scripts personalizados con PyTorch y HuggingFace Transformers sin acceso a pypi o a los endpoints de HF. El entorno debe ser un entorno virtual dedicado.

# Creación y activación de entorno virtual Python python3 -m venv .env_offline source .env_offline/bin/activate  # Descarga inicial de dependencias (Ejecutar en un host con red) # Esto crea los paquetes .whl en la carpeta 'offline_packages' pip install --upgrade pip pip wheel torch==2.3.0 torchvision torchaudio \     transformers==4.36.2 bitsandbytes==0.41.3 peft==0.6.2 \     accelerate==0.24.1 datasets==2.15.0 \     --wheel-dir ./offline_packages

Publicidad

Transfiere la carpeta `offline_packages` y el archivo `requirements.txt` (que generaste previamente) a tu host air-gapped. Ahora, realiza la instalación sin conexión a internet, forzando la búsqueda solo en el directorio local.

# Instalación sin internet (Ejecutar en el host aislado) pip install --no-index --find-links ./offline_packages \     -r requirements.txt

Paso 3: Gestión de Modelos y Pesos QLoRA

Los modelos base (como Llama) deben descargarse previamente de Hugging Face Hub en el host conectado. La librería Transformers permite la operación offline, crucial para evitar callbacks no deseados o fallos de conexión.

# Configuración de entorno para el modo offline # Se establece esta variable ANTES de ejecutar cualquier script HF export HF_HUB_OFFLINE=1  # Ruta donde deben estar los modelos descargados (cache) # Los modelos deben estar pre-cargados en: # ~/.cache/huggingface/hub/

Publicidad

Para la descarga inicial de un modelo (solo en el host conectado), usa un script simple. Esto almacena todos los blobs necesarios en tu cache local.

from transformers import AutoModelForCausalLM, AutoTokenizer import os  model_id = "meta-llama/Llama-2-7b-hf"  # Asegura que la descarga use la caché tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id)  # Luego, transporta la carpeta de caché a tu host aislado print(f"Modelo descargado en: {os.path.expanduser('~/.cache/huggingface/hub')}")

Paso 4: Test de Inferencia Aislada y Verificación

Verifica que el motor Docker está vivo y accesible. Luego, importa el modelo base que necesitas (si usas Ollama/LocalAI) o ejecuta tu script de inferencia QLoRA que ahora opera estrictamente con los archivos de cache local y el flag `HF_HUB_OFFLINE=1` activo.

# Prueba de conectividad al motor Ollama docker logs ollama --tail 10 curl http://localhost:11434/api/tags

Publicidad

Si el curl devuelve tags, el motor está listo para servir modelos pre-descargados. La confianza técnica solo reside en binaries que puedes auditar y dependencias empaquetadas que no requieren un fetch dinámico de la red. Cualquier otra aproximación es un riesgo de data exfiltration.

Cipher ‘Localhost’ Vance,
Bunker de Soberanía de Datos.

Esperamos que esta guía sobre Inferencia LLM Offline te haya dado una nueva perspectiva.

Related articles

spot_img

Recent articles

spot_img