🚀 GALACTICA 6.7B (standard)
GALACTICA模型是在大規模科學語料庫上訓練的語言模型,可執行多種科學任務,如引用預測、科學問答等。本模型卡提供了該模型的詳細信息,包括訓練方式、預期用例等。

本模型卡源自原始 倉庫。參考 Mitchell等人(2018) 的研究,此模型卡介紹了GALACTICA模型的相關信息,包括其訓練方式和預期用例。模型訓練和評估的完整細節可在 發佈論文 中找到。
✨ 主要特性
- 科學任務執行:GALACTICA模型在大規模科學語料庫上進行訓練,能夠執行多種科學任務,如引用預測、科學問答、數學推理、摘要生成、文檔生成、分子屬性預測和實體提取等。
- 多參數規模:開發了參數規模從125M到120B不等的模型,可滿足不同的應用需求。
📦 安裝指南
本部分未提供具體安裝命令,可參考模型的官方文檔或相關代碼倉庫獲取安裝指導。
💻 使用示例
基礎用法
以下是在 transformers
中使用該模型的示例腳本:
在CPU上運行模型
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-6.7b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-6.7b")
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]))
在GPU上運行模型
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-6.7b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-6.7b", 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-6.7b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-6.7b", 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]))
INT8
from transformers import AutoTokenizer, OPTForCausalLM
tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-6.7b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-6.7b", 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 |
125 M |
base |
1.3 B |
standard |
6.7 B |
large |
30 B |
huge |
120 B |
發佈日期
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}
}