🚀 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
这些模型虽然效果不佳,但证明了在短时间内使用相对原始的数据集和极少的资源进行低成本微调是可行的。