模型简介
模型特点
模型能力
使用案例
🚀 Gemma模型卡片
Gemma-APS是用于抽象命题分割(APS)的生成模型和研究工具,可将文本内容分解为有意义的组件,适用于研究和多种应用场景。
🚀 快速开始
要快速开始运行该模型,请按以下步骤操作:
首先确保执行 pip install -U transformers nltk
,然后根据你的用例复制相关代码片段。
为了方便使用,我们定义了两个辅助函数,用于对模型的输入进行预处理和对输出进行后处理:
import nltk
import re
nltk.download('punkt')
start_marker = '<s>'
end_marker = '</s>'
separator = '\n'
def create_propositions_input(text: str) -> str:
input_sents = nltk.tokenize.sent_tokenize(text)
propositions_input = ''
for sent in input_sents:
propositions_input += f'{start_marker} ' + sent + f' {end_marker}{separator}'
propositions_input = propositions_input.strip(f'{separator}')
return propositions_input
def process_propositions_output(text):
pattern = re.compile(f'{re.escape(start_marker)}(.*?){re.escape(end_marker)}', re.DOTALL)
output_grouped_strs = re.findall(pattern, text)
predicted_grouped_propositions = []
for grouped_str in output_grouped_strs:
grouped_str = grouped_str.strip(separator)
props = [x[2:] for x in grouped_str.split(separator)]
predicted_grouped_propositions.append(props)
return predicted_grouped_propositions
💻 使用示例
基础用法
使用 pipeline
API 的示例代码:
from transformers import pipeline
import torch
generator = pipeline('text-generation', 'google/gemma-7b-aps-it', device_map='auto', torch_dtype=torch.bfloat16)
passage = 'Sarah Stage, 30, welcomed James Hunter into the world on Tuesday.\nThe baby boy weighed eight pounds seven ounces and was 22 inches long.'
messages = [{'role': 'user', 'content': create_propositions_input(passage)}]
output = generator(messages, max_new_tokens=4096, return_full_text=False)
result = process_propositions_output(output[0]['generated_text'])
print(result)
示例输出
```json [ [ "Sarah Stage welcomed James Hunter into the world.", "Sarah Stage is 30 years old.", "James Hunter was welcomed on Tuesday." ], [ "James Hunter weighed eight pounds seven ounces.", "James Hunter was 22 inches long." ] ] ```高级用法
使用 AutoModel
和 AutoTokenizer
APIs 的示例代码:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = 'google/gemma-7b-aps-it'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map='auto',
torch_dtype=torch.bfloat16,
)
passage = "For more than 40 years, the lyrics of American Pie have been puzzled over. This week the handwritten lyrics sold for more than $1 million at auction. The verses contain hidden references to seminal events of the 50s and 60s. It includes nods to Buddy Holly, Charles Manson and Martin Luther King."
messages = [{'role': 'user', 'content': create_propositions_input(passage)}]
inputs = tokenizer.apply_chat_template(messages, return_tensors='pt', add_generation_prompt=True, return_dict=True).to(model.device)
output = model.generate(**inputs, max_new_tokens=4096, do_sample=False)
generated_text = tokenizer.batch_decode(output[:, inputs['input_ids'].shape[1]:], skip_special_tokens=True)[0]
result = process_propositions_output(generated_text)
print(result)
示例输出
```json [ [ "The lyrics of American Pie have been puzzled over for more than 40 years." ], [ "The handwritten lyrics sold for more than $1 million.", "The handwritten lyrics sold at auction.", "The handwritten lyrics sold this week." ], [ "The verses contain hidden references to seminal events of the 50s.", "The verses contain hidden references to seminal events of the 60s." ], [ "The lyrics include nods to Buddy Holly.", "The lyrics include nods to Charles Manson.", "The lyrics include nods to Martin Luther King." ] ] ```✨ 主要特性
- 抽象命题分割:Gemma-APS 是用于抽象命题分割(APS)的生成模型和研究工具,能够将文本内容分解为有意义的组件。
- 多场景应用:可用于研究、基础任务、检索、事实核查和生成任务评估等场景。
📚 详细文档
模型信息
描述
Gemma-APS 是一个用于抽象命题分割(简称 APS,也称为主张提取)的生成模型和研究工具。给定一段文本,该模型会将内容分割成文本中表达的各个事实、陈述和观点,并以完整句子的形式重新表述,对原文进行少量修改。
该模型可用于需要将文本内容分解为有意义组件的研究。应用场景包括基础任务、检索、事实核查以及生成任务(如摘要)的评估,在这些场景中,将各个命题(主张)分开处理可能会很有用,以便独立处理。更多信息请查看研究论文。
上下文长度
模型在 8192 个标记的上下文长度上进行训练。
输入和输出
- 输入:一段文本。
- 输出:文本段落中所有句子的命题列表。每个句子的命题单独分组。
模型数据
训练数据集
- 训练数据包含合成生成的示例,每个示例都有(输入段落,命题列表)对,其中命题列表包含输入段落中所有句子的命题(每个句子一组命题)。
- 输入段落是通过少样本提示 Gemini Ultra 生成的。
- 命题列表是通过对输入段落应用教师大语言模型(LLM)生成的。教师大语言模型是在经过过滤的 ROSE 数据集上训练的 Gemini Pro 模型。
详情请参阅研究论文。
数据预处理
- 我们过滤掉了与用于提示 Gemini Ultra 的任何少样本示例有 >=4 个标记重叠的示例段落。
- 我们使用 ROSE 数据集来训练教师大语言模型(Gemini Pro)。我们使用蕴含模型过滤 ROSE 示例,以去除不满足命题所需属性的情况。
实现信息
硬件
与 Gemma 类似,Gemma-APS 在 TPUv5e 上进行训练。
训练大语言模型需要大量的计算能力。TPU 专为机器学习中常见的矩阵运算而设计,在这一领域具有以下几个优势:
- 性能:TPU 专门设计用于处理训练大语言模型(LLM)涉及的大量计算。与 CPU 相比,它们可以显著加速训练过程。
- 内存:TPU 通常配备大量高带宽内存,允许在训练过程中处理大型模型和批量大小。这有助于提高模型质量。
- 可扩展性:TPU Pod(大型 TPU 集群)为处理大型基础模型日益增长的复杂性提供了可扩展的解决方案。你可以在多个 TPU 设备上分布训练,以实现更快、更高效的处理。
- 成本效益:在许多情况下,与基于 CPU 的基础设施相比,TPU 可以为训练大型模型提供更具成本效益的解决方案,特别是考虑到更快的训练速度节省的时间和资源。
这些优势与谷歌对可持续运营的承诺相一致。
软件
训练使用 JAX 进行。
JAX 允许研究人员利用最新一代的硬件(包括 TPU)来更快、更高效地训练大型模型。
评估
基准测试结果
评估是在一个现有的领域内数据集(ROSE 数据集的开发集,经过蕴含模型过滤)和论文中引入的两个领域外数据集上进行的。评估基于我们为抽象命题分割任务提出的新指标。
伦理与安全
评估方法
这些模型仅适用于英文文本的抽象命题分割,不适用于任何其他任务或语言。虽然我们已经在三个评估数据集上对模型进行了测试,并且与强大的基线相比取得了积极的结果,但模型在某些示例上仍可能存在错误。
使用与限制
预期用途
这些模型仅适用于英文文本的抽象命题分割,不适用于任何其他任务或语言。虽然我们已经在三个评估数据集上对其进行了测试,并且与强大的基线相比取得了积极的结果,但模型在某些示例上仍可能存在错误。
限制
这些模型存在一些用户应该了解的限制:
- 训练数据:
- 训练数据的质量和多样性会显著影响模型的能力。训练数据中的偏差或差距可能导致模型响应的局限性。
- 训练数据集的范围决定了模型能够有效处理的主题领域。
- 我们已经在来自不同领域的段落上测试了我们的模型,这些段落包含几个句子。
- 该模型支持英文的抽象命题分割,不支持任何其他语言。
- 语言歧义与细微差别:自然语言本质上是复杂的。大语言模型可能难以理解微妙的细微差别、讽刺或比喻性语言。
- 事实准确性:大语言模型根据从训练数据中学到的信息生成响应,但它们不是知识库。它们可能会生成不正确或过时的事实陈述。
- 常识:大语言模型依赖于语言中的统计模式。它们可能在某些情况下缺乏应用常识推理的能力。
伦理考量与风险
大语言模型(LLM)的开发引发了一些伦理问题。在创建开放模型时,我们仔细考虑了以下几点:
- 偏差与公平性:在大规模真实世界文本数据上训练的大语言模型可能反映训练材料中嵌入的社会文化偏差。这些模型经过了仔细审查,输入数据的预处理和后续评估在本模型卡片中进行了描述和报告。
- 错误信息与滥用:大语言模型可能被滥用来生成虚假、误导性或有害的文本。
- 透明度与问责制:本模型卡片总结了模型的架构、能力、限制和评估过程的详细信息。
已识别的风险和缓解措施:
- 偏差的延续:鼓励在模型训练、微调等用例中进行持续监控(使用评估指标、人工审查)并探索去偏技术。
- 有害内容的生成:内容安全机制和指南至关重要。鼓励开发者谨慎行事,并根据其特定的产品政策和应用用例实施适当的内容安全保障措施。
- 恶意用途:技术限制以及开发者和最终用户的教育可以帮助减轻大语言模型的恶意应用。提供了教育资源和用户举报滥用行为的机制。Gemma 禁止使用政策 中列出了 Gemma 模型的禁止用途。
- 隐私侵犯:模型在经过过滤以去除个人身份信息(PII)的数据上进行训练。鼓励开发者遵守隐私法规并采用隐私保护技术。
益处
这些模型对于从事抽象命题分割(主张提取)研究或其他可能受益于该任务的问题(如基础任务、检索、事实核查)的学者很有用。
🔧 技术细节
模型信息
属性 | 详情 |
---|---|
基础模型 | google/gemma-7b |
库名称 | transformers |
许可证 | gemma |
管道标签 | text-generation |
其他信息
- 模型页面:Gemma
- 资源与技术文档:
- 使用条款:条款
- 作者:Mohammad Javad Hosseini, Yang Gao, Tim Baumgärtner, Alex Fabrikant, Reinald Kim Amplayo
📄 许可证
本模型使用 gemma 许可证。访问 Terms 查看使用条款。



