|
--- |
|
language: |
|
- es |
|
license: cc-by-sa-4.0 |
|
tags: |
|
- Paraguay |
|
- Culture |
|
- Custom Code |
|
- Guaraní |
|
- unsloth |
|
datasets: |
|
- somosnlp/dataset-cultura-guarani_corpus-it |
|
pipeline_tag: text-generation |
|
widget: |
|
- text: Quién es Tupã? |
|
--- |
|
|
|
<p align="center"> |
|
<img src="https://cdn-uploads.huggingface.co/production/uploads/65f4605f4c2a1312c4d0a4b2/rPUhxgAMZGNqDh4dF5ji3.webp" style="width: 60%; border-radius: 10px;"> |
|
</p> |
|
|
|
# gua-a v0.2 GGUF |
|
|
|
*En la mitología guarani: El padre de la sabiduria usaba un gua'a o loro para intentar comunicarse con su dios supremo Tupã. Haciendo la misma analogía creamos el modelo "gua-a" para difundir la cultura guarani a todos los hispanohablantes.* |
|
|
|
|
|
<!-- |
|
Esta plantilla de Model Card es una adaptación de la de Hugging Face: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md |
|
|
|
¿Cómo utilizar esta plantilla? Copia el contenido en el README.md del repo de tu modelo en el Hub de Hugging Face y rellena cada sección. |
|
|
|
Para más información sobre cómo rellenar cada sección ver las docs: https://huggingface.co/docs/hub/model-cards |
|
--> |
|
|
|
<!-- |
|
|
|
Nombre del modelo: |
|
|
|
Suele haber un nombre corto ("pretty name") para las URLs, tablas y demás y uno largo más descriptivo. Para crear el pretty name podéis utilizar acrónimos. |
|
|
|
Idioma: |
|
|
|
La Model Card puede estar en español o en inglés. Recomendamos que sea en inglés para que la comunidad internacional pueda utilizar vuestro dataset. Teniendo en cuenta que somos una comunidad hispanohablante y no queremos que el idioma sea una barrera, la opción más inclusiva sería escribirla en un idioma y traducirla (automáticamente?) al otro. En el repo entonces habría un README.md (Model Card en inglés) que enlazaría a un README_ES.md (Model Card en español), o viceversa, README.md y README_EN.md. Si necesitáis apoyo con la traducción os podemos ayudar. |
|
|
|
Qué incluir en esta sección: |
|
|
|
Esta sección es como el abstract. Escribir un resumen del modelo y motivación del proyecto (inc. los ODS relacionados). Si el proyecto tiene un logo, incluidlo aquí. |
|
|
|
Si queréis incluir una versión de la Model Card en español, enlazadla aquí al principio (e.g. "A Spanish version of this Model Card can be found under [`README_es.md`](URL)"). De manera análoga para el inglés. |
|
|
|
--> |
|
|
|
## 🦜 Model Details |
|
|
|
**gua-a v0.2**: Esta es una versión mejorada del modelo de lenguaje desarrollado en [somosnlp/gua-a](https://huggingface.co/somosnlp/gua-a) para capturar y comprender instrucciones relacionadas con la cultura guaraní. |
|
Fue ajustado mediante la técnica **Direct Preference Optimization** (DPO) con datos específicos de la cultura guaraní según el libro Ñande Ypykuéra de Narciso R. Colmán, contrastando las respuestas |
|
generadas por **RAG + GPT-4 + Human Feedback** y **mistral-7b-bnb-4bit** para el entranamiento por DPO. |
|
**gua-a v0.2** deriva de un modelo base **Mistral 7B** y se optimiza mediante la cuantización a 4 bits y el almacenamiento en el formato GGUF |
|
para mejorar su eficiencia en términos de almacenamiento y cálculo. |
|
Esto lo hace más adecuado para despliegues en entornos con recursos limitados, |
|
sin comprometer significativamente su capacidad para comprender y generar texto de alta calidad. |
|
|
|
### Model Description |
|
|
|
<!-- Resumen del modelo. --> |
|
|
|
- **Developed by:** Enrique Paiva <!-- Nombre de los miembros del equipo --> |
|
- **Funded by:** Think Paraguayo <!-- Si contasteis con apoyo de otra entidad (e.g. vuestra universidad), añadidla aquí --> |
|
- **Model type:** Language model, instruction tuned |
|
- **Language(s):** `es-ES` <!-- Enumerar las lenguas en las que se ha entrenado el modelo, especificando el país de origen. Utilizar códigos ISO. Por ejemplo: Spanish (`es-CL`, `es-ES`, `es-MX`), Catalan (`ca`), Quechua (`qu`). --> |
|
- **License:** cc-by-sa-4.0 <!-- Elegid una licencia lo más permisiva posible teniendo en cuenta la licencia del model pre-entrenado y los datasets utilizados --> |
|
- **Fine-tuned from model:** [unsloth/mistral-7b-bnb-4bit](https://huggingface.co/unsloth/mistral-7b-bnb-4bit) <!-- Enlace al modelo pre-entrenado que habéis utilizado como base --> |
|
- **Dataset used:** [somosnlp/dataset-cultura-guarani_corpus-it](https://huggingface.co/datasets/somosnlp/dataset-cultura-guarani_corpus-it) <!-- Enlace al dataset utilizado para el ajuste --> |
|
|
|
### Provided files |
|
|
|
| Name | Quant method | Bits | Size | Max RAM required | Use case | |
|
| ---- | ---- | ---- | ---- | ---- | ----- | |
|
| [gua-a_v0.2-dpo_mistral-7b_q4_K_M.gguf](https://huggingface.co/thinkPy/gua-a_v0.2-dpo_mistral-7b_GGUF/blob/main/gua-a_v0.2-dpo_mistral-7b_q4_K_M.gguf) | Q4_K_M | 4 | 4.37 GB| 4.16 GB | medium, balanced quality - recommended | |
|
|
|
**Nota**: las cifras de RAM anteriores asumen que no se utiliza la GPU. Si las capas se descargan en la GPU, se reducirá el uso de RAM y se utilizará VRAM en su lugar. |
|
|
|
# ⭐ Uses |
|
|
|
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. --> |
|
|
|
Este modelo está pensado para su uso exclusivamente educativo, permitiendo que las personas puedan adentrarse más al mundo de la cultura guaraní desde la Inteligencia Artificial. |
|
<!-- README_GGUF.md-provided-files start --> |
|
|
|
# 🤖 How to Get Started with the Model |
|
|
|
## Download model ⬇️ |
|
|
|
Puedes descargar el modelo directamente por medio del siguiente enlace: [**DOWNLOAD GUA-A-V0.2-GGUF**](https://huggingface.co/thinkPy/gua-a_v0.2-dpo_mistral-7b_GGUF/resolve/main/gua-a_v0.2-dpo_mistral-7b_q4_K_M.gguf) |
|
|
|
<!-- prompt-template start --> |
|
## Prompt template: Alpaca 🧾 |
|
|
|
``` |
|
Responde a preguntas de forma clara, amable, concisa y solamente en el lenguaje español, sobre el libro Ñande Ypykuéra. |
|
|
|
Contexto |
|
------------------------- |
|
{} |
|
------------------------- |
|
|
|
### Pregunta: |
|
{} |
|
|
|
### Respuesta: |
|
{} |
|
|
|
``` |
|
|
|
## Llamacpp 🦙 |
|
|
|
### Install dependencies |
|
```shell |
|
# Si vas a utilizar solo CPU |
|
pip install llama-cpp-python |
|
|
|
# Si tienes una GPU basada en NVidia CUDA acceleration |
|
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python |
|
|
|
# O con OpenBLAS acceleration |
|
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python |
|
# O con CLBLast acceleration |
|
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python |
|
# O con AMD ROCm GPU acceleration (Linux only) |
|
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python |
|
# O con Metal GPU acceleration for macOS systems only |
|
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python |
|
|
|
# En windows, ejemplo para NVidia CUDA: |
|
$env:CMAKE_ARGS = "-DLLAMA_CUBLAS=on" |
|
pip install llama-cpp-python |
|
``` |
|
|
|
### Simple Inference |
|
``` |
|
from llama_cpp import Llama |
|
|
|
llm = Llama( |
|
model_path="./gua-a_v0.2-dpo_mistral-7b_q4_K_M.gguf", # Primero debes descargar el modelo |
|
n_ctx=512, # Máximo tamaño del contexto |
|
n_threads=2, # Número de CPUs a usar |
|
n_gpu_layers=0 # El número de capas usadas para la GPU, si es "-1" utilizará todas las capas en la GPU, si es "0" solo se utilizará la CPU. |
|
) |
|
|
|
prompt = f"""Responde a preguntas de forma clara, amable, concisa y solamente en el lenguaje español, sobre el libro Ñande Ypykuéra. |
|
|
|
Contexto |
|
------------------------- |
|
{context} |
|
------------------------- |
|
|
|
### Pregunta: |
|
{query} |
|
|
|
### Respuesta: |
|
""" |
|
|
|
contexto = "" |
|
pregunta = "Quién es gua'a?" |
|
|
|
# Ejemplo Simple de Inferencia |
|
output = llm(prompt.format(context=contexto, query=pregunta), |
|
max_tokens=512, |
|
stop=["</s>"], |
|
echo=True |
|
) |
|
|
|
respuesta = output['choices'][0]['text'].split("### Respuesta:\n")[1] |
|
|
|
print(respuesta) |
|
``` |
|
|
|
## Bias, Risks, and Limitations |
|
|
|
<!-- This section is meant to convey both technical and sociotechnical limitations. --> |
|
|
|
El modelo **gua-a_v0.2-dpo_mistral-7b_GGUF** es un modelo experimental, las respuestas pueden ser imprecisas y de baja calidad. El dataset utilizado por el modelo solo refleja parte de la cultura guaraní, limitandose a la visión del autor del libro. |
|
|
|
## More Information |
|
|
|
<!-- Indicar aquí que el marco en el que se desarrolló el proyecto, en esta sección podéis incluir agradecimientos y más información sobre los miembros del equipo. Podéis adaptar el ejemplo a vuestro gusto. --> |
|
|
|
Este proyecto fue desarrollado por **Think Paraguayo** 🇵🇾. |
|
|
|
**Team:** |
|
|
|
[Enrique Paiva](https://huggingface.co/enpaiva) |
|
|
|
<!-- |
|
- [Name 1](Link to Hugging Face profile) |
|
- [Name 2](Link to Hugging Face profile) |
|
--> |
|
|
|
## Contact |
|
|
|
**mail**: [email protected] |
|
|
|
<!-- Email de contacto para´posibles preguntas sobre el modelo. --> |