Update README.md
Browse files
README.md
CHANGED
@@ -20,3 +20,182 @@ pipeline_tag: text-generation
|
|
20 |
# gua-a v0.2 GGUF
|
21 |
|
22 |
*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.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
# gua-a v0.2 GGUF
|
21 |
|
22 |
*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.*
|
23 |
+
|
24 |
+
|
25 |
+
<!--
|
26 |
+
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
|
27 |
+
|
28 |
+
¿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.
|
29 |
+
|
30 |
+
Para más información sobre cómo rellenar cada sección ver las docs: https://huggingface.co/docs/hub/model-cards
|
31 |
+
-->
|
32 |
+
|
33 |
+
<!--
|
34 |
+
|
35 |
+
Nombre del modelo:
|
36 |
+
|
37 |
+
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.
|
38 |
+
|
39 |
+
Idioma:
|
40 |
+
|
41 |
+
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.
|
42 |
+
|
43 |
+
Qué incluir en esta sección:
|
44 |
+
|
45 |
+
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í.
|
46 |
+
|
47 |
+
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.
|
48 |
+
|
49 |
+
-->
|
50 |
+
|
51 |
+
## 🦜 Model Details
|
52 |
+
|
53 |
+
**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í.
|
54 |
+
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
|
55 |
+
generadas por **RAG + GPT-4 + Human Feedback** y **mistral-7b-bnb-4bit** para el entranamiento por DPO.
|
56 |
+
**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
|
57 |
+
para mejorar su eficiencia en términos de almacenamiento y cálculo.
|
58 |
+
Esto lo hace más adecuado para despliegues en entornos con recursos limitados,
|
59 |
+
sin comprometer significativamente su capacidad para comprender y generar texto de alta calidad.
|
60 |
+
|
61 |
+
### Model Description
|
62 |
+
|
63 |
+
<!-- Resumen del modelo. -->
|
64 |
+
|
65 |
+
- **Developed by:** Enrique Paiva <!-- Nombre de los miembros del equipo -->
|
66 |
+
- **Funded by:** Think Paraguayo <!-- Si contasteis con apoyo de otra entidad (e.g. vuestra universidad), añadidla aquí -->
|
67 |
+
- **Model type:** Language model, instruction tuned
|
68 |
+
- **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`). -->
|
69 |
+
- **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 -->
|
70 |
+
- **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 -->
|
71 |
+
- **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 -->
|
72 |
+
|
73 |
+
### Provided files
|
74 |
+
|
75 |
+
| Name | Quant method | Bits | Size | Max RAM required | Use case |
|
76 |
+
| ---- | ---- | ---- | ---- | ---- | ----- |
|
77 |
+
| [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 |
|
78 |
+
|
79 |
+
**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.
|
80 |
+
|
81 |
+
# Uses
|
82 |
+
|
83 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
84 |
+
|
85 |
+
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.
|
86 |
+
<!-- README_GGUF.md-provided-files start -->
|
87 |
+
|
88 |
+
# 🤖 How to Get Started with the Model
|
89 |
+
|
90 |
+
## Download model ⭐
|
91 |
+
|
92 |
+
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)
|
93 |
+
|
94 |
+
<!-- prompt-template start -->
|
95 |
+
## Prompt template: Alpaca 🧾
|
96 |
+
|
97 |
+
```
|
98 |
+
Responde a preguntas de forma clara, amable, concisa y solamente en el lenguaje español, sobre el libro Ñande Ypykuéra.
|
99 |
+
|
100 |
+
Contexto
|
101 |
+
-------------------------
|
102 |
+
{}
|
103 |
+
-------------------------
|
104 |
+
|
105 |
+
### Pregunta:
|
106 |
+
{}
|
107 |
+
|
108 |
+
### Respuesta:
|
109 |
+
{}
|
110 |
+
|
111 |
+
```
|
112 |
+
|
113 |
+
## Llamacpp 🦙
|
114 |
+
|
115 |
+
### Install dependencies
|
116 |
+
```shell
|
117 |
+
# Si vas a utilizar solo CPU
|
118 |
+
pip install llama-cpp-python
|
119 |
+
|
120 |
+
# Si tienes una GPU basada en NVidia CUDA acceleration
|
121 |
+
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
|
122 |
+
|
123 |
+
# O con OpenBLAS acceleration
|
124 |
+
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
|
125 |
+
# O con CLBLast acceleration
|
126 |
+
CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
|
127 |
+
# O con AMD ROCm GPU acceleration (Linux only)
|
128 |
+
CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
|
129 |
+
# O con Metal GPU acceleration for macOS systems only
|
130 |
+
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
|
131 |
+
|
132 |
+
# En windows, ejemplo para NVidia CUDA:
|
133 |
+
$env:CMAKE_ARGS = "-DLLAMA_CUBLAS=on"
|
134 |
+
pip install llama-cpp-python
|
135 |
+
```
|
136 |
+
|
137 |
+
### Simple Inference
|
138 |
+
```
|
139 |
+
from llama_cpp import Llama
|
140 |
+
|
141 |
+
llm = Llama(
|
142 |
+
model_path="./gua-a_v0.2-dpo_mistral-7b_q4_K_M.gguf", # Primero debes descargar el modelo
|
143 |
+
n_ctx=512, # Máximo tamaño del contexto
|
144 |
+
n_threads=2, # Número de CPUs a usar
|
145 |
+
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.
|
146 |
+
)
|
147 |
+
|
148 |
+
prompt = f"""Responde a preguntas de forma clara, amable, concisa y solamente en el lenguaje español, sobre el libro Ñande Ypykuéra.
|
149 |
+
|
150 |
+
Contexto
|
151 |
+
-------------------------
|
152 |
+
{context}
|
153 |
+
-------------------------
|
154 |
+
|
155 |
+
### Pregunta:
|
156 |
+
{query}
|
157 |
+
|
158 |
+
### Respuesta:
|
159 |
+
"""
|
160 |
+
|
161 |
+
contexto = ""
|
162 |
+
pregunta = "Quién es gua'a?"
|
163 |
+
|
164 |
+
# Ejemplo Simple de Inferencia
|
165 |
+
output = llm(prompt.format(context=contexto, query=pregunta),
|
166 |
+
max_tokens=512,
|
167 |
+
stop=["</s>"],
|
168 |
+
echo=True
|
169 |
+
)
|
170 |
+
|
171 |
+
respuesta = output['choices'][0]['text'].split("### Respuesta:\n")[1]
|
172 |
+
|
173 |
+
print(respuesta)
|
174 |
+
```
|
175 |
+
|
176 |
+
## Bias, Risks, and Limitations
|
177 |
+
|
178 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
179 |
+
|
180 |
+
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.
|
181 |
+
|
182 |
+
## More Information
|
183 |
+
|
184 |
+
<!-- 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. -->
|
185 |
+
|
186 |
+
Este proyecto fue desarrollado por **Think Paraguayo** 🇵🇾.
|
187 |
+
|
188 |
+
**Team:**
|
189 |
+
|
190 |
+
[Enrique Paiva](https://huggingface.co/enpaiva)
|
191 |
+
|
192 |
+
<!--
|
193 |
+
- [Name 1](Link to Hugging Face profile)
|
194 |
+
- [Name 2](Link to Hugging Face profile)
|
195 |
+
-->
|
196 |
+
|
197 |
+
## Contact
|
198 |
+
|
199 |
+
**mail**: [email protected]
|
200 |
+
|
201 |
+
<!-- Email de contacto para´posibles preguntas sobre el modelo. -->
|