Modelos pequeños y especializados: la clave para una ciberseguridad efectiva y local

CyberSecQwen-4B es un modelo de ciberseguridad desarrollado para el AMD Developer Hackathon, entrenado en un único AMD Instinct MI300X.

¿Por qué es importante? Los modelos avanzados son eficaces en muchas tareas, pero son costosos de operar y no manejan adecuadamente los casos complejos que enfrentan los profesionales de la ciberseguridad.

Importancia del modelo

En ciberseguridad defensiva, los compromisos de costos y eficiencia no son aceptables. A continuación se presentan algunas razones clave:

  • La evidencia sensible debe permanecer interna. Los analistas no deben compartir datos críticos en APIs alojadas, ya que esto puede resultar en brechas de seguridad.
  • Los costos por uso de API se acumulan. Un centro de operaciones de seguridad (SOC) maneja miles de alertas diarias, lo que convierte los gastos en un problema presupuestario.
  • Entornos desconectados son comunes. En sectores críticos, las herramientas deben operar en dispositivos locales, no en la nube.
  • Los adversarios se vuelven más automáticos. Los grupos de ransomware utilizan modelos de lenguaje para generar ataques, lo que exige que la defensa opere a la misma velocidad.

Por lo tanto, la implementación local es crucial, pero no es suficiente por sí sola.

Modelos pequeños y especializados

Un modelo generalista de 70B puede ser local, pero no es práctico. En cambio, un modelo especializado de 4B puede superar a un generalista de 8B en tareas específicas de inteligencia cibernética.

El modelo CyberSecQwen-4B se ha diseñado para tareas concretas, como la clasificación CWE y la respuesta a preguntas estructuradas sobre ciberseguridad. En pruebas, ha demostrado ser más eficiente que su competidor, Foundation-Sec-Instruct-8B, en términos de precisión.

Métricas (CTI-Bench, n=5, temp 0.3) CyberSecQwen-4B Foundation-Sec-Instruct-8B Δ
CTI-MCQ (2,500 ítems) 0.5868 ± 0.0029 0.4996 +8.7 pp
CTI-RCM (1,000 CVE→CWE) 0.6664 ± 0.0023 0.6850 −1.9 pp
Parámetros 4 B 8 B mitad del tamaño

CyberSecQwen-4B logra retener el 97.3 % de la precisión de CTI-RCM de Foundation-Sec-Instruct-8B, superando su puntuación de CTI-MCQ por 8.7 puntos, lo que es relevante para los defensores en la elección de herramientas.

Metodología de entrenamiento

El video de cinco minutos a continuación ilustra la metodología de entrenamiento y los resultados de evaluación de manera visual. Para más detalles, el resto del contenido abarca la misma información con configuraciones precisas.

Uso del AMD MI300X

Todo el proceso de entrenamiento y evaluación se realiza en una única instancia de AMD Instinct MI300X de 192 GB. Esta configuración permite ejecutar el modelo sin complicaciones adicionales, utilizando recursos de manera eficiente.

Componente Versión
Hardware AMD Instinct MI300X 192 GB · gfx942
ROCm 7.0
Docker vllm/vllm-openai-rocm:latest
PyTorch 2.6.0 (ROCm)
flash-attn 2.8.3
vLLM 0.10.1
transformers / peft / trl último en el momento del entrenamiento

El proceso se puede adaptar a otras GPU de datacenter con más de 40 GB de memoria, lo cual ha sido probado con un modelo hermano.

Datos de entrenamiento

Se han utilizado dos conjuntos de datos, ambos con licencia Apache-2.0:

  1. Mapeos CVE → CWE de 2021, obtenidos de registros públicos de MITRE/NVD, asegurando que no haya contaminación en los datos de evaluación.
  2. Preguntas y respuestas sintéticas para analistas defensivos, basadas en descripciones de CVE.

El modelo base es Qwen3-4B-Instruct-2507, que se ha ajustado específicamente para mantener la precisión en las respuestas.

El efecto de este ajuste es notable:

Modelo CTI-RCM CTI-MCQ
Qwen3-4B-Instruct-2507 (IT crudo) 0.519 0.473
CyberSecQwen-4B (este ajuste) 0.6664 0.5868

El ajuste fino recupera y supera los puntos de referencia iniciales, mejorando la precisión sin perder el formato de respuesta.

Receta de entrenamiento

LoRA r = 64 LoRA alpha = 64 # alpha/r = 1.0 LoRA dropout = 0.05 LR = 5e-5 # coseno, proporción de calentamiento 0.03 Épocas = 10 Precisión = bf16 Atención = FlashAttention-2 (adelante + atrás) Longitud máxima de secuencia = 4096 Lote = 4 (sin acumulación) Optimizador = paged_adamw_8bit 

