Pythia-70m-deduped项目介绍
项目概述
Pythia-70m-deduped是Pythia Scaling Suite系列模型中的一员。这个系列包含了一组用于促进可解释性研究的语言模型,由EleutherAI开发。Pythia-70m-deduped是其中参数量为7000万的模型,经过了数据去重处理的训练。
模型特点
- 模型类型:基于Transformer的因果语言模型
- 语言:英语
- 参数规模:总参数量70,426,624,非嵌入层参数18,915,328
- 模型结构:6层,512维度,8个注意力头
- 训练数据:经过全局去重处理的Pile数据集
- 训练批次大小:2M tokens
- 学习率:1.0 x 10^-3
使用目的
Pythia-70m-deduped的主要用途是用于研究大型语言模型的行为、功能和局限性。它提供了一个受控的环境来进行科学实验。此外,该模型还提供了154个检查点,包括初始步骤、10个对数间隔的早期检查点,以及143个均匀间隔的检查点,便于研究模型在训练过程中的变化。
局限性
- 该模型未经过下游任务的微调,不适合直接用于商业聊天机器人等产品。
- 可能产生有害或冒犯性的文本,使用时需要谨慎。
- 仅支持英语,不适合翻译或生成其他语言的文本。
- 不应依赖该模型生成事实准确的内容。
快速使用
可以通过Hugging Face Transformers库轻松加载和使用Pythia-70m-deduped模型。以下是一个简单的示例代码:
from transformers import GPTNeoXForCausalLM, AutoTokenizer
model = GPTNeoXForCausalLM.from_pretrained(
"EleutherAI/pythia-70m-deduped",
revision="step3000",
cache_dir="./pythia-70m-deduped/step3000",
)
tokenizer = AutoTokenizer.from_pretrained(
"EleutherAI/pythia-70m-deduped",
revision="step3000",
cache_dir="./pythia-70m-deduped/step3000",
)
inputs = tokenizer("Hello, I am", return_tensors="pt")
tokens = model.generate(**inputs)
tokenizer.decode(tokens[0])
训练细节
Pythia-70m-deduped在经过全局去重处理的Pile数据集上训练。训练过程中模型共看到了299,892,736,000个token,相当于在去重后的Pile数据集上训练了约1.5个epoch。模型使用了与GPT-NeoX-20B相同的分词器。
评估结果
Pythia-70m-deduped及其他Pythia系列模型在多个自然语言处理任务上进行了评估,包括LAMBADA、PIQA、WinoGrande、ARC-Easy和SciQ等。评估结果显示,尽管Pythia模型的主要目标不是下游任务性能,但它们的表现与同等规模的其他模型(如OPT和GPT-Neo系列)相当或更优。
通过这个全面的介绍,我们可以看到Pythia-70m-deduped是一个专为研究目的设计的语言模型,具有良好的性能和丰富的检查点资源,为语言模型的可解释性研究提供了宝贵的工具。