模型简介
模型特点
模型能力
使用案例
🚀 PLLuM:波兰大型语言模型家族
PLLuM 是一系列专注于波兰语及其他斯拉夫/波罗的海语言的大型语言模型(LLM),同时融入了英语数据以实现更广泛的泛化能力。该模型由多个数据提供商广泛合作开发,基于高质量文本语料库构建,并通过指令微调、偏好学习和先进的对齐技术进行优化。这些模型旨在生成上下文连贯的文本,为各种任务(如问答、摘要)提供帮助,并为特定领域的智能助手等专业应用奠定基础。
🚀 快速开始
每个 PLLuM 模型都可以通过 Hugging Face Transformers 库(或兼容框架)加载。对于基于 RAG 的场景,需要将模型与相关的向量存储或文档检索系统配合使用。以下是一些推荐步骤和代码示例:
1. 安装
确保你安装了最新版本的 transformers
和 torch
(或其他兼容的深度学习框架):
pip install transformers accelerate torch
2. 加载模型
使用以下示例加载其中一个 PLLuM 模型:
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "CYFRAGOVPL/PLLuM-12B-chat" # 替换为你选择的 PLLuM 模型名称
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
3. 使用 bfloat16(BF16)
如果你的硬件(如较新的 GPU)支持 bfloat16,你可以减少内存使用并可能加快推理速度:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "CYFRAGOVPL/PLLuM-12B-chat"
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 以 bfloat16 精度加载模型
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto" # 自动将模型层放置在可用设备上
)
4. 生成示例文本
prompt = "Napisz krótki wiersz o wiośnie." # 英文:"Write a short poem about spring."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=50,
do_sample=True,
top_k=50,
top_p=0.9,
temperature=0.7
)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
5. 预期输出
以下是上述提示的示例(假设)输出:
Przykładowy wiersz o tematyce wiosennej:
Wiosna, wiosna, wiosna, ach to ty!
Kwiecień plecień wciąż przeplata,
trochę zimy, trochę lata.
A ja nie mogę się już doczekać,
kiedy w kalendarzu ujrzę maj.
Wtedy wszystko wkoło rozkwita,
a ptaki tak pięknie śpiewają.
Wiosno, wiosno, czekam z utęsknieniem,
zrób mi tę przyjemność i przyjdź wreszcie, proszę!
你的结果可能会因模型参数(如温度、top_k、top_p)、硬件和其他设置而有所不同。
6. 检索增强生成(RAG)
我们的 Llama - PLLuM 模型(聊天和指令版本)还经过额外训练,可在检索增强生成(RAG)设置中表现出色。提示采用 .jinja 格式,其中 docs
是文档文本列表,question
是应根据提供的文档回答的查询。如果提供的文档中没有答案,模型将生成 "Nie udało mi się odnaleźć odpowiedzi na pytanie"。
提示内容如下:
Numerowana lista dokumentów jest poniżej:
---------------------
<results>{% for doc in docs %}
Dokument: {{ loop.index0 }}
{{ doc }}
{% endfor %}</results>
---------------------
Odpowiedz na pytanie użytkownika wykorzystując tylko informacje znajdujące się w dokumentach, a nie wcześniejszą wiedzę.
Udziel wysokiej jakości, poprawnej gramatycznie odpowiedzi w języku polskim. Odpowiedź powinna zawierać cytowania do dokumentów, z których pochodzą informacje. Zacytuj dokument za pomocą symbolu [nr_dokumentu] powołując się na fragment np. [0] dla fragmentu z dokumentu 0. Jeżeli w dokumentach nie ma informacji potrzebnych do odpowiedzi na pytanie, zamiast odpowiedzi zwróć tekst: "Nie udało mi się odnaleźć odpowiedzi na pytanie".
Pytanie: {{ question }}
✨ 主要特性
广泛的数据收集
我们收集了大规模、高质量的波兰语文本数据(清理和去重后约 1500 亿个标记),以及其他斯拉夫语、波罗的海语和英语文本。其中一部分标记(280 亿)可用于完全开源的模型,包括商业用途(需遵守相关法律法规)。
有机指令数据集
我们精心策划了最大的波兰语手动创建的 “有机指令” 集合(约 40000 个提示 - 响应对,包括约 3500 个多轮对话)。这个人编写的指令集基于广泛的人机交互类型,涵盖了监督微调(SFT)中可能被自动化方法忽略的一系列细微方面(包括对 “强大大语言模型” 的大规模蒸馏)。它还旨在减轻预训练阶段使用的非波兰语文本数据带来的负面语言迁移。
波兰语偏好语料库
我们创建了第一个波兰语偏好语料库,其中包含由不同背景的注释团队手动评估的提示和多个模型响应。这个数据集不仅教会模型正确性(事实和语言方面),还教会其平衡性和安全性 —— 特别是对于潜在的有争议或对抗性的话题。
评估基准
我们开发了自定义基准,用于评估我们的模型在与波兰公共管理相关的任务上的表现,PLLuM 在所有测试模型中取得了最高分。在更广泛的波兰语任务中,PLLuM 模型也达到了最先进的水平。
📦 安装指南
确保你安装了最新版本的 transformers
和 torch
(或其他兼容的深度学习框架):
pip install transformers accelerate torch
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "CYFRAGOVPL/PLLuM-12B-chat" # 替换为你选择的 PLLuM 模型名称
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
高级用法
使用 bfloat16(BF16)
如果你的硬件(如较新的 GPU)支持 bfloat16,你可以减少内存使用并可能加快推理速度:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "CYFRAGOVPL/PLLuM-12B-chat"
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 以 bfloat16 精度加载模型
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto" # 自动将模型层放置在可用设备上
)
生成示例文本
prompt = "Napisz krótki wiersz o wiośnie." # 英文:"Write a short poem about spring."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=50,
do_sample=True,
top_k=50,
top_p=0.9,
temperature=0.7
)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)
📚 详细文档
模型描述
以下是主要 PLLuM 模型的概述,包括它们的许可证、基础模型和参数大小。所有模型名称均链接到特定的 Hugging Face 资源,基础模型和许可证链接到各自的来源或许可证参考。请注意,所有 -nc- 模型仅供非商业使用。
属性 | 详情 |
---|---|
模型类型 | 包括 Llama - PLLuM - 8B - base、Llama - PLLuM - 8B - instruct、Llama - PLLuM - 8B - chat、PLLuM - 12B - base、PLLuM - 12B - instruct、PLLuM - 12B - chat、PLLuM - 12B - nc - base、PLLuM - 12B - nc - instruct、PLLuM - 12B - nc - chat、PLLuM - 8x7B - base、PLLuM - 8x7B - instruct、PLLuM - 8x7B - chat、PLLuM - 8x7B - nc - base、PLLuM - 8x7B - nc - instruct、PLLuM - 8x7B - nc - chat、Llama - PLLuM - 70B - base、Llama - PLLuM - 70B - instruct、Llama - PLLuM - 70B - chat 等多种模型。 |
训练数据 | 约 1500 亿个来自波兰语和多语言来源的标记,其中约 280 亿个标记可用于完全开源的商业用途。 |
模型开发
- 预训练:所有模型都在大规模的波兰语语料库(最多 1500 亿个标记)以及一系列其他斯拉夫语、波罗的海语和英语文本上进行了预训练或持续预训练。
- 指令微调:我们在手动策划的波兰语 “有机指令”(约 40000 条)、来自优质波兰语语料库的转换指令(约 50000 条)和由强大大语言模型生成的合成指令(约 10000 条)上对模型进行了优化。
- 对齐和偏好学习:手动注释的偏好数据教会模型产生更安全、平衡且上下文合适的响应,即使在对抗性或敏感情况下也是如此。
- 特定领域适配:为公共管理等任务开发了基于 RAG(检索增强生成)的专用模型,在复杂信息检索和问答方面表现出色。
预期用例
- 通用语言任务:文本生成、摘要、问答等。
- 特定领域助手:特别适用于波兰公共管理以及需要领域感知检索的法律或官僚主题。
- 研发:在学术或工业环境中,作为下游人工智能应用的构建块,对于精通波兰语的场景至关重要。
训练过程
- 数据集:约 1500 亿个来自波兰语和多语言来源的标记,其中约 280 亿个标记可用于完全开源的商业用途。
- 超参数:根据模型大小而异,通常包括 Adam 或 AdamW 优化器、一系列批量大小和经过精心调整的学习率。
- 硬件和时长:使用 [Bem2](https://man.e - science.pl/pl/kdm/bem2) 高性能计算(最多 300 个 H100 GPU)进行训练。每个模型的训练时间取决于参数大小和硬件配置(80 亿 - 700 亿参数的模型在多 GPU 集群上训练约 8 至 25 天)。
评估和基准
- 公共管理:PLLuM 模型在与政府服务相关的专业任务中表现出色。
- 波兰语任务:在各种内部基准和标准语料库中,PLLuM 在准确性、连贯性和安全性指标方面始终优于其他模型。
- 自定义测试:独特的偏好语料库和对齐测试确保了模型响应的健壮性、安全性和上下文准确性。
局限性和偏差
- 潜在的幻觉:与其他大语言模型一样,PLLuM 偶尔可能会产生事实错误或虚构的内容。
- 敏感性和偏差:尽管进行了广泛的偏好学习,但偏差仍可能出现,特别是在有争议或主观的话题上。
- 上下文长度:根据内存限制,某些模型在处理非常长的上下文任务时可能会遇到挑战。
伦理考虑
PLLuM 模型旨在进行建设性和负责任的使用。用户在将其部署到生产环境中时应谨慎,特别是在敏感或受监管的领域。尽管已努力减少有害输出,但始终存在生成冒犯性、有偏差或不适当文本的风险。建议进行人工监督和尽职调查。
引用
如果你在研究或部署中使用了 PLLuM 模型或本仓库的任何部分,请按以下方式引用(BibTeX):
@unpublished{pllum2025,
title={PLLuM: A Family of Polish Large Language Models},
author={PLLuM Consortium},
year={2025}
}
许可证
PLLuM 家族中的不同模型根据不同的许可证发布(Apache 2.0、CC - BY - NC - 4.0 或 Llama 3.1 许可证)。请查看上述表格中每个模型的条目以获取详细信息。
创建者和联盟
PLLuM 项目是波兰领先的科研机构与各领域专家之间的独特合作,共同致力于创建具有开创性的波兰语模型。这种研究合作汇聚了多样化的能力和热情,为推动波兰人工智能的发展奠定了坚实基础。
联系与支持
如有任何问题或想要做出贡献,请通过 <pllum@e - science.pl> 联系我们。我们欢迎反馈、合作,并期待对 PLLuM 模型进行进一步探索!
致谢
本项目由数字事务部长根据定向补贴第 1/WI/DBiI/2023 号资助:“负责任地开发开放大语言模型 PLLuM(波兰大型语言模型),以支持公共和经济领域的突破性技术,包括为请愿者提供开放的波兰语智能助手。”
资助金额:14,504,392.00 波兰兹罗提 合同签订日期:2024 年 1 月 22 日
注意事项
⚠️ 重要提示
与其他大语言模型一样,PLLuM 偶尔可能会产生事实错误或虚构的内容,且尽管进行了广泛的偏好学习,但偏差仍可能出现,特别是在有争议或主观的话题上。用户在将其部署到生产环境中时应谨慎,特别是在敏感或受监管的领域。
💡 使用建议
对于基于 RAG 的场景,需要将模型与相关的向量存储或文档检索系统配合使用。如果你的硬件支持 bfloat16,可以使用该数据类型以减少内存使用并可能加快推理速度。



