🚀 GALACTICA 120 B (巨大模型)
GALACTICA是在大规模科学语料库上训练的模型,可执行多种科学任务,如引文预测、科学问答等,为科学研究和工具开发提供支持。

本模型卡片源自原始 仓库
参考 Mitchell等人(2018),此模型卡片提供了关于GALACTICA模型的信息、训练方式以及预期用例。有关该模型训练和评估的完整详细信息可在 发布论文 中找到。
此模型检查点由 Manuel Romero 集成到Hub中
🚀 快速开始
GALACTICA模型专为科学任务设计,如果你想使用该模型,可参考以下使用示例。
✨ 主要特性
- GALACTICA模型在大规模科学语料库上进行训练,能够执行多种科学任务,包括但不限于引文预测、科学问答、数学推理、摘要生成、文档生成、分子属性预测和实体提取。
- 模型大小范围从125M到120B参数,可根据不同需求选择合适的模型。
📦 安装指南
使用该模型前,你需要安装transformers
库,可使用以下命令进行安装:
pip install transformers
💻 使用示例
基础用法
使用PyTorch模型在CPU上运行模型
点击展开
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-120b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-120b")
input_text = "The Transformer architecture [START_REF]"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids
outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))
使用PyTorch模型在GPU上运行模型
点击展开
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-120b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-120b", device_map="auto")
input_text = "The Transformer architecture [START_REF]"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda")
outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))
高级用法
在GPU上使用不同精度运行模型 - FP16
点击展开
import torch
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-120b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-120b", device_map="auto", torch_dtype=torch.float16)
input_text = "The Transformer architecture [START_REF]"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda")
outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))
在GPU上使用不同精度运行模型 - INT8
点击展开
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-120b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-120b", device_map="auto", load_in_8bit=True)
input_text = "The Transformer architecture [START_REF]"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda")
outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))
📚 详细文档
模型详情
GALACTICA模型在大规模科学语料库上进行训练,旨在执行科学任务,包括但不限于引文预测、科学问答、数学推理、摘要生成、文档生成、分子属性预测和实体提取。该模型由Meta AI的Papers with Code团队开发,用于研究语言模型在科学自动组织中的应用。我们训练了参数规模从125M到120B的模型。以下是已发布模型的摘要:
大小 |
参数 |
mini |
125M |
base |
1.3B |
standard |
6.7B |
large |
30B |
huge |
120B |
发布日期
2022年11月
模型类型
基于Transformer架构,采用仅解码器设置,并进行了一些修改(更多详细信息请参阅论文)。
论文与演示
论文 / 演示
模型用途
GALACTICA模型的主要目标用户是研究将语言模型应用于科学领域的研究人员。我们还预计该模型对希望构建科学工具的开发人员有用。然而,鉴于语言模型可能产生幻觉,我们警告在没有保障措施的情况下不要用于生产环境。
该模型根据非商业性的CC BY - NC 4.0许可证提供。有关如何使用该模型的更多信息,请参阅本仓库的README.md
文件。
训练数据
GALACTICA模型在1060亿个开放获取的科学文本和数据标记上进行训练。这包括论文、教科书、科学网站、百科全书、参考资料、知识库等。我们对不同模态进行标记,为不同任务提供自然语言接口。更多信息请参阅README.md
文件。有关训练数据的完整信息请参阅论文。
🔧 技术细节
性能与局限性
该模型在一系列知识探测、推理和知识密集型科学任务上优于现有的几种语言模型。在一般NLP任务中,GALACTICA也优于其他开源通用语言模型。然而,我们在此部分指出了一些局限性。
与其他语言模型一样,GALACTICA经常容易产生幻觉 —— 在高质量学术语料库上训练并不能防止这种情况,特别是对于不太流行和引用较少的科学概念。从模型生成内容时,无法保证输出的真实性。这也适用于特定模态,如引文预测。虽然GALACTICA的引文行为随着规模的增大接近真实的引文行为,但该模型在更大规模下仍然表现出流行度偏差。
此外,我们在与刻板印象和毒性相关的几种类型的基准测试中对该模型进行了评估。总体而言,与其他大型语言模型相比,该模型的毒性率显著降低。尽管如此,该模型在某些指标上仍然表现出偏差(详细信息请参阅论文)。因此,我们建议在使用该模型进行生成时要谨慎。
更广泛的影响
GALACTICA有可能作为一种发现学术文献的新方式。我们还预计它在特定领域(如数学、生物学和化学)的下游应用会很多。在论文中,我们展示了该模型作为标准搜索工具替代品的几个示例。我们预计将基于GALACTICA等大型语言模型构建新一代科学工具。
我们鼓励研究人员探索这些模型的有益和新的用例。然而,重要的是要意识到大型语言模型目前的局限性。研究人员应关注使用这些模型可能出现的常见问题,如幻觉和偏差。
📄 许可证
本模型使用CC BY - NC 4.0许可证。
引用
@inproceedings{GALACTICA,
title={GALACTICA: A Large Language Model for Science},
author={Ross Taylor and Marcin Kardas and Guillem Cucurull and Thomas Scialom and Anthony Hartshorn and Elvis Saravia and Andrew Poulton and Viktor Kerkez and Robert Stojnic},
year={2022}
}
⚠️ 重要提示
鉴于语言模型可能产生幻觉,在没有保障措施的情况下不要将该模型用于生产环境。同时,模型在某些指标上仍然表现出偏差,使用时需谨慎。
💡 使用建议
使用该模型进行生成任务时,要对输出内容进行验证和审核,以减少幻觉和偏差带来的影响。