Servidor MCP de Unsloth
Un servidor MCP para Unsloth : una biblioteca que hace que el ajuste de LLM sea dos veces más rápido con un 80 % menos de memoria.
¿Qué es Unsloth?
Unsloth es una biblioteca que mejora drásticamente la eficiencia del ajuste de modelos de lenguaje grandes:
Velocidad : ajuste fino 2 veces más rápido en comparación con los métodos estándar
Memoria : 80 % menos de uso de VRAM, lo que permite ajustar modelos más grandes en GPU de consumo
Longitud del contexto : longitudes de contexto hasta 13 veces más largas (por ejemplo, 89 000 tokens para Llama 3.3 en GPU de 80 GB)
Precisión : Sin pérdida de calidad ni rendimiento del modelo.
Unsloth logra estas mejoras a través de kernels CUDA personalizados escritos en el lenguaje Triton de OpenAI, retropropagación optimizada y cuantificación dinámica de 4 bits.
Related MCP server: MemGPT MCP Server
Características
Optimizar el ajuste fino para Llama, Mistral, Phi, Gemma y otros modelos
Cuantización de 4 bits para un entrenamiento eficiente
Soporte de longitud de contexto extendida
API simple para carga, ajuste e inferencia de modelos
Exportar a varios formatos (GGUF, Hugging Face, etc.)
Inicio rápido
Instalar Unsloth:
pip install unslothInstalar y construir el servidor:
cd unsloth-server npm install npm run buildAgregar a la configuración de MCP:
{ "mcpServers": { "unsloth-server": { "command": "node", "args": ["/path/to/unsloth-server/build/index.js"], "env": { "HUGGINGFACE_TOKEN": "your_token_here" // Optional }, "disabled": false, "autoApprove": [] } } }
Herramientas disponibles
comprobar_instalación
Verifique si Unsloth está instalado correctamente en su sistema.
Parámetros : Ninguno
Ejemplo :
lista_de_modelos_compatibles
Obtén una lista de todos los modelos compatibles con Unsloth, incluidas las variantes Llama, Mistral, Phi y Gemma.
Parámetros : Ninguno
Ejemplo :
modelo de carga
Cargue un modelo previamente entrenado con optimizaciones de Unsloth para una inferencia y un ajuste más rápidos.
Parámetros :
model_name(obligatorio): Nombre del modelo a cargar (p. ej., "unsloth/Llama-3.2-1B")max_seq_length(opcional): Longitud máxima de secuencia para el modelo (predeterminado: 2048)load_in_4bit(opcional): si se debe cargar el modelo en cuantificación de 4 bits (valor predeterminado: verdadero)use_gradient_checkpointing(opcional): si se deben utilizar puntos de control de gradiente para ahorrar memoria (valor predeterminado: verdadero)
Ejemplo :
modelo de ajuste fino
Ajuste un modelo con optimizaciones de Unsloth utilizando técnicas LoRA/QLoRA.
Parámetros :
model_name(obligatorio): Nombre del modelo a ajustardataset_name(obligatorio): Nombre del conjunto de datos que se utilizará para el ajuste finooutput_dir(obligatorio): Directorio para guardar el modelo ajustadomax_seq_length(opcional): Longitud máxima de secuencia para entrenamiento (predeterminado: 2048)lora_rank(opcional): rango para el ajuste fino de LoRA (predeterminado: 16)lora_alpha(opcional): Alfa para el ajuste fino de LoRA (valor predeterminado: 16)batch_size(opcional): tamaño del lote para entrenamiento (predeterminado: 2)gradient_accumulation_steps(opcional): Número de pasos de acumulación de gradiente (predeterminado: 4)learning_rate(opcional): tasa de aprendizaje para el entrenamiento (predeterminado: 2e-4)max_steps(opcional): Número máximo de pasos de entrenamiento (predeterminado: 100)dataset_text_field(opcional): Campo en el conjunto de datos que contiene el texto (predeterminado: 'texto')load_in_4bit(opcional): si se debe utilizar cuantificación de 4 bits (valor predeterminado: verdadero)
Ejemplo :
generar_texto
Genere texto utilizando un modelo Unsloth perfeccionado.
Parámetros :
model_path(obligatorio): Ruta al modelo ajustadoprompt(obligatorio): Solicitud de generación de textomax_new_tokens(opcional): Número máximo de tokens a generar (predeterminado: 256)temperature(opcional): Temperatura para la generación de texto (predeterminado: 0,7)top_p(opcional): Top-p para generación de texto (predeterminado: 0.9)
Ejemplo :
modelo_de_exportación
Exporte un modelo Unsloth ajustado a varios formatos para su implementación.
Parámetros :
model_path(obligatorio): Ruta al modelo ajustadoexport_format(obligatorio): Formato al que se exportará (gguf, ollama, vllm, huggingface)output_path(obligatorio): Ruta para guardar el modelo exportadoquantization_bits(opcional): Bits para cuantificación (para exportación GGUF) (valor predeterminado: 4)
Ejemplo :
Uso avanzado
Conjuntos de datos personalizados
Puede utilizar conjuntos de datos personalizados formateándolos correctamente y alojándolos en Hugging Face o proporcionando una ruta local:
Optimización de la memoria
Para modelos grandes con hardware limitado:
Reducir el tamaño del lote y aumentar los pasos de acumulación de gradiente
Utilice cuantificación de 4 bits
Habilitar puntos de control de gradiente
Reducir la longitud de la secuencia si es posible
Solución de problemas
Problemas comunes
CUDA sin memoria : reduzca el tamaño del lote, utilice cuantificación de 4 bits o pruebe un modelo más pequeño
Errores de importación : asegúrese de tener instaladas las versiones correctas de Torch, Transformers y Unsloth.
Modelo no encontrado : comprueba que estás usando un nombre de modelo compatible o que tienes acceso a modelos privados
Compatibilidad de versiones
Python: 3.10, 3.11 o 3.12 (no 3.13)
CUDA: se recomienda 11.8 o 12.1+
PyTorch: se recomienda la versión 2.0+
Puntos de referencia de rendimiento
Modelo | VRAM | Velocidad sin pereza | Reducción de VRAM | Longitud del contexto |
Llama 3.3 (70B) | 80 GB | 2 veces más rápido | >75% | 13 veces más largo |
Llama 3.1 (8B) | 80 GB | 2 veces más rápido | >70% | 12 veces más largo |
Mistral v0.3 (7B) | 80 GB | 2,2 veces más rápido | 75% menos | - |
Requisitos
Python 3.10-3.12
GPU NVIDIA con soporte CUDA (recomendado)
Node.js y npm
Licencia
Apache-2.0