GPT-JT-6B-v1项目介绍
项目概述
GPT-JT-6B-v1是一个由GPT-J(6B)模型经过优化与改进后形成的文本生成模型,这个项目通过引入新型的去中心化训练算法,对GPT-J进行了微调,使用3.53 billion个token进行训练,使得GPT-JT在分类基准测试中超越了许多拥有100B+参数的模型。
构建技术
- 模型来源:GPT-JT基于EleutherAI的GPT-J(6B),进行了分支开发。
- 训练目标:采用了UL2的训练目标,使得模型能够在输入文本时使用双向上下文。
- 训练数据集:包括多样化的数据集,如Chain-of-Thought(CoT)、Public Pool of Prompts(P3)、Natural-Instructions(NI)。
功能特点
GPT-JT的显著进步在于分类任务的表现得到了大幅提升,与原始的GPT-J模型相比有明显改进。
使用方法
使用GPT-JT-6B-v1可以通过以下两种方式:
from transformers import pipeline
pipe = pipeline(model='togethercomputer/GPT-JT-6B-v1')
pipe('''"I love this!" Is it positive? A:''')
或者
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("togethercomputer/GPT-JT-6B-v1")
model = AutoModelForCausalLM.from_pretrained("togethercomputer/GPT-JT-6B-v1")
许可证
GPT-JT-6B-v1的权重使用Apache许可协议2.0进行授权。
训练细节
UL2训练目标
GPT-JT使用UL2训练目标,该方法允许模型在输入文本时使用双向上下文,而在生成token时使用因果注意力。这种方式的目的是为了更好地利用上下文信息,从而增强处理上下文信息的任务能力。
使用的数据集
- Natural-Instructions
- P3
- MMLU-COT
- the Pile
训练过程分为两步:首先使用UL2损失在the Pile上对2.62 billion个token进行训练,然后在混合数据集上对额外的0.92 billion个token进行训练,其中包括5%的CoT,20%的P3,20%的NI和55%的the Pile。
超参数设置
- 使用AdamW优化器,学习率为1e-5,全局批大小为64。
- 采用混合精度训练,激活为FP16,优化器状态为FP32。
- 使用数据并行和流水线并行进行训练。
- 输入序列最大长度为2048个token。
基基础设施
GPT-JT的训练由Together Research Computer提供支持。
这就是GPT-JT-6B-v1项目的简单介绍,通过这些技术的应用,GPT-JT展现了其在文本生成领域的强大能力。