FlashAttention-2 se utiliza en Qwen, lo que mejora el rendimiento en comparación con otros modelos similares.

Modelo complementario

Para evaluar si los resultados son específicos del modelo o de la receta, se entrenó un modelo hermano, Gemma4Defense-2B, utilizando el mismo conjunto de datos y parámetros.

Modelo CTI-RCM (media ± std) CTI-MCQ
CyberSecQwen-4B (base Qwen) 0.6664 ± 0.0023 0.5868 ± 0.0029
Gemma4Defense-2B (base Gemma) 0.6754 ± 0.0035 0.6042 ± 0.0090

Ambos modelos muestran resultados similares, lo que indica que el ajuste fino es clave para la eficacia, independientemente de la familia de modelos.

Desafíos y soluciones

Como en cualquier proyecto de AMD ROCm, hemos enfrentado varios desafíos. A continuación, se presentan algunos de los problemas y sus soluciones:

Problema Solución
FA2 falla en Gemma-4 con head_dim=512 Se recurre a sdpa para capas de atención global.
Conflictos de núcleos AITER con CyberPal-2.0-20B Ajuste la variable de entorno para evitar conflictos.
bitsandbytes no es compatible oficialmente en ROCm Se utilizó una alternativa que funcionó adecuadamente.
Evaluación con vLLM y plantilla de chat Se utilizó el backend adecuado para evitar problemas con la plantilla.
Cuota ZeroGPU para la demostración Los visitantes anónimos tienen un límite de uso diario, ajustando la aplicación para cada usuario.

Prueba tú mismo

Demostración en vivo (regístrate en HF para obtener un cupón gratuito):
👉 https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/cybersecqwen-chat

Modelo:
👉 https://huggingface.co/lablab-ai-amd-developer-hackathon/CyberSecQwen-4B

Inferencia en tres líneas (cualquier GPU de 12 GB+):

from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_id = "lablab-ai-amd-developer-hackathon/CyberSecQwen-4B" tok = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto") messages = [ {"role": "system", "content": "Eres un asistente de ciberseguridad defensiva. Responde con el ID CWE canónico primero, luego 1-3 oraciones de justificación."}, {"role": "user", "content": "Recorrido de ruta en una aplicación web Java donde la entrada controlada por el usuario se concatena en una ruta de archivo. ¿Cuál es el CWE?"}, ] prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) out = model.generate(**tok(prompt, return_tensors="pt").to(model.device), max_new_tokens=256, temperature=0.3) print(tok.decode(out[0], skip_special_tokens=True)) 

Para un servicio de alto rendimiento, vLLM funciona sin problemas en AMD MI300X. Consulta el repositorio de GitHub para el comando exacto y la configuración recomendada.

Uso previsto

CyberSecQwen-4B está diseñado para profesionales de seguridad en:

  • Clasificación CWE — mapeo de descripciones de vulnerabilidades a categorías MITRE CWE.
  • Preguntas y respuestas sobre CTI — respuestas a preguntas estructuradas sobre conceptos de ciberseguridad.
  • Asistencia en triage defensivo — apoyo a analistas en la priorización de parches y documentación del comportamiento de actores de amenazas.

Este modelo no está diseñado para generar código de explotación ni decisiones automatizadas sin revisión humana.

Próximos pasos

Se planean varias direcciones de desarrollo:

  1. Una variante de 1B para despliegue en laptops, con un objetivo de precisión similar.
  2. Liberación de versiones cuantizadas para ejecutar en dispositivos móviles.
  3. Evaluación continua a medida que se publican nuevos mapeos CVE-CWE.
  4. Resiliencia a ejemplos adversariales. Se busca publicar una versión que refuerce el modelo contra ataques comunes.

Si alguna de estas mejoras es relevante para tu equipo, abre un problema en GitHub para priorizarlas.

Cierre

La conversación sobre modelos avanzados ha estado centrada en la escala. En ciberseguridad defensiva, lo importante es lo que se adapta a tus necesidades reales. Un modelo especializado que opera localmente y protege la evidencia sensible es un avance significativo en el diseño de herramientas de defensa.

Prueba la demostración, revisa la tarjeta del modelo y reporta problemas encontrados. Cada nueva prueba de portabilidad es un dato interesante para el futuro.

athena129 · Presentación del Hackathon de AMD

Ilustración de un hombre mayor con auriculares y chaqueta