Amaru-VL-3B / README.md
NovaIALATAM's picture
Update README.md
69510f6 verified
metadata
base_model: unsloth/Qwen2.5-VL-3B-Instruct
library_name: peft
tags:
  - base_model:adapter:unsloth/Qwen2.5-VL-3B-Instruct
  - lora
  - sft
  - transformers
  - trl
  - unsloth
license: cc-by-4.0
datasets:
  - NovaIALATAM/CuPer_Text
  - NovaIALATAM/CuPer_Images
language:
  - es
pipeline_tag: image-text-to-text

AMARU

BIENVENIDOS A AMARU

Detalles del Modelo

  • Nombre del Modelo: Amaru-VL-3B
  • Versi贸n del Modelo: 1.0
  • Desarrollador/Organizaci贸n: NovaIA, laboratorio de IA de Grupo Neura
  • Fecha de Lanzamiento: Agosto 2025
  • Licencia: cc-by-4.0
  • Idioma(s): Espa帽ol (principalmente, con capacidades multiling眉es heredadas del modelo base)
  • Repositorio: NovaIALATAM/Amaru-VL-3B
  • Contacto: Para m谩s informaci贸n, contactar a NovaIA a trav茅s de su sitio web.

Descripci贸n del Modelo

Amaru-VL-3B es un modelo de lenguaje multimodal (VLM) fine-tuneado mediante LoRA a partir del modelo base Qwen2.5-VL-3B. Desarrollado por NovaIA, el laboratorio de inteligencia artificial de Grupo Neura, este modelo est谩 dise帽ado para ser un experto en las culturas precolombinas del Per煤, abordando las limitaciones de los grandes modelos de lenguaje que a menudo cometen errores en tareas relacionadas con el patrimonio cultural latinoamericano. Amaru representa el primer acercamiento hacia un LLM latinoamericano especializado, manteniendo las capacidades generales de generaci贸n de texto del modelo base para tareas de prop贸sito general, mientras integra conocimiento profundo sobre civilizaciones ancestrales peruanas como Chav铆n, Moche, Nazca, Chim煤, Lambayeque y otras.

El modelo soporta entradas multimodales (texto e im谩genes) y es 煤til para tareas como an谩lisis de artefactos arqueol贸gicos, respuestas a preguntas hist贸ricas, generaci贸n de descripciones culturales y m谩s. Fue entrenado con un total de aproximadamente 5 millones de tokens, combinando datasets abiertos y privados para asegurar precisi贸n hist贸rica y cultural.

Arquitectura: Basado en Qwen2.5-VL-3B, un modelo de visi贸n-lenguaje con aproximadamente 3 mil millones de par谩metros, optimizado para eficiencia con soporte para cuantizaci贸n (e.g., 4-bit) y long context.

Objetivos Principales:

  • Proporcionar conocimiento preciso sobre culturas precolombinas peruanas.
  • Servir como base para aplicaciones educativas, de investigaci贸n y de preservaci贸n cultural en Am茅rica Latina.
  • Mantener versatilidad para generaci贸n de texto general.

Usos

Usos Directos

  • An谩lisis Multimodal: Identificaci贸n y descripci贸n de im谩genes relacionadas con artefactos, arquitectura o iconograf铆a precolombina (e.g., m谩scaras Lambayeque, cer谩mica Moche).
  • Preguntas y Respuestas: Consultas sobre historia, rituales, econom铆a y arte de civilizaciones peruanas.
  • Generaci贸n de Texto: Creaci贸n de contenido educativo o narrativo sobre patrimonio cultural, as铆 como tareas generales de lenguaje.

Ejemplo de Carga y Uso

El modelo se carga f谩cilmente con Unsloth para inferencia eficiente. Aqu铆 un ejemplo:

from unsloth import FastVisionModel, FastTextModel
import torch
from transformers import TextStreamer
from PIL import Image
import requests
from io import BytesIO

model_id = "NovaIALATAM/Amaru-VL-3B"

# Cargar modelo y tokenizer con Unsloth
base_model, tokenizer = FastVisionModel.from_pretrained(
    model_name=model_id,
    max_seq_length=8192,
    dtype=None,
    load_in_4bit=False,  
    use_gradient_checkpointing="unsloth", 
)

FastVisionModel.for_inference(base_model)

# Imagen de ejemplo
path_image = "https://cloudfront-us-east-1.images.arcpublishing.com/infobae/WARBZQ3A65BQRLN3D63I3JJBIY.jpg"
response = requests.get(path_image, timeout=10)
response.raise_for_status()
image = Image.open(BytesIO(response.content))

messages = [
    {"role": "system", "content": [
        {"type": "text", "text": "Amaru, eres un experto conocedor de diferentes culturas precolombinas del Per煤."}]},
    {"role": "user", "content": [
        {"type": "image", "image": image},
        {"type": "text", "text": "驴Qu茅 es esto?"}
    ]}
]

