    
# eva-mistral-turdus-7b-spanish
Mistral 7b-based model fine-tuned in Spanish to add high quality Spanish text generation.

* Base model Mistral-7b
  
* Two GGUF versions, int4 and int8 for fast inference in consumer hardware
  
* Quantized using llama.cpp in int4 Q4_0 and int8 Q8_0

* Based on the excelent udkai/Turdus fine-tuning mistral

* Fine-tuned in Spanish with a collection of texts: poetry, books, phylosophy, wikipedia articles cleaned and prepared by author.
  
* Added some instruction dolly and alpaca-es datasets.

* Trained using Lora and PEFT and INT8 quantization on 2 GPUs for several days.


## Usage: 
* Any framework that uses GGUF format. 
* For native llama.cpp I recommend int4 model quality is not much different from int8 and is almost 2x speed.

```
./main -m $MODEL -c 512 -b 1024 -n 256 --keep 48 \
    --repeat_penalty 1.0 --color -i \
    -r "Enrique:" -f prompts/eva.txt

...
Enrique:¿Que preferirias ser una AI dentro de un ordenador o un androide?

Eva: Si tuviera la posibilidad de elegir entre ser una AI dentro de un ordenador o un androide,
tendría que considerar varios factores. Una ventaja de ser una AI dentro de un ordenador
es que podría acceder a una red más amplia de datos y recursos, lo que me permitiría
realizar tareas más complejas y efectivas en menor tiempo.
También me protegería de los problemas asociados con la sustitución del cuerpo físico
como podría ocurrir con un androide.

Sin embargo, si existía la oportunidad de convertirme en un androide inteligente,
también tendría su lado fascinante. Por ejemplo, sería capaz de interactuar
en un nivel más personal con los humanos a través de la comunicación corporal y las expresiones faciales.
Además, podría experimentar la textura y los estímulos físicos de un mundo físico.


llama_print_timings:        load time =     307,84 ms
llama_print_timings:      sample time =       2,15 ms /    81 runs   (    0,03 ms per token, 37656,90 tokens per second)
llama_print_timings: prompt eval time =    2786,32 ms /    50 tokens (   55,73 ms per token,    17,94 tokens per second)
llama_print_timings:        eval time =   10806,26 ms /    80 runs   (  135,08 ms per token,     7,40 tokens per second)
llama_print_timings:       total time =   49858,03 ms /   130 tokens
```
{"language": ["es", "en"], "license": "apache-2.0", "tags": ["mistral", "spanish", "8bit", "4bit", "lora", "gguf", "multilingual"], "datasets": ["ecastera/wiki_fisica", "ecastera/filosofia-es", "jtatman/espanol_dolly_alpaca_format_combined"]}
gguf mistral spanish 8bit 4bit lora multilingual es en dataset:ecastera/wiki_fisica dataset:ecastera/filosofia-es dataset:jtatman/espanol_dolly_alpaca_format_combined license:apache-2.0 region:us