模型简介
模型特点
模型能力
使用案例
🚀 LAION LeoLM:语言增强的开放语言模型
LAION LeoLM 是首个基于 Llama - 2 构建的、开放且可用于商业用途的德语基础语言模型。我们的模型通过在大量德语语料库(主要是特定地区文本)上进行持续预训练,将 Llama - 2 的能力扩展到了德语领域。
借助黑森州人工智能中心(HessianAI)新超级计算机“42”的计算资源支持,我们发布了两个上下文长度为 8k 的基础模型:[LeoLM/leo - hessianai - 7b
](https://huggingface.co/LeoLM/leo - hessianai - 7b) 和 [LeoLM/leo - hessianai - 13b
](https://huggingface.co/LeoLM/leo - hessianai - 13b),它们遵循 [Llama - 2 社区许可证](https://huggingface.co/meta - llama/Llama - 2 - 70b/raw/main/LICENSE.txt)(70b 版本也即将推出!)。我们希望通过此次发布,为德语开源和商业大语言模型研究带来新机遇,并加速其应用落地。欲了解更多详情,请阅读我们的 博客文章 或论文(预印本即将发布)。
本项目由 Björn Plüster 和 Christoph Schuhmann 与 LAION 及黑森州人工智能中心(HessianAI)合作完成。
✨ 主要特性
LeoLM Chat
LeoLM/leo - hessianai - 7b - chat
是基于我们的基础模型 LeoLM/leo - hessianai - 7b
构建的德语聊天模型,并在部分德语指令数据集上进行了微调。该模型在写作、解释和讨论任务上表现出色,但在数学和高级推理方面存在一定困难。以下是我们的 MT - Bench - DE 评分:
{
"first_turn": 5.75,
"second_turn": 4.45,
"categories": {
"writing": 5.875,
"roleplay": 6.3,
"reasoning": 3.5,
"math": 2.85,
"coding": 2.95,
"extraction": 4.3,
"stem": 7.4,
"humanities": 7.625
},
"average": 5.1
}
📦 安装指南
安装直接依赖
pip install transformers torch sentencepiece
使用 flash - attention2 进行更快推理
如果你想使用 flash - attention2 进行更快的推理,需要安装以下依赖:
pip install packaging ninja
pip install flash-attn==v2.1.1 --no-build-isolation
pip install git+https://github.com/HazyResearch/flash-attention.git@v2.1.1#subdirectory=csrc/rotary
💻 使用示例
基础用法
from transformers import pipeline
import torch
system_prompt = """<|im_start|>system
Dies ist eine Unterhaltung zwischen einem intelligenten, hilfsbereitem KI-Assistenten und einem Nutzer.
Der Assistent gibt ausführliche, hilfreiche und ehrliche Antworten.<|im_end|>
"""
prompt_format = "<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\n"
prompt = "Erkläre mir wie die Fahrradwegesituation in Hamburg ist."
generator = pipeline(model="LeoLM/leo-hessianai-7b-chat", device="cuda", torch_dtype=torch.float16, trust_remote_code=True) # True for flash-attn2 else False
print(generator(prompt_format.format(prompt=prompt), do_sample=True, top_p=0.95, max_length=8192))
输出示例
"作为人工智能,我无法分享个人观察,但我可以提供一些关于汉堡自行车道情况的一般信息。与许多其他大城市相比,汉堡的自行车骑行者数量众多,并且非常重视可持续交通方式。这里有许多自行车道和独立车道,使骑行者能够与机动车交通并行。这些自行车道通常有标记,并通过物理隔离与其他车道分隔开来。此外,还有许多自行车专用道,骑行者在这些道路上享有优先权,汽车必须减速行驶。
然而,在一些城市区域,自行车道可能会狭窄或拥挤,尤其是在高峰时段。也有许多十字路口,骑行者必须停车等待绿灯,这与汽车驾驶者类似。总体而言,汉堡的自行车基础设施相当不错,但和其他地方一样,仍有改进的空间。"
📚 详细文档
提示模板
提示对话模板(ChatML 格式):
"""
<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
"""
模型输入可以包含用户和助手之间的多轮对话,例如:
<|im_start|>user
{prompt 1}<|im_end|>
<|im_start|>assistant
{reply 1}<|im_end|>
<|im_start|>user
{prompt 2}<|im_end|>
<|im_start|>assistant
(...)
道德考量与局限性
LeoLM 已在英语和德语环境下进行了测试,但它并未涵盖也无法涵盖所有场景。因此,与所有大语言模型一样,LeoLM/leo - hessianai - 7b - chat
的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确、有偏见或其他令人反感的回复。所以,在部署 LeoLM/leo - hessianai - 7b - chat
的任何应用之前,开发者应针对模型的特定应用进行安全测试和调整。
请参阅 Meta 的 [负责任使用指南](https://ai.meta.com/llama/responsible - use - guide/)。
微调详情
属性 | 详情 |
---|---|
训练轮数 | 3 |
每轮示例数 | 131214 |
全局批次大小 | 256 |
学习率 | 3e - 5 |
热身步数 | 100 |
学习率调度器 | Cosine |
Adam 系数 | (0.9, 0.95) |
数据集详情
## 'OpenAssistant/OASST - DE 子集' 统计信息 (3534 个样本 (100.0%))
-----------------
接受样本数: 3534/3534 (100.0%)
接受的标记数: 2259302
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 29
每个样本的最大标记数: 2484
每个样本的平均标记数: 639.3044708545557
-----------------
## 'FreedomIntelligence/evol - instruct - deutsch 子集' 统计信息 (57841 个样本 (100.0%))
-----------------
接受样本数: 57841/57841 (100.0%)
接受的标记数: 42958192
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 33
每个样本的最大标记数: 5507
每个样本的平均标记数: 742.6944900675991
-----------------
## 'FreedomIntelligence/alpaca - gpt4 - deutsch 子集' 统计信息 (48969 个样本 (100.0%))
-----------------
接受样本数: 48969/48969 (100.0%)
接受的标记数: 13372005
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 19
每个样本的最大标记数: 1359
每个样本的平均标记数: 273.07082031489307
-----------------
## 'LeoLM/OpenSchnabeltier 子集' 统计信息 (21314 个样本 (100.0%))
-----------------
接受样本数: 21314/21314 (100.0%)
接受的标记数: 8134690
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 25
每个样本的最大标记数: 1202
每个样本的平均标记数: 381.65947264708643
-----------------
## 'LeoLM/German_Poems 子集' 统计信息 (490 个样本 (100.0%))
-----------------
接受样本数: 490/490 (100.0%)
接受的标记数: 618642
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 747
每个样本的最大标记数: 1678
每个样本的平均标记数: 1262.534693877551
-----------------
## 'LeoLM/German_Songs 子集' 统计信息 (392 个样本 (100.0%))
-----------------
接受样本数: 392/392 (100.0%)
接受的标记数: 187897
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 231
每个样本的最大标记数: 826
每个样本的平均标记数: 479.3290816326531
-----------------
## '总计' 统计信息 (132540 个样本 (100.0%))
-----------------
接受样本数: 132540/132540 (100.0%)
接受的标记数: 67530728
跳过样本数: 0 (0.0%)
每个样本的最小标记数: 19
每个样本的最大标记数: 5507
每个样本的平均标记数: 509.51205673758864
-----------------
🔧 技术细节
属性 | 详情 |
---|---|
模型类型 | 因果解码器专用的Transformer语言模型 |
语言 | 英语和德语 |
演示 | Web 演示 |
许可证 | [LLAMA 2 社区许可协议](https://huggingface.co/meta - llama/Llama - 2 - 70b/raw/main/LICENSE.txt) |
联系方式 | LAION Discord 或 Björn Plüster |



