语言:
- 葡萄牙语
- 英语
许可证: mit
库名称: peft
标签:
- 大语言模型
- 葡萄牙语
- Bode
- Alpaca
- Llama 2
- 问答系统
评估指标:
- 准确率
- F1值
- 精确率
- 召回率
管道标签: 文本生成
推理: 不支持
模型索引:
- 名称: bode-7b-alpaca-pt-br
结果:
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: ENEM挑战赛(无图像)
类型: eduagarcia/enem_challenge
拆分: 训练集
参数:
少样本数量: 3
指标:
- 类型: 准确率
值: 34.36
名称: 准确率
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: BLUEX(无图像)
类型: eduagarcia-temp/BLUEX_without_images
拆分: 训练集
参数:
少样本数量: 3
指标:
- 类型: 准确率
值: 28.93
名称: 准确率
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: 巴西律师资格考试
类型: eduagarcia/oab_exams
拆分: 训练集
参数:
少样本数量: 3
指标:
- 类型: 准确率
值: 30.84
名称: 准确率
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: Assin2 RTE
类型: assin2
拆分: 测试集
参数:
少样本数量: 15
指标:
- 类型: 宏观F1值
值: 79.83
名称: 宏观F1值
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: Assin2 STS
类型: eduagarcia/portuguese_benchmark
拆分: 测试集
参数:
少样本数量: 15
指标:
- 类型: 皮尔逊系数
值: 43.47
名称: 皮尔逊系数
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: FaQuAD自然语言推理
类型: ruanchaves/faquad-nli
拆分: 测试集
参数:
少样本数量: 15
指标:
- 类型: 宏观F1值
值: 67.45
名称: 宏观F1值
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: HateBR二分类
类型: ruanchaves/hatebr
拆分: 测试集
参数:
少样本数量: 25
指标:
- 类型: 宏观F1值
值: 85.06
名称: 宏观F1值
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: 葡萄牙语仇恨言论二分类
类型: hate_speech_portuguese
拆分: 测试集
参数:
少样本数量: 25
指标:
- 类型: 宏观F1值
值: 65.73
名称: 宏观F1值
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
- 任务:
类型: 文本生成
名称: 文本生成
数据集:
名称: 巴西推特情感分析
类型: eduagarcia-temp/tweetsentbr
拆分: 测试集
参数:
少样本数量: 25
指标:
- 类型: 宏观F1值
值: 43.25
名称: 宏观F1值
来源:
网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=recogna-nlp/bode-7b-alpaca-pt-br
名称: 葡萄牙语大模型公开排行榜
BODE模型
BODE是一个基于Llama 2模型通过Alpaca数据集微调开发的葡萄牙语大语言模型(LLM),该数据集由Cabrita项目的作者翻译为葡萄牙语。该模型专为葡萄牙语自然语言处理任务设计,如文本生成、机器翻译、文本摘要等。
开发BODE的目的是弥补葡萄牙语大语言模型的稀缺性。传统模型如LLaMa本身虽然能响应葡萄牙语提示,但常出现语法错误且有时会生成英语回答。目前可供免费使用的葡萄牙语模型仍很少见,据我们所知,还没有专门用葡萄牙语数据训练的13b参数或更大规模的模型可用。
访问论文获取关于Bode的更多信息。
本页面提供的BODE模型版本是使用Recogna高级研究实验室内部资源训练的。在获得适当授权后,我们将很快发布在Santos Dumont超级计算机上训练的原始版本。
模型详情
- 基础模型: Llama 2
- 训练数据集: Alpaca
- 语言: 葡萄牙语
可用版本
使用说明
强烈建议在Kaggle GPU环境下使用。您可以通过HuggingFace的Transformers库轻松使用BODE模型,但需要获得LLaMa 2的访问授权。我们也提供了Google Colab的Jupyter笔记本,点击此处访问。
以下是加载模型和生成文本的简单示例:
!pip install transformers
!pip install einops accelerate bitsandbytes
!pip install sentence_transformers
!pip install git+https://github.com/huggingface/peft.git
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
from peft import PeftModel, PeftConfig
llm_model = 'recogna-nlp/bode-7b-alpaca-pt-br'
hf_auth = 'HF访问密钥'
config = PeftConfig.from_pretrained(llm_model)
model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, trust_remote_code=True, return_dict=True, load_in_8bit=True, device_map='auto', token=hf_auth)
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path, token=hf_auth)
model = PeftModel.from_pretrained(model, llm_model)
model.eval()
def generate_prompt(instruction, input=None):
if input:
return f"""以下是一个描述任务的指令,以及提供更多上下文的输入。请编写一个恰当完成请求的响应。
### 指令:
{instruction}
### 输入:
{input}
### 响应:"""
else:
return f"""以下是一个描述任务的指令。请编写一个恰当完成请求的响应。
### 指令:
{instruction}
### 响应:"""
generation_config = GenerationConfig(
temperature=0.2,
top_p=0.75,
num_beams=2,
do_sample=True
)
def evaluate(instruction, input=None):
prompt = generate_prompt(instruction, input)
inputs = tokenizer(prompt, return_tensors="pt")
input_ids = inputs["input_ids"].cuda()
generation_output = model.generate(
input_ids=input_ids,
generation_config=generation_config,
return_dict_in_generate=True,
output_scores=True,
max_length=300
)
for s in generation_output.sequences:
output = tokenizer.decode(s)
print("响应:", output.split("### 响应:")[1].strip())
evaluate("请详细回答:什么是山羊?")
训练与数据
BODE模型是通过在葡萄牙语Alpaca数据集上对Llama 2模型进行微调训练的,该数据集是基于指令的数据集。原始训练是在LNCC的Santos Dumont超级计算机上通过Fundunesp项目2019/00697-8完成的,但此处提供的版本是在Recogna内部环境中使用相同数据和参数训练的复制品。
引用
如果您想在研究中使用BODE模型,可以引用这篇详细讨论模型的论文。引用格式如下:
@misc{bode2024,
title={Introducing Bode: A Fine-Tuned Large Language Model for Portuguese Prompt-Based Task},
author={Gabriel Lino Garcia and Pedro Henrique Paiola and Luis