inputs = tokenizer(
    images=image,
    text=tokenizer.apply_chat_template(messages, add_generation_prompt=True),
    add_special_tokens=False,
    return_tensors="pt",
).to("cuda")

text_streamer = TextStreamer(tokenizer, skip_prompt=True)
_ = base_model.generate(**inputs, streamer=text_streamer, max_new_tokens=2048,
                   use_cache=True, temperature=0.05, min_p=0.1)

Usos en Aplicaciones Downstream

  • Integraci贸n en chatbots educativos para museos o plataformas de aprendizaje.
  • Fine-tuning adicional para tareas espec铆ficas en patrimonio cultural o turismo.
  • Uso en herramientas de IA para investigaci贸n arqueol贸gica.

Usos Fuera de Alcance

  • No se recomienda para aplicaciones m茅dicas, legales o de alta precisi贸n sin validaci贸n adicional.
  • Evitar usos que promuevan desinformaci贸n hist贸rica o cultural.
  • No est谩 optimizado para idiomas no latinos o contextos no relacionados con el conocimiento base.

Sesgos, Riesgos y Limitaciones

  • Sesgos: El modelo hereda sesgos potenciales del modelo base Qwen2.5-VL-3B y de los datasets de entrenamiento. Dado el enfoque en culturas peruanas, podr铆a subrepresentar otras culturas latinoamericanas o globales. Los datasets abiertos (CuPer_Text y CuPer_Images) fueron curados para precisi贸n, pero los privados podr铆an introducir sesgos no documentados.
  • Riesgos: Posibles alucinaciones en respuestas fuera del dominio precolombino, como en modelos de IA generales. En temas sensibles como rituales ind铆genas, podr铆a generar contenido inexacto si no se gu铆a adecuadamente.
  • Limitaciones:
    • Rendimiento inferior en idiomas no espa帽oles o en contextos modernos no relacionados.
    • Requiere hardware GPU para inferencia eficiente (soporte para cuantizaci贸n mitiga esto).
    • No evaluado exhaustivamente; se recomienda validaci贸n humana para usos cr铆ticos.
  • Recomendaciones:
    • Usar prompts espec铆ficos (e.g., "Act煤a como un experto en culturas precolombinas del Per煤") para maximizar precisi贸n.
    • Usar una temperatura baja para evitar alucinaciones: temperature = 0.05

Detalles del Entrenamiento

Datos de Entrenamiento

El modelo fue fine-tuneado con un total de ~5 millones de tokens, incluyendo:

  • CuPer_Text (abierto, cc-by-nc-4.0): 4,144 muestras (3,268 train, 876 test), ~650,000 tokens. Formato: Preguntas y respuestas en texto sobre culturas precolombinas peruanas (e.g., historia, arquitectura, rituales). Creado por NovaIA para asegurar precisi贸n cultural.
  • CuPer_Images (abierto, cc-by-nc-4.0): 4,247 muestras (3,396 train, 851 test), ~2.2 millones de tokens. Formato: Preguntas, im谩genes y respuestas en texto, enfocadas en aspectos visuales como artefactos, estructuras y iconograf铆a (e.g., acueductos Nazca, m谩scaras Lambayeque).
  • Datasets Privados: Datos adicionales curados por NovaIA, contribuyendo al total de 5 millones de tokens, con 茅nfasis en conocimiento hist贸rico validado.

Todos los datos est谩n en espa帽ol y centrados en culturas como Lambayeque, Moche, Nazca, Chav铆n y Chim煤.

Procedimiento de Entrenamiento

  • M茅todo: Fine-tuning LoRA (Low-Rank Adaptation) sobre Qwen2.5-VL-3B para eficiencia.
  • Hiperpar谩metros: No especificados p煤blicamente; optimizados para contexto largo (hasta 8192 tokens) y multimodalidad.
  • Hardware: Entrenado en infraestructura de NovaIA, compatible con Unsloth para aceleraci贸n.
  • Duraci贸n: No detallada, pero enfocado en precisi贸n cultural sobre volumen.

Impacto Ambiental

  • Estimaci贸n de Carbono: El fine-tuning con LoRA es eficiente, estimando un impacto bajo (~equivalente a unas horas de GPU A100). No se calcul贸 formalmente.
  • Eficiencia: Soporte para cuantizaci贸n 4-bit reduce el consumo en inferencia.

Citaci贸n

Si utilizas este modelo en tu investigaci贸n o aplicaci贸n, por favor cita como:

@misc{amaru_vl_3b_2025,
  title = {Amaru-VL-3B: Modelo Multimodal Especializado en Culturas Precolombinas del Per煤},
  author = {NovaIA - Grupo Neura},
  year = {2025},
  publisher = {Hugging Face},
  url = {https://huggingface.co/NovaIALATAM/Amaru-VL-3B}
}

M谩s Informaci贸n

Para m谩s detalles sobre los datasets: