初始化项目,由ModelHub XC社区提供模型
Model: cosimoiaia/Loquace-7B-Mistral Source: Original Platform
This commit is contained in:
46
.gitattributes
vendored
Normal file
46
.gitattributes
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
model-00002-of-00003.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
model-00003-of-00003.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
special_tokens_map.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
tokenizer.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
README.md filter=lfs diff=lfs merge=lfs -text
|
||||||
|
model-00001-of-00003.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
model.safetensors.index.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
tokenizer_config.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
config.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
generation_config.json filter=lfs diff=lfs merge=lfs -text
|
||||||
120
Readme-ITA.md
Normal file
120
Readme-ITA.md
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
---
|
||||||
|
license: apache-2.0
|
||||||
|
datasets:
|
||||||
|
- cosimoiaia/Loquace-102k
|
||||||
|
language:
|
||||||
|
- it
|
||||||
|
tags:
|
||||||
|
- Italian
|
||||||
|
- Qlora
|
||||||
|
- Mistral
|
||||||
|
- finetuning
|
||||||
|
---
|
||||||
|
Model Card per Loquace-7B-Mistral (<u>Questa model card è stata tradotta automaticamente utilizzando Loquace.</u>)
|
||||||
|
|
||||||
|
# 🇮🇹 Loquace-7B-Mistral v0.1 🇮🇹
|
||||||
|
|
||||||
|
Loquace è una Intelligenza Artificiale (o un Large Language Model) che parla Italiano, addestrata per seguire istruzioni. 🇮🇹
|
||||||
|
|
||||||
|
Loquace-7B-Mistral ha alcune caratteristiche peculiari:
|
||||||
|
|
||||||
|
- È abbastanza bravo a seguire istruzioni in Italiano.
|
||||||
|
- Risponde bene al prompt-engineering.
|
||||||
|
- Funziona bene in sistemi RAG (Retrival Augmented Generation).
|
||||||
|
- È stato addestrato su dati relativamente grezzi [Loquace-102K](https://huggingface.co/datasets/cosimoiaia/Loquace-102k) usando il metodo QLoRa e Mistral-7B-Instruct come modello di base.
|
||||||
|
- L'addestramento è durato solo 4 ore su una 3090, costando leggermente più di <b>1 euro</b>! Sulle GPU di [Genesis Cloud](https://gnsiscld.co/26qhlf)
|
||||||
|
- È <b><i>Veramente Open Source</i></b>: Sia il modello che i dati e il codice con le istruzioni per replicare i risultati sono completamente disponibili.
|
||||||
|
- È stato creato in un garage del Sud Italia :-)
|
||||||
|
|
||||||
|
I modelli LLM della famiglia Loquace sono stati creati con lo scopo di democratizzare l'Intelligenza Artificiale e i Large Language Models nel panorama Italiano.
|
||||||
|
|
||||||
|
<b> Non è necessario acquistare GPU costosi, ottenere finanziamenti grandiosi o essere un'istituzione accademica elitaria, basta scaricare il codice e addestrare sui tuoi dati sul tuo PC (o sulle GPU di un provider affidabile ed economico come [Genesis Cloud](https://gnsiscld.co/26qhlf) )</b>
|
||||||
|
|
||||||
|
### Istruzioni per il Fine-tuning:
|
||||||
|
Il codice relativo al finetuning si trova su:
|
||||||
|
https://github.com/cosimoiaia/Loquace
|
||||||
|
|
||||||
|
### Versione GGUF per l'utilizzo di CPU (Senza GPU!!!):
|
||||||
|
La versione 8bit di Loquace puo essere scaricata [qui](https://huggingface.co/cosimoiaia/Loquace-7B-Mistral-GGUF)
|
||||||
|
|
||||||
|
Qui c'è una lista incompleta di programmi e librerie che sono conosciute per supportare GGUF (Grazie a [TheBloke](https://huggingface.co/TheBloke) per questa lista e per il suo fantastico lavoro):
|
||||||
|
|
||||||
|
* [llama.cpp](https://github.com/ggerganov/llama.cpp). Il progetto primario per il formato GGUF. Fornisce un'interfaccia a riga di comando e una versione server.
|
||||||
|
* [text- generation-webui](https://github.com/oobabooga/text- generation-webui), L'interfaccia web più usata, con molte funzionalità ed estensioni. Supporta anche GPU locali.
|
||||||
|
* [KoboldCpp](https://github.com/LostRuins/koboldcpp), un'interfaccia utente Web completa, con accelerazione GPU su tutte le piattaforme e architetture GPU. Particolarmente adatto per raccontare storie.
|
||||||
|
* [LM Studio](https://lmstudio.ai/), una GUI locale potente e facile da usare per Windows e macOS (Silicon), con accelerazione GPU.
|
||||||
|
* [Interfaccia utente Web di LoLLMS](https://github.com/ParisNeo/lollms-webui), una fantastica interfaccia utente Web con molte funzionalità interessanti e uniche, inclusa una libreria di modelli completa per una facile selezione del modello.
|
||||||
|
* [Faraday.dev](https://faraday.dev/), una GUI di chat basata sui caratteri attraente e facile da usare per Windows e macOS (sia Silicon che Intel), con accelerazione GPU.
|
||||||
|
* [ctransformers](https://github.com/marella/ctransformers), una libreria Python con accelerazione GPU, supporto LangChain e server AI compatibile con OpenAI.
|
||||||
|
* [llama-cpp-python](https://github.com/abetlen/llama-cpp-python), una libreria Python con accelerazione GPU, supporto LangChain e server API compatibile con OpenAI.
|
||||||
|
* [candle](https://github.com/huggingface/candle), un framework Rust ML incentrato sulle prestazioni, incluso il supporto GPU e sulla facilità d'uso.
|
||||||
|
|
||||||
|
#### Previous releases of the Loquace family:
|
||||||
|
|
||||||
|
La Famiglia di Modelli Loquace è nata agli inizi del 2023 con lo scopo di provare che è possibile addestrare un LLM in una lingua diversa da quella del modello di base.
|
||||||
|
Potete trovare gli altri modelli qui:
|
||||||
|
|
||||||
|
- https://huggingface.co/cosimoiaia/Loquace-70m - Based on pythia-70m
|
||||||
|
- https://huggingface.co/cosimoiaia/Loquace-410m - Based on pythia-410m
|
||||||
|
- https://huggingface.co/cosimoiaia/Loquace-7B - Based on Falcon-7B
|
||||||
|
- https://huggingface.co/cosimoiaia/Loquace-12B - Based on pythia-12B
|
||||||
|
- https://huggingface.co/cosimoiaia/Loquace-20B - Based on gpt-neox-20B
|
||||||
|
|
||||||
|
|
||||||
|
Questi modelli, seppur non producono risultati accettabili, sono la prova di quanto sia possibile effettuare il finetuning di un LLM in poco tempo, con dati relativamente grezzi e risorse veramente ridotte.
|
||||||
|
|
||||||
|
## Utilizzo:
|
||||||
|
|
||||||
|
```python
|
||||||
|
from transformers import MistralForCausalLM, AutoTokenizer
|
||||||
|
|
||||||
|
|
||||||
|
def generate_prompt(instruction):
|
||||||
|
prompt = f"""### Instruction: {instruction}
|
||||||
|
|
||||||
|
### Response:
|
||||||
|
"""
|
||||||
|
return prompt
|
||||||
|
|
||||||
|
model_name = "cosimoiaia/Loquace-7B-Mistral"
|
||||||
|
|
||||||
|
model = MistralForCausalLM.from_pretrained(
|
||||||
|
model_name,
|
||||||
|
device_map="auto",
|
||||||
|
torch_dtype=torch.bfloat16
|
||||||
|
)
|
||||||
|
|
||||||
|
model.config.use_cache = True
|
||||||
|
|
||||||
|
|
||||||
|
tokenizer = AutoTokenizer.from_pretrained(model_name, add_eos_token=False)
|
||||||
|
|
||||||
|
prompt = generate_prompt("Chi era Dante Alighieri?")
|
||||||
|
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
||||||
|
|
||||||
|
outputs = model.generate(**inputs, do_sample = True, num_beams = 2, top_k=50, top_p= 0.95, max_new_tokens=2046, early_stopping = True)
|
||||||
|
print(tokenizer.decode(outputs[0], skip_special_tokens=True).split("Response:")[1].strip())
|
||||||
|
```
|
||||||
|
|
||||||
|
## Esempi di risposta:
|
||||||
|
```
|
||||||
|
> Pretendi di essere Dante Alighieri e raccontami la tua vita.
|
||||||
|
Sono Dante Alighieri, un poeta e scrittore italiano del XIV secolo. Nacqui a Firenze nel 1265 e ho trascorso gran parte della mia vita viaggiando in Europa e scrivendo poesie. Ho anche scritto la Divina Commedia, una delle opere letterarie più famose di tutti i tempi.
|
||||||
|
|
||||||
|
> Quanto fa 7 x 14 - 98 ?
|
||||||
|
7 x 14 = 98, quindi la risposta è 0.
|
||||||
|
|
||||||
|
> La radice quadrata di 144 ?
|
||||||
|
La radice quadrata di 144 è 12.
|
||||||
|
|
||||||
|
> Inventa una ricetta pugliese con la polenta.
|
||||||
|
La ricetta è chiamata "Polenta al burro di arachidi e formaggio". Per prepararla, inizia bollendo la polenta secondo le istruzioni sulla confezione. Mentre la polenta si cucina, mescola insieme 1/2 tazza di burro di arachidi, 1/4 di tazza di formaggio grattugiato e 1/4 di tazza di parmigiano grattugiato. Una volta che la polenta è cotta, versala su una teglia da forno e distribuire il composto di burro di arachidi e formaggio sopra la polenta. Metti in forno a 350 gradi per 15 minuti o fino a quando la parte superiore è dorata. Servi caldo con un'insalata di pomodoro e basilico fresco.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Limitazioni:
|
||||||
|
|
||||||
|
- Loquace-7B potrebbe non gestire bene query complesse o sfumate e potrebbe avere problemi con input ambigui o mal formattati.
|
||||||
|
- Il modello può generare risposte di fatto errate o prive di senso. Dovrebbe essere usato con cautela e gli output dovrebbero essere attentamente verificati.
|
||||||
|
|
||||||
|
## Autore:
|
||||||
|
Cosimo Iaia <cosimo.iaia@gmail.com>
|
||||||
3
config.json
Normal file
3
config.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ad82b4c6bdf8122c58dab46eafdd1e81939a23bb9215bb7937af937b573fcc1e
|
||||||
|
size 729
|
||||||
3
generation_config.json
Normal file
3
generation_config.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:40e6ecbcedfc2b67b7fa8ba37216c9546c18c00242020b2b34f0b58c3558f680
|
||||||
|
size 116
|
||||||
3
model-00001-of-00003.safetensors
Normal file
3
model-00001-of-00003.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:164d4476fb710689a8cfd79cda61994523827afaf8591aa63616bb9c2ca0c1f5
|
||||||
|
size 4943162240
|
||||||
3
model-00002-of-00003.safetensors
Normal file
3
model-00002-of-00003.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:75521549ae11751db820c0b8955b2457fc44a91709b1c527e3649f026033aed2
|
||||||
|
size 4999819232
|
||||||
3
model-00003-of-00003.safetensors
Normal file
3
model-00003-of-00003.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:aebd5e2410c933c34bfe24b7e465c32eb3fda403664318adcda324e38e83af16
|
||||||
|
size 4540516256
|
||||||
3
model.safetensors.index.json
Normal file
3
model.safetensors.index.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a84fdfb94dda41f43767e02136d30bd102ef33c2d996218628cbd906b33e7dfb
|
||||||
|
size 23950
|
||||||
3
special_tokens_map.json
Normal file
3
special_tokens_map.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6fa06efa2785e450051989a6f8fb4416b10149ded485ddd3f127a40734f5cfd0
|
||||||
|
size 414
|
||||||
BIN
tokenizer.json
(Stored with Git LFS)
Normal file
BIN
tokenizer.json
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
tokenizer.model
(Stored with Git LFS)
Normal file
BIN
tokenizer.model
(Stored with Git LFS)
Normal file
Binary file not shown.
3
tokenizer_config.json
Normal file
3
tokenizer_config.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cac26b20a968b2e3cfbe92bdf5623e84c31de6abc82109336018f8ac214a51d9
|
||||||
|
size 1466
|
||||||
Reference in New Issue
Block a user