Synatra-7B-v0.3-dpo 项目简介
Synatra-7B-v0.3-dpo 是一个基于先进人工智能模型的项目,致力于为用户提供高效、准确的自然语言处理能力。这个项目是由个人发起的,开发者独自运用了有限的资源进行构建和优化。如果您对这个模型感兴趣,也可以选择通过购买咖啡的方式支持研发工作。
模型细节
基础模型
Synatra-7B-v0.3-dpo 基于 Mistral-7B-Instruct-v0.1 进行开发和改进。
训练环境
该模型在一台 A100 80GB 显卡上进行了训练。
指令格式
Synatra-7B-v0.3-dpo 支持 ChatML 格式和 Alpaca(无输入)格式。这些格式有助于标准化模型和用户之间的交互。
模型基准测试
KOBEST_BOOLQ, SENTINEG, WIC - 零样本
使用 EleutherAI/lm-evaluation-harness 对 BoolQ、SentiNeg 和 Wic 进行了评测。
测试结果如下:
模型 | COPA | HellaSwag | BoolQ | SentiNeg |
---|---|---|---|---|
EleutherAI/polyglot-ko-12.8b | 0.7937 | 0.5954 | 0.4818 | 0.9117 |
Synatra-7B-v0.3-base | 0.6344 | 0.5140 | 0.5226 | NaN |
Synatra-7B-v0.3-dpo | 0.6380 | 0.4780 | 0.8058 | 0.8942 |
通过以上数据,我们可以看到 Synatra-7B-v0.3-dpo 在 BoolQ 和其他测试中表现出色。
实现代码示例
为了便于使用,项目提供了一段简单的实现代码示例,帮助开发者快速上手。
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # 设备选择
model = AutoModelForCausalLM.from_pretrained("maywell/Synatra-7B-v0.3-dpo")
tokenizer = AutoTokenizer.from_pretrained("maywell/Synatra-7B-v0.3-dpo")
messages = [
{"role": "user", "content": "바나나는 원래 하얀색이야?"},
]
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
model_inputs = encodeds.to(device)
model.to(device)
generated_ids = model.generate(model_inputs, max_new_tokens=1000, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
开源 LLM 排行榜评测结果
Synatra-7B-v0.3-dpo 在开源 LLM 排行榜上也有出色表现,其详细评测结果如下:
指标 | 值 |
---|---|
平均 | 53.14 |
ARC(25-shot) | 62.8 |
HellaSwag(10-shot) | 82.58 |
MMLU(5-shot) | 61.46 |
TruthfulQA(0-shot) | 56.46 |
Winogrande(5-shot) | 76.24 |
GSM8K(5-shot) | 23.73 |
DROP(3-shot) | 8.68 |
Synatra-7B-v0.3-dpo 以其强大的自然语言处理能力和丰富的应用场景,成为了研究和技术开发中的一个重要工具。