🚀 Loquace-7B-Mistral v0.1
Loquace是一個針對意大利語進行指令微調的大語言模型。它旨在讓意大利語地區的用戶能夠以較低成本使用和訓練大語言模型,推動人工智能和大語言模型在意大利的普及。
主要特性
- 出色的指令遵循能力:能很好地理解和遵循意大利語指令。
- 對提示工程響應良好:通過合理的提示工程可以得到較好的輸出。
- 適用於RAG場景:在檢索增強生成(RAG)設置中表現出色。
- 低成本訓練:基於QLoRa和Mistral - 7B - Instruct,在相對原始的數據集Loquace - 102K上進行訓練。在3090 GPU上僅需4小時,成本略高於1歐元(使用Genesis Cloud的GPU)。
- 真正的開源:模型、數據集和復現結果的代碼完全開源。
- 草根出身:誕生於意大利南部的一個車庫。
快速開始
微調說明
相關代碼可在以下鏈接找到:
https://github.com/cosimoiaia/Loquace
CPU推理的GGUF版本
8位量化版本的Loquace可在此處找到。
以下是已知支持GGUF的客戶端和庫列表(感謝TheBloke提供此列表和他的出色工作):
使用示例
基礎用法
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())
示例對話
> 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.
侷限性
- Loquace - 7B可能無法很好地處理複雜或微妙的查詢,對於模糊或格式不佳的輸入可能會有困難。
- 模型可能會生成事實錯誤或無意義的響應,使用時應謹慎,並仔細驗證輸出。
模型作者
Cosimo Iaia cosimo.iaia@gmail.com
許可證
本項目採用Apache - 2.0許可證。
Loquace家族的早期版本
Loquace家族始於2023年初,旨在證明可以在不同語言中對大語言模型進行微調。你可以在以下鏈接找到該家族的其他成員:
- https://huggingface.co/cosimoiaia/Loquace - 70m - 基於pythia - 70m
- https://huggingface.co/cosimoiaia/Loquace - 410m - 基於pythia - 410m
- https://huggingface.co/cosimoiaia/Loquace - 7B - 基於Falcon - 7B
- https://huggingface.co/cosimoiaia/Loquace - 12B - 基於pythia - 12B
- https://huggingface.co/cosimoiaia/Loquace - 20B - 基於gpt - neox - 20B
這些模型雖然效果不佳,但證明了在短時間內使用相對原始的數據集和極少的資源進行低成本微調是可行的。