模型:
facebook/opt-iml-30b
OPT-IML (OPT + Instruction Meta-Learning) 是一组针对 OPT 进行了指令调整的版本,在 OPT-IML Bench(一个收集了来自8个 NLP 基准测试的约2000个 NLP 任务的集合)上训练得到。
我们提供了两个模型版本:
对于像这样的大型 OPT 模型,不建议使用文本生成流程,因为我们应该在加载模型时使用半精度来加速生成并优化GPU上的内存消耗。推荐直接调用 generate 方法如下:
>>> from transformers import AutoModelForCausalLM, AutoTokenizer >>> import torch >>> model = AutoModelForCausalLM.from_pretrained("facebook/opt-iml-30b", torch_dtype=torch.float16).cuda() >>> # the fast tokenizer currently does not work correctly >>> tokenizer = AutoTokenizer.from_pretrained("facebook/opt-iml-30b", use_fast=False) >>> prompt = "What is the color of a carrot?\nA:" >>> input_ids = tokenizer(prompt, return_tensors="pt").input_ids.cuda() >>> generated_ids = model.generate(input_ids) >>> tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
尽管 OPT-IML 模型在广泛的评估中优于基线 OPT,但它们仍然容易受到使用大型语言模型的各种风险的影响,包括事实正确性、生成有害语言和强化刻板印象。虽然我们发布 OPT-IML 模型以促进未来关于指令调整的工作,并提高可用的大型指令调整因果语言模型,但使用这些模型应遵循负责任的最佳实践。
OPT-IML 模型是在 OPT-IML Bench 上训练的,该基准测试是针对指令元学习(IML)的一个大型基准测试,其中包含了来自8个现有基准测试的2000个 NLP 任务,包括 Super-NaturalInstructions、FLAN、PromptSource 等。
文本使用GPT2字节级版本的字节对编码(BPE)进行标记化(针对Unicode字符),词汇表大小为50272。输入是连续2048个标记的序列。
30B 模型在64个40GB的A100 GPU上进行微调。在微调过程中,模型大约观察了20亿个标记,这只是 OPT 预训练预算的0.6%。
@misc{iyer2022opt, title={OPT-IML: Scaling Language Model Instruction Meta Learning through the Lens of Generalization}, author={Iyer, Srinivasan and Lin, Xi Victoria and Pasunuru, Ramakanth and Mihaylov, Todor and Simig, D{\'a}niel and Yu, Ping and Shuster, Kurt and Wang, Tianlu and Liu, Qing and Koura, Punit Singh and others}, year={2022}, eprint={2212.12017}, archivePrefix={arXiv}, primaryClass={cs.CL} }