enpaiva's picture
Update README.md
8c9d94a verified
---
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. -->