enpaiva commited on
Commit
61f8f81
·
verified ·
1 Parent(s): 924dc23

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +179 -0
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. -->