HuggingFace镜像/Breeze-7B-Instruct-v0_1
模型介绍文件和版本分析
下载使用量0

MediaTek Research Breeze-7B-Instruct-v0_1 模型卡片

MediaTek Research Breeze-7B(以下简称 Breeze-7B)是一个基于 [Mistral-7B] 构建的语言模型系列,专门面向繁体中文使用场景。

[Breeze-7B-Base] 是 Breeze-7B 系列的基础模型。如果您拥有大量微调数据,需要针对特定用例进行模型调整,那么它会是合适的选择。

Breeze-7B-Instruct 衍生自基础模型 Breeze-7B-Base,因此该模型可直接用于处理常见任务。

[Breeze-7B-Instruct-64k] 是 Breeze-7B-Instruct 的一个略微修改版本,其上下文长度扩展至 64k tokens,大致相当于 88k 个繁体中文字符。

更新(2024年3月7日):Breeze-7B 当前发布版本为 v1.0。详见 Breeze-7B-Instruct-v1_0。

当前发布的 Breeze-7B 版本为 v0.1。

实用性方面:

  • Breeze-7B-Base 在原始词汇表基础上新增了 30,000 个繁体中文 tokens。在其他条件相同的情况下,凭借扩展后的词汇表,Breeze-7B 处理繁体中文的推理速度是 Mistral-7B 和 Llama 7B 的两倍。[参见 推理性能。]
  • Breeze-7B-Instruct 可直接用于常见任务,如问答、RAG、多轮对话和文本摘要。
  • 特别是 Breeze-7B-Instruct-64k,能够处理文档级而非章节级的任务。

性能方面:

  • 与台湾-LLM-7B/13B-chat、QWen(1.5)-7B-Chat、Yi-6B-Chat 等同等规模的开源同期模型相比,Breeze-7B-Instruct 在繁体中文和英文基准测试中均展现出令人印象深刻的性能。[参见 对话模型性能。]

特性

  • Breeze-7B-Base-v0_1
    • 词汇表大小从 32k 扩展至 62k,以更好地支持繁体中文
    • 8k-token 上下文长度
  • Breeze-7B-Instruct-v0_1
    • 词汇表大小从 32k 扩展至 62k,以更好地支持繁体中文
    • 8k-token 上下文长度
    • 多轮对话(未针对有害内容进行特殊处理)
  • Breeze-7B-Instruct-64k-v0_1
    • 词汇表大小从 32k 扩展至 62k,以更好地支持繁体中文
    • 64k-token 上下文长度
    • 多轮对话(未针对有害内容进行特殊处理)

模型详情

  • Breeze-7B-Base-v0_1
    • 微调自:[mistralai/Mistral-7B-v0.1]
    • 模型类型:因果解码器仅 transformer 语言模型
    • 语言:英语和繁体中文(zh-tw)
  • Breeze-7B-Instruct-v0_1
    • 微调自:[MediaTek-Research/Breeze-7B-Base-v0_1]
    • 模型类型:因果解码器仅 transformer 语言模型
    • 语言:英语和繁体中文(zh-tw)
  • Breeze-7B-Instruct-64k-v0_1
    • 微调自:MediaTek-Research/Breeze-7B-Instruct-v0_1
    • 模型类型:因果解码器仅 transformer 语言模型
    • 语言:英语和繁体中文(zh-tw)

基础模型性能

此处将 Breeze-7B-Base-v0_1 与其他参数规模相近、且在中文领域公认表现优异的开源基础语言模型进行对比。 TMMLU+、DRCD 和 Table 数据来源于 [MediaTek-Research/TCEval-v2]。 [MediaTek-Research/TCEval-v2] 衍生自 [TCEval-v1] 和 [ikala/tmmluplus]。MMLU 数据来源于 [hails/mmlu_no_train]。 我们使用基于 [EleutherAI/lm-evaluation-harness] 修改的代码来评估 TMMLU+、DRCD、Table 和 MMLU。所有选择题均采用对数似然法进行选择。

模型TMMLU+(准确率)DRCD(精确匹配)Table(准确率)MMLU(准确率)
中文,知识中文,推理中文,推理英文,知识
5 次示例3 次示例5 次示例5 次示例
[Yi-34B]34B63.1084.5749.3177.42
[Qwen-14B]14B51.3016.95 *50.6968.83
[Yi-6B]6B49.6376.6134.7265.35
[Qwen-7B]7B42.840.0 *39.5861.00
[Breeze-7B-Base-v0_1]7B40.3581.1328.4761.63
[Mistral-7B-v0.1]7B36.9379.2727.7864.89

指令微调模型性能

