Student Model - Knowledge Distillation Pipeline for GDPR Legal AI
Grupo 1 | Modelamiento de Datos II | Postgrado de Informática
🎯 Descripción
smollm2_rgpd_final es un modelo de lenguaje fine-tuned específicamente para asistencia legal en materia de protección de datos personales según el REGLAMENTO (UE) 2016/679 DEL PARLAMENTO EUROPEO Y DEL CONSEJO (RGPD/GDPR).
Este proyecto forma parte del trabajo académico desarrollado en el programa de Maestría en Inteligencia Artificial y Data Science para la Transformación de Negocios, donde se exploraron técnicas avanzadas de fine-tuning para adaptar modelos de lenguaje pequeños a dominios legales especializados.
🎓 Contexto del Proyecto
El modelo fue desarrollado como parte del módulo Modelamiento de Datos II, bajo la supervisión del Prof. Anvi Alex Eponon, en el Postgrado de Informática.
📜 Base Legal
El entrenamiento se basó en el texto completo del:
Reglamento (UE) 2016/679 – Reglamento General de Protección de Datos
Adoptado el 27 de abril de 2016
Relativo a la protección de personas físicas en el tratamiento de datos personales
Derogación de la Directiva 95/46/CE
🏗️ Arquitectura del Proyecto
Este modelo representa el Student Model en un pipeline de Knowledge Distillation desarrollado por Grupo 1.
Pipeline de Destilación
┌─────────────────────────────────────────┐
│ Teacher Model (Qwen2.5-0.5B-Instruct) │
│ Fine-tuned with LoRA │
└──────────────────┬──────────────────────┘
│ Knowledge Transfer
│ (SVOMPT Method)
▼
┌─────────────────────────────────────────┐
│ Student Model (SmolLM2-135M-Instruct) │
│ This Repository - Grupo 1 │
└─────────────────────────────────────────┘
🔧 Técnica: LoRA/QLoRA (Low-Rank Adaptation) para fine-tuning eficiente
📊 Especialización: Reglamento General de Protección de Datos (RGPD/GDPR)
🧠 Método: Knowledge Distillation con SVOMPT
💡 Aplicaciones:
Consultas sobre derechos de protección de datos
Interpretación de artículos del RGPD
Asesoramiento sobre cumplimiento normativo
Generación de políticas de privacidad
Análisis de casos de tratamiento de datos
Descomposición de preguntas legales complejas
📊 Dataset
Dataset Utilizado
Nombre: umsa-v1/dataset_parafraseado_grupo1 Ubicación: Hugging Face Hub Tipo: Datos parafraseados y especializados en RGPD
Formatos Soportados
El modelo soporta datos de entrenamiento en formato JSONL con dos estructuras:
1️⃣ Formato Chat (Conversacional)
json
1{2"messages":[3{"role":"user","content":"¿Cuáles son los principios del RGPD?"},4{"role":"assistant","content":"Los principios del RGPD incluyen..."}5]6}
2️⃣ Formato Question/Answer (Q&A)
json
1{2"question":"¿Qué es el derecho al olvido?",3"answer":"El derecho al olvido, establecido en el Artículo 17..."4}
1from transformers import pipeline
23# Inicializar el modelo4generator = pipeline(5"text-generation",6 model="smollm2_rgpd_final",7 device="cuda"# o "cpu" si no tienes GPU8)910# Hacer una consulta sobre RGPD11question ="¿Cuáles son los derechos de los interesados según el RGPD?"1213output = generator(14[{"role":"user","content": question}],15 max_new_tokens=256,16 return_full_text=False17)[0]1819print(output["generated_text"])
Uso Avanzado - Con Configuración Personalizada
python
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
34# Cargar modelo y tokenizador5model_name ="smollm2_rgpd_final"6tokenizer = AutoTokenizer.from_pretrained(model_name)7model = AutoModelForCausalLM.from_pretrained(8 model_name,9 torch_dtype=torch.float16,10 device_map="auto"11)1213# Preparar el prompt14messages =[15{"role":"user","content":"Explica el principio de minimización de datos del RGPD"}16]17input_ids = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)1819# Generar respuesta20outputs = model.generate(21 input_ids,22 max_new_tokens=200,23 temperature=0.7,24 top_p=0.9,25 do_sample=True26)2728response = tokenizer.decode(outputs[0], skip_special_tokens=True)29print(response)
1question ="¿Qué es el derecho al olvido según el RGPD?"2# Respuesta basada en Artículo 17 del RGPD
Salida esperada: Explicación detallada del derecho de supresión, condiciones y excepciones.
Ejemplo 2: Principios de Protección de Datos
python
1question ="Explica el principio de minimización de datos"2# Información del Artículo 5.1.c del RGPD
Salida esperada: Descripción del principio, aplicación práctica y ejemplos.
Ejemplo 3: Transferencias Internacionales
python
1question ="¿Cuándo se puede transferir datos personales fuera de la UE?"2# Respuesta basada en Capítulo V del RGPD
Salida esperada: Mecanismos legales, cláusulas contractuales tipo, y excepciones.
Ejemplo 4: Descomposición de Preguntas Complejas
python
1question ="¿Cómo debe una empresa implementar el principio de privacy by design?"2# El modelo descompondrá la pregunta en aspectos técnicos, organizativos y legales
📊 Métricas y Evaluación
Evaluación Cualitativa
El modelo fue evaluado en:
✅ Precisión en la interpretación de artículos del RGPD
✅ Coherencia en respuestas técnicas
✅ Capacidad de descomposición de preguntas complejas
✅ Consistencia terminológica legal
Comparación con Baseline
Modelo
Parámetros
Perplexity
Coherencia Legal
SmolLM2-135M (base)
135M
-
Baja
Qwen2.5-0.5B (teacher)
500M
-
Alta
SmolLM2-135M (fine-tuned)
135M
-
Media-Alta
📄 Licencia
Este proyecto está bajo licencia MIT. Ver el archivo LICENSE para más detalles.
Crea una rama para tu feature (git checkout -b feature/MejorLegal)
Commit tus cambios (git commit -m 'Add: Nueva funcionalidad legal')
Push a la rama (git push origin feature/MejorLegal)
Abre un Pull Request
⚠️ Disclaimer
Este modelo es un proyecto académico con fines educativos y de investigación. No debe ser utilizado como sustituto de asesoramiento legal profesional. Para consultas legales vinculantes, siempre consulte con un abogado especializado en protección de datos.
Desarrollado con ❤️ por el Grupo 1
Maestría en IA y Data Science para la Transformación de Negocios
🛡️ Protegiendo datos, transformando negocios 🚀
Knowledge Distillation • Legal AI • RGPD/GDPR • LoRA/QLoRA