It was a bright cold day in April, and the clocks were striking thirteen. Winston Smith,
wikitext
openwebtext
spacemanidol/cc-stories
name
results
megatron-gpt2-345m
task
dataset
metrics
type
name
text-generation
Text generation
name
type
WikiText-103
wikitext
type
value
name
wikitext
19.31
Perplexity
task
dataset
metrics
type
name
text-generation
Text generation
name
type
WikiText-2
wikitext
type
value
name
wikitext
17.151
Perplexity
task
dataset
metrics
type
name
text-generation
Text generation
name
type
LAMBADA
lambada
type
value
name
lambada
5.509
Perplexity
type
value
name
lambada
68.31%
Accuracy
This is an archive of nvidia/megatron-gpt2-345m that contains readily available model weights (375M). Its performance on Wikitext-103 is 19.31.1 In comparison, the performance of GPT2-large (1.5B) is 17.48 and GPT2-medium (762M) is 22.05.2
References
Shoeybi, Mohammad, et al. Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism. arXiv, 2019, https://doi.org/10.48550/ARXIV.1909.08053.
Megatron is a large, powerful transformer developed by the Applied Deep Learning Research team at NVIDIA. This particular Megatron model was trained from a generative, left-to-right transformer in the style of GPT-2. This model was trained on text sourced from Wikipedia, RealNews, OpenWebText, and CC-Stories. It contains 345 million parameters.
The following code shows how to use the Megatron GPT2 checkpoint and Transformers to generate text.
importosimporttorchfromtransformersimportGPT2Tokenizer,GPT2LMHeadModeltokenizer=GPT2Tokenizer.from_pretrained("gpt2")model=GPT2LMHeadModel.from_pretrained("robowaifudev/megatron-gpt2-345m")iftorch.cuda.is_available():device=torch.device("cuda")model.half()else:device=torch.device("cpu")model.to(device)model.eval()# Generateprompt=("It was a bright cold day in April, and the clocks were striking thirteen. Winston Smith,")input_ids=tokenizer.encode(prompt,return_tensors="pt").to(device)output=model.generate(input_ids=input_ids,max_length=len(input_ids)+128,do_sample=True,top_k=64,top_p=0.9,temperature=0.8,num_return_sequences=2,repetition_penalty=1.025)# Output the textprint("Prompt:",prompt)print("*"*3)fori,sentenceinenumerate(output):text=tokenizer.decode(sentence,clean_up_tokenization_spaces=True)print(f"{i}:",text)print("*"*3)