| | |
GPT-2B-001是基于Transformer的语言模型。GPT代表一类只有解码器的Transformer模型,类似于GPT-2和3,而2B代表可训练参数总数(20亿)[1, 2]。
该模型使用 NeMo 进行1.1T词元训练。
注意:您需要NVIDIA Ampere或Hopper GPU来使用此模型。
您需要安装NVIDIA Apex和NeMo。
git clone https://github.com/NVIDIA/apex.git cd apex git checkout 03c9d80ed54c0eaa5b581bf42ceca3162f085327 pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" --global-option="--fast_layer_norm" --global-option="--distributed_adam" --global-option="--deprecated_fused_adam" ./
pip install nemo_toolkit['nlp']==1.17.0
或者,您可以使用预先安装了所有依赖项的NeMo Megatron训练Docker容器。
注意:下面的示例在1个GPU上以Tensor分布式并行性(TP)为1和Pipeline分布式并行性(PP)为1启动了一个模型变体。
git clone https://github.com/NVIDIA/NeMo.git cd NeMo/examples/nlp/language_modeling git checkout v1.17.0 python megatron_gpt_eval.py gpt_model_file=nemo_2b_bf16_tp1.nemo trainer.precision=bf16 server=True tensor_model_parallel_size=1 trainer.devices=1
import json import requests port_num = 5555 headers = {"Content-Type": "application/json"} def request_data(data): resp = requests.put('http://localhost:{}/generate'.format(port_num), data=json.dumps(data), headers=headers) sentences = resp.json()['sentences'] return sentences data = { "sentences": ["It was a warm summer morning when"]*1, "tokens_to_generate": 50, "temperature": 1.0, "add_BOS": False, "top_k": 0, "top_p": 0.9, "greedy": False, "all_probs": False, "repetition_penalty": 1.2, "min_tokens_to_generate": 2, } sentences = request_data(data) print(sentences)
该模型是在公开可用的数据源上获得的1.1T词元进行训练的。数据集包括53种语言和代码。
零-shot性能。使用 LM Evaluation Test Suite from AI21 进行评估。
ARC-Challenge | ARC-Easy | RACE-middle | Winogrande | RTE | BoolQA | HellaSwag | PiQA |
---|---|---|---|---|---|---|---|
0.3558 | 0.45300 | 0.3997 | 0.5801 | 0.556 | 0.5979 | 0.592 | 0.7437 |
该模型是在最初从互联网上抓取的数据上进行训练的。这些数据中包含有害语言和社会偏见。因此,当使用有害提示时,模型可能会放大这些偏见并返回有毒的响应。我们没有对此检查点执行任何偏差/毒性移除或模型对齐。
[1] Improving Language Understanding by Generative Pre-Training
[2] Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism
[4] GLU Variants Improve Transformer
[5] RoFormer: Enhanced Transformer with Rotary Position Embedding
使用该模型的许可受到 CC-BY-4.0 的条款约束。通过下载该模型的公共版本和发布版本,您接受 CC-BY-4.0 许可证的条款和条件。
.hf-sanitized.hf-sanitized-uAu5SzEmgnFyZPBiM-VQ8 img {display: inline;}