🚀 Bonito模型卡片
Bonito是一个用于条件任务生成的开源模型,它能够将无标注文本转换为用于指令微调的特定任务训练数据集,为大型语言模型在用户的专业私有数据上的适配提供了有效解决方案。

🚀 快速开始
为了轻松生成合成指令微调数据集,我们推荐使用基于transformers
和vllm
库构建的bonito包。
基础用法
from bonito import Bonito
from vllm import SamplingParams
from datasets import load_dataset
bonito = Bonito("BatsResearch/bonito-v1")
unannotated_text = load_dataset(
"BatsResearch/bonito-experiment",
"unannotated_contract_nli"
)["train"].select(range(10))
sampling_params = SamplingParams(max_tokens=256, top_p=0.95, temperature=0.5, n=1)
synthetic_dataset = bonito.generate_tasks(
unannotated_text,
context_col="input",
task_type="nli",
sampling_params=sampling_params
)
✨ 主要特性
- Bonito可创建合成指令微调数据集,用于适配大语言模型到用户的专业私有数据。
- 无需任何标注,即可使预训练和指令微调模型适应任务。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
📚 详细文档
模型详情
模型描述
Bonito可用于创建合成指令微调数据集,以适配大型语言模型到用户的专业私有数据。在我们的论文中,我们展示了Bonito可用于使预训练和指令微调模型适应无任何标注的任务。
- 开发者:Nihal V. Nayak、Yiyang Nan、Avi Trost和Stephen H. Bach
- 模型类型:MistralForCausalLM
- 语言(NLP):英语
- 许可证:Apache 2.0
- 微调基础模型:
mistralai/Mistral-7B-v0.1
模型来源
使用场景
直接使用
使用bonito
包可轻松生成合成指令微调数据集,代码示例见快速开始部分。
适用范围外使用
我们的模型经过训练,可生成以下任务类型:总结、情感分析、多项选择题回答、提取式问题回答、主题分类、自然语言推理、问题生成、文本生成、无选项问题回答、释义识别、句子完成、是非问题回答、词义消歧、释义生成、文本蕴含和共指消解。超出这些任务类型,模型可能无法生成准确的合成任务。
偏差、风险和局限性
局限性
我们的工作依赖大量无标注文本的可用性。如果只有少量无标注文本,目标语言模型在适配后可能会出现性能下降。虽然我们在预训练和指令微调模型上展示了积极的改进,但我们的观察仅限于论文中考虑的三种任务类型(是非问题回答、提取式问题回答和自然语言推理)。
风险
Bonito与任何大语言模型一样存在风险。例如,我们的模型可能用于在专业领域生成事实错误的数据集。即使经过广泛的监督微调,我们的模型仍可能表现出基础模型Mistral - 7B的偏差和刻板印象。最后,我们的模型未包含安全训练,可能会生成有害内容。
建议
我们建议用户在将使用合成任务训练的模型部署到现实世界之前,彻底检查生成的任务并在关键数据集上进行性能基准测试。
训练详情
训练数据
为了训练Bonito,我们通过重新混合现有的指令微调数据集创建了一个名为条件任务生成带属性(conditional task generation with attributes)的新数据集。更多详情见ctga - v1。
训练过程
训练超参数
- 训练机制:我们使用Q - LoRA通过优化输出令牌上的交叉熵损失来训练模型。模型训练100,000步,在四个GPU上训练约需4天完成。
我们使用以下超参数:
- Q - LoRA秩(r):64
- Q - LoRA缩放因子(alpha):4
- Q - LoRA丢弃率:0
- 优化器:Paged AdamW
- 学习率调度器:线性
- 最大学习率:1e - 04
- 最小学习率:0
- 权重衰减:0
- 丢弃率:0
- 最大梯度范数:0.3
- 有效批量大小:16
- 最大输入长度:2,048
- 最大输出长度:2,048
- 步数:100,000
引用
@inproceedings{bonito:aclfindings24,
title = {Learning to Generate Instruction Tuning Datasets for Zero-Shot Task Adaptation},
author = {Nayak, Nihal V. and Nan, Yiyang and Trost, Avi and Bach, Stephen H.},
booktitle = {Findings of the Association for Computational Linguistics: ACL 2024},
year = {2024}}
信息表格
属性 |
详情 |
模型类型 |
MistralForCausalLM |
训练数据 |
通过重新混合现有指令微调数据集创建的名为条件任务生成带属性的新数据集,更多详情见ctga - v1 |
常用提示信息
⚠️ 重要提示
我们的工作依赖大量无标注文本的可用性。如果只有少量无标注文本,目标语言模型在适配后可能会出现性能下降。Bonito可能用于在专业领域生成事实错误的数据集,且可能表现出基础模型Mistral - 7B的偏差和刻板印象,还可能生成有害内容。
💡 使用建议
建议用户在将使用合成任务训练的模型部署到现实世界之前,彻底检查生成的任务并在关键数据集上进行性能基准测试。