在此,我们将Breeze-7B-Instruct-v1_0与其他参数规模相近、在中文领域表现广受认可的开源指令微调语言模型进行对比。 TMMLU+、DRCD、Table和MT-Bench-tw的数据来源于[MediaTek-Research/TCEval-v2]。 [MediaTek-Research/TCEval-v2]衍生自[TCEval-v1]和[ikala/tmmluplus]。MMLU的数据来源于[hails/mmlu_no_train]。MT-Bench的数据来源于[lmsys/mt_bench_human_judgments]。 我们使用基于[EleutherAI/lm-evaluation-harness]修改的代码对TMMLU+、DRCD、Table和MMLU进行评估。所有选择题均采用对数似然法进行选择。

模型MT-Bench-tw(得分)TMMLU+(准确率)TMMLU+(准确率)DRCD(精确匹配率)Table(准确率)MT-Bench(得分)MMLU(准确率)MMLU(准确率)
中文,对话中文,知识中文,知识中文,推理中文,推理英文,对话英文,知识英文,知识
零样本零样本五样本三样本零样本零样本零样本五样本
[Yi-34B-Chat]34B6.954.8736.817.671.04
[Qwen-14B-Chat]14B6.448.4141.677.264.91
Breeze-7B-Instruct-v0_17B5.741.6145.837.163.26
[Breeze-7B-Instruct-64k-v0_1]7B5.540.9936.117.163.68
[Qwen-7B-Chat]7B5.440.0233.336.255.94
[Yi-6B-Chat]6B5.044.7925.696.059.45
[Taiwan-LLM-13B-v2.0-chat]13B5.029.4723.61-*50.50
[Taiwan-LLM-7B-v2.1-chat]7B4.228.0831.25-*42.72
MT-Bench-tw(零样本)详细数据:
模型
理工科信息提取推理数学编程角色扮演写作人文社科平均分
Yi-34B-Chat9.04.85.74.04.78.58.79.86.9
Qwen-14B-Chat7.65.74.54.25.37.57.39.16.4
Breeze-7B-Instruct-v0_1(https://modelers.cn/models/FuJianAscend/Breeze-7B-Instruct-v0_1)6.55.63.93.64.36.95.79.35.7
Breeze-7B-Instruct-64k-v0_16.15.33.72.94.27.06.78.35.5
Qwen-7B-Chat6.64.54.82.93.66.26.88.25.4
Yi-6B-Chat7.32.73.13.32.37.25.28.85.0
Taiwan-LLM-13B-v2.0-chat6.13.44.12.33.17.46.66.85.0
Taiwan-LLM-7B-v2.1-chat5.22.62.31.23.46.65.76.84.2
TMMLU+(零样本)详细数据:
模型
理工科社会科学人文科学其他平均分
Yi-34B-Chat47.6564.2552.7354.9154.87
Qwen-14B-Chat43.8355.0048.5546.2248.41
Yi-6B-Chat37.8051.7445.3644.2544.79
Breeze-7B-Instruct-v0_1(https://modelers.cn/models/FuJianAscend/Breeze-7B-Instruct-v0_1)37.4146.8142.0640.1641.61
Breeze-7B-Instruct-64k-v0_137.8846.3540.3139.4040.99
Qwen-7B-Chat35.4446.2238.3540.0640.02
Taiwan-LLM-13B-v2.0-chat27.7433.6927.0329.4329.47
Taiwan-LLM-7B-v2.1-chat25.5831.7627.3627.6128.08

推理性能

在本测试中,我们使用[网络文章]的前700个字符作为输入,要求模型重新撰写同一篇文章。 所有推理均在Atlas 800T A2上运行(使用vllm,张量并行大小为2)。

模型推理时间(秒)预估最大输入长度(字符)
Yi-6B-Chat10.625.2k
Breeze-7B-Instruct-v0_1(https://modelers.cn/models/FuJianAscend/Breeze-7B-Instruct-v0_1)10.7411.1k
Breeze-7B-Instruct-64k-v0_110.7488.8k
Qwen-7B-Chat10.869.8k
Qwen-14B-Chat18.899.8k
Mistral-7B-v0.1-Instruct20.485.1k
Taiwan-LLM-7B-v2.1-chat26.262.2k
Taiwan-LLM-13B-v2.0-chat36.802.2k
Yi-34B-Chat43.714.5k

使用方法

import argparse
from openmind import AutoModel, AutoTokenizer
from openmind import is_torch_npu_available

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--model_name_or_path",type=str,help="Path to model",default=None,)
    args = parser.parse_args()
    return args


if __name__ == '__main__':
    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"
    args = parse_args()
    model_path = args.model_name_or_path

    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True, add_eos_token=True)

    model = AutoModel.from_pretrained(model_path, trust_remote_code=True).to(device)

    inputs = tokenizer.encode("def print_hello_world():\tprint('Hello World!')", return_tensors="pt").to(device)
    embedding = model(inputs)[0]
    print(f'Dimension of the embedding: {embedding[0].size()}')
    print(embedding)