🚀 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的偏差和刻板印象,還可能生成有害內容。
💡 使用建議
建議用戶在將使用合成任務訓練的模型部署到現實世界之前,徹底檢查生成的任務並在關鍵數據集上進行性能基準測試。