🚀 gemma-portuguese-2b-luana
gemma-portuguese-2b-luana 是一个专注于葡萄牙语的文本生成模型,使用超集数据集进行训练。它能理解葡萄牙语推理,虽未针对数学和代码任务训练,但可通过微调适配特定领域。
🚀 快速开始
模型描述
更新时间:2024-04-10 20:06
gemma-portuguese-2b 模型是一个葡萄牙语模型,使用包含 250,000 条指令的超集数据集进行训练。该模型主要专注于文本生成和指令处理,未针对数学和代码任务进行训练。它是一个通用模型,重点在于理解葡萄牙语推理。通过针对葡萄牙语的微调,你可以将该模型调整用于特定领域。
如何使用
以下是使用该模型进行文本生成的示例代码:
from transformers import AutoTokenizer, pipeline
import torch
model = "rhaymison/gemma-portuguese-luana-2b"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = pipeline(
"text-generation",
model=model,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{
"role": "system",
"content": "Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido."
},
{"role": "user", "content": "Me conte sobre a ida do homem a Lua."},
]
prompt = pipeline.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipeline(
prompt,
max_new_tokens=256,
do_sample=True,
temperature=0.2,
top_k=50,
top_p=0.95
)
print(outputs[0]["generated_text"][len(prompt):].replace("model",""))
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer2 = AutoTokenizer.from_pretrained("rhaymison/gemma-portuguese-luana-2b")
model2 = AutoModelForCausalLM.from_pretrained("rhaymison/gemma-portuguese-luana-2b", device_map={"":0})
tokenizer2.pad_token = tokenizer2.eos_token
tokenizer2.add_eos_token = True
tokenizer2.add_bos_token, tokenizer2.add_eos_token
tokenizer2.padding_side = "right"
text = f"""<start_of_turn>user
Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido.
###instrução:Me conte sobre a ida do homem a Lua.<end_of_turn>
<start_of_turn>model """
device = "cuda:0"
inputs = tokenizer2(text, return_tensors="pt").to(device)
outputs = model2.generate(**inputs, max_new_tokens=256, do_sample=False)
output = tokenizer2.decode(outputs[0], skip_special_tokens=True, skip_prompt=True)
print(output.replace("model"," "))
text = f"""<start_of_turn>user
Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido.
###instrução:Me explique como funciona um computador.<end_of_turn>
<start_of_turn>model """
device = "cuda:0"
inputs = tokenizer2(text, return_tensors="pt").to(device)
outputs = model2.generate(**inputs, max_new_tokens=256, do_sample=False)
output = tokenizer2.decode(outputs[0], skip_special_tokens=True, skip_prompt=True)
print(output.replace("model"," "))
📚 详细文档
开放葡萄牙语大语言模型排行榜评估结果
详细结果可在 此处 和 🚀 开放葡萄牙语大语言模型排行榜 查看。
指标 |
值 |
平均值 |
34.94 |
巴西国家高考挑战(无图像) |
24.42 |
BLUEX(无图像) |
24.34 |
巴西律师协会考试 |
27.11 |
Assin2 RTE |
70.86 |
Assin2 STS |
1.51 |
FaQuAD NLI |
43.97 |
HateBR 二分类 |
40.05 |
葡萄牙语仇恨言论二分类 |
51.83 |
tweetSentBR |
30.42 |
反馈与联系
欢迎提供任何想法、帮助或报告问题。
邮箱:rhaymisoncristian@gmail.com
📄 许可证
本项目采用 Apache-2.0 许可证。