--- library_name: transformers datasets: - somosnlp/lenguaje-claro-dataset language: - es license: apache-2.0 --- # Model Card for Phi-2-LC Este modelo es el primer paso hacia un modelo de lenguaje que pueda usarse para reescribir textos de carácter administrativo con el objetivo de mejorar su comprensión y lecturabilidad para todo el mundo. ## Model Details ### Model Description - **Developed by:** [Sergio Chicón](https://huggingface.co/telodigoensergio) - **Model type:** Language model, instruction tuned - **Language(s):** Spanish (`es-ES`) - **License:** apache-2.0 - **Fine-tuned from model:** [phi-2](https://huggingface.co/microsoft/phi-2) - **Dataset used:** [Lenguaje-Claro-Dataset](https://huggingface.co/datasets/somosnlp/lenguaje-claro-dataset) - ### Model Sources - **Repository:** [Google Colab](https://colab.research.google.com/drive/1qSOtPtRHCN5D1VW6MG-pe17OUZf4D2Q5?usp=sharing) ## Uses ### Direct Use El modelo "Phi-2-LC" ha sido creado específicamente para simplificar textos administrativos y legales que suelen ser difíciles de entender debido a su complejidad y uso de jerga especializada. Su uso principal es facilitar la comprensión de estos textos para personas sin formación especializada en áreas legales o administrativas, así como para mejorar la accesibilidad de la información proporcionada por los ministerios de España a través de sus páginas web. ### Out-of-Scope Use Este modelo no está diseñado para interpretación legal formal o para la redacción de documentos legales o administrativos oficiales, dado que la simplificación podría omitir aspectos críticos necesarios para una correcta interpretación legal. ## Bias, Risks, and Limitations Dado que el dataset utilizado para el entrenamiento del modelo proviene exclusivamente de textos gubernamentales españoles, es probable que el modelo pueda exhibir sesgos relacionados con el contexto cultural y legal específico de España. Estos sesgos pueden influir en la generalización del modelo cuando se aplique a textos de naturaleza o origen diferentes. Se recomienda una evaluación continua del modelo para identificar y mitigar tales sesgos de manera efectiva. ### Recommendations Se recomienda usar el modelo conscientemente, entendiendo que puede tener limitaciones en contextos fuera del ámbito administrativo español y que los resultados deben ser verificados por expertos en el contexto de uso. ## Environmental Impact - **Hardware Type:** T4 - 16GB - **Hours used:** 3 - **Cloud Provider:** Google - **Compute Region:** Europe - **Carbon Emitted:** 0.13 kg CO2 eq. ## How to Get Started with the Model ``` !pip install transformers !pip install bitsandbytes !pip install accelerate import torch from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig model_id = 'phi-2-LC' # example model ID tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id) ``` ### Cargar el tokenizador y el modelo ``` tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, device_map='auto', quantization_config=bnb_config, trust_remote_code=True) ``` ### Configuración de BitsAndBytes para optimización ``` bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type='nf4', bnb_4bit_compute_dtype='float16', bnb_4bit_use_double_quant=True ) ``` ### Definir el prompt y generar texto aclarado ``` def generate_clear_text(text): prompt = f"""###System: Lee el siguiente texto y hazlo más claro: ###Texto: {text} ###Texto aclarado: """ inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=False, padding=True, truncation=True) outputs = model.generate(**inputs, max_length=1000) clear_text = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0] return clear_text ``` ### Uso del modelo para clarificar un ejemplo de texto ``` sample_text = "El procedente documento detalla la normativa aplicable a..." clear_text = generate_clear_text(sample_text) print(clear_text) ``` ## Evaluación ### Datos de Prueba, Factores y Métricas #### Datos de Prueba La evaluación se llevó a cabo en un conjunto separado de textos administrativos, similares en estilo y complejidad a los datos de entrenamiento, asegurando que el modelo fuera probado en condiciones similares a su entorno de entrenamiento. #### Factores La evaluación se desagregó por el tipo de texto administrativo para evaluar el rendimiento en diferentes tipos de documentos legales y administrativos. ### Resultados El modelo demostró un aumento significativo en los puntajes de legibilidad y mantuvo una alta fidelidad a los textos originales, lo que indica una simplificación efectiva sin perder información importante. ## Impacto Ambiental Las emisiones de carbono fueron estimadas utilizando la [calculadora de impacto de aprendizaje automático](https://mlco2.github.io/impact#compute) proporcionada en [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Tipo de Hardware:** T4 - 16GB - **Horas utilizadas:** 3 - **Proveedor de la Nube:** Google Cloud - **Región de Cómputo:** Europa - **Carbono Emitido:** 0.13 kg CO2 eq. ## Especificaciones Técnicas ### Arquitectura y Objetivo del Modelo Phi-2-LC se basa en la arquitectura Phi-2, que es un modelo transformador ajustado a instrucciones diseñado para procesar y simplificar textos legales y administrativos complejos. ### Infraestructura de Cómputo #### Hardware El proceso de ajuste fino se llevó a cabo utilizando las GPU T4 de Google Cloud, que proporcionaron la capacidad de cómputo necesaria. #### Software - **Librerías:** Transformers, BitsAndBytes, Accelerate ## Licencia El modelo se publica bajo la licencia apache-2.0, que permite tanto el uso académico como comercial, siempre y cuando se acredite a los autores originales. ## Citación **BibTeX:** ```bibtex @software{phi2_lc_model, author = {Sergio Chicón}, title = {Phi-2-LC: Un Modelo para Simplificar Textos Administrativos}, month = apr, year = 2024, url = {https://huggingface.co/somosnlp/phi-2-lc} } ``` ## More Information This project was developed during the [Hackathon #Somos600M](https://somosnlp.org/hackathon) organized by SomosNLP. The model was trained using GPUs sponsored by HuggingFace. **Team:** [Rubén de la Fuente](https://huggingface.co/rdlf) [Sergio Chicón](https://huggingface.co/telodigoensergio) [Marta F. Gómez](https://huggingface.co/Maruxine)