license: apache-2.0
datasets:
- andreabac3/Quora-Italian-Fauno-Baize
- andreabac3/StackOverflow-Italian-Fauno-Baize
- andreabac3/MedQuaAD-Italian-Fauno-Baize
language:
- it
- en
pipeline_tag: text-generation
刻耳柏洛斯-7b 意大利大语言模型 🚀
🚀 新版本发布:cerbero-7b-openchat 我们基于openchat3.5的最新SOTA模型,性能媲美甚至超越 ChatGPT 3.5!
🔥 揭示cerbero-7b背后技术的研究论文已发布于arXiv!
📢 cerbero-7b是首个完全免费开源的意大利大语言模型(LLM),可立即用于研究或商业应用。
在线演示体验点击此处(CPU运行的量化版演示,性能远低于原版cerbero-7b)
基于mistral-7b构建,其性能在所有基准测试中超越Llama2 13B,并在多项指标上优于Llama1 34B。
cerbero-7b专为填补意大利AI生态空白而生。
意大利语模型的寒武纪大爆发对构建能满足多元化需求的先进AI架构至关重要。
cerbero-7b将与Camoscio和Fauno等伙伴共同推动意大利的AI革命,开启能流畅理解意大利语复杂性的智能解决方案新时代,赋能跨行业创新,深化技术与民众的连接。
本模型采用宽松的Apache 2.0许可,允许无限制使用,包括商业应用。
模型评估结果 📈
cerbero-7b
模型经过多维度严格测试,以下为意大利文本理解与生成能力的核心指标:
SQuAD-it评测
斯坦福问答数据集意大利语版(SQuAD-it)用于评估阅读理解能力,关键指标如下:
模型 |
F1分数 |
精确匹配(EM) |
cerbero-7b-openchat |
74.09% |
56.0% |
cerbero-7b |
72.55% |
55.6% |
Fauno |
44.46% |
0.00% |
Camoscio |
37.42% |
0.00% |
mistral-7b |
15.55% |
8.50% |
EVALITA基准测试
EVALITA基准测试涵盖毒性检测、反讽识别和情感分析任务,F1分数对比:
模型 |
毒性检测 |
反讽识别 |
情感分析 |
cerbero-7b-openchat |
63.33% |
69.16% |
66.89% |
cerbero-7b |
63.04% |
48.51% |
61.80% |
Fauno |
33.84% |
39.17% |
12.23% |
Camoscio |
38.18% |
39.65% |
13.33% |
mistral-7b |
34.16% |
34.16% |
12.14% |
为何命名"刻耳柏洛斯"? 🤔
灵感源自希腊神话中守护冥界的三头犬,象征本模型的三大支柱:
-
基础模型:mistral-7b 🏗️
以强大的mistral-7b为基座,确保模型具备前沿语言理解能力。
-
数据集:Cerbero数据集 📚
创新性融合动态自对话机制与LLM技术构建的意大利语专项数据集,详见论文。
-
许可协议:Apache 2.0 🕊️
采用宽松开源协议,促进技术共享与协作创新。
模型版本 🧬
cerbero-7b提供多版本适配不同场景:
模型名称 |
训练数据集 |
基础模型 |
Huggingface模型 |
Llama.cpp量化模型 |
cerbero-7b |
Cerbero数据集 |
mistral-7b |
链接 |
链接 |
cerbero-7b-openchat |
Cerbero数据集 |
openchat3.5 |
链接 |
链接 |
我们将持续迭代cerbero-7b,随7B模型技术演进推出新版本。
若内存不足加载float32
版本(如Colab环境),可通过revision="float16"
参数加载半精度模型:
model = AutoModelForCausalLM.from_pretrained("galatolo/cerbero-7b", revision="float16")
训练详情 🚀
cerbero-7b采用全参数微调策略,基于8192 tokens长上下文窗口的意大利语合成数据集训练。
训练配置 ⚙️
硬件环境:NVIDIA DGX H100
- 计算单元:8×80GB H100 GPU 🖥️
- 并行策略:DeepSpeed Zero阶段1并行 ✨
训练周期:1个完整epoch,确保知识融合与多任务处理能力。
提示词格式
对话训练采用固定格式:
[|人类|] 用户消息
[|助手|] AI回复
[|人类|] 后续消息
[|助手|] 后续回复
使用时需以[|助手|]
结尾触发生成,设置[|人类|]
为停止词。
示例:
[|人类|] 如何区分AI和真人?
[|助手|]
虽然支持在提示开头添加系统消息,但训练数据未包含此类内容,建议避免使用以获得最佳效果。
快速开始 🚀
通过🤗transformers加载模型:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("galatolo/cerbero-7b")
tokenizer = AutoTokenizer.from_pretrained("galatolo/cerbero-7b")
prompt = """这是人类与AI助手的对话。
[|人类|] 如何区分AI和真人?
[|助手|]"""
input_ids = tokenizer(prompt, return_tensors='pt').input_ids
with torch.no_grad():
output_ids = model.generate(input_ids, max_new_tokens=128)
generated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(generated_text)
GGUF与llama.cpp
完整兼容llama.cpp,量化模型可从此处获取:
from llama_cpp import Llama
from huggingface_hub import hf_hub_download
llm = Llama(
model_path=hf_hub_download(
repo_id="galatolo/cerbero-7b-gguf",
filename="ggml-model-f16.gguf",
),
n_ctx=4086,
)
llm.generate("""这是人类与AI助手的对话。
[|人类|] 如何区分AI和真人?
[|助手|]""")
文献引用 📖
研究中使用cerbero-7b请引用:
@article{galatolo2023cerbero,
title={Cerbero-7B:通过增强对话语料生成与评估实现语言专用LLM的飞跃},
author={Galatolo, Federico A and Cimino, Mario GCA},
journal={arXiv预印本 arXiv:2311.15698},
year={2023}
}
与论文版本的差异
📢 注意:发布的cerbero-7b
版本与论文中略有不同。因许可协议限制,训练数据生成改用garage-bAInd/Platypus2-70B-instruct
而非原论文的meta-llama/Llama-2-7b-chat-hf
(采用CC-BY-NC 4.0协议)。测试表明两者数据质量相当,最终模型性能几乎无差异。