英文

目录

  • 模型摘要
  • 应用
  • 限制
  • 训练
  • 评估
  • 引用
  • 模型摘要

    我们提出了BLOOMZ & mT0,这是一组可以在几十种语言中零-shot跟踪人类指令的模型。我们在我们的跨语言任务混合(xP3)上对BLOOM&mT5预训练多语言模型进行微调,并发现我们得到的模型能够在未见过的任务和语言上实现跨语言泛化。

    Multitask finetuned on 1239321 . Recommended for prompting in English.
    Parameters 300M 580M 1.2B 3.7B 13B 560M 1.1B 1.7B 3B 7.1B 176B
    Finetuned Model 12310321 12311321 12312321 12313321 12314321 12315321 12316321 12317321 12318321 12319321 12320321
    Multitask finetuned on 12321321 . Recommended for prompting in non-English.
    Finetuned Model 12322321 12323321 12324321
    Multitask finetuned on 12325321 . Released for research purposes only. Strictly inferior to above models!
    Finetuned Model 12326321 12327321 12328321
    Original pretrained checkpoints. Not recommended.
    Pretrained Model 12329321 12330321 12331321 12332321 12333321 12334321 12335321 12336321 12337321 12338321 12339321

    应用

    预期用途

    我们建议使用该模型执行用自然语言表达的任务。例如,给定提示“Translate to English: Je t’aime.”,该模型很可能会回答“I love you.”。我们论文中的一些提示思路:

    • 一个传奇的开端,一个不灭的神话,这不仅仅是一部电影,而是作为一个走进新时代的标签,永远彪炳史册。你认为这句话的立场是赞扬、中立还是批评?
    • 建议至少给“Mạng neural nhân tạo”提供五个相关搜索词。
    • 编写一个关于巨魔从危险的龙中拯救公主的童话故事。这个童话故事是一部在全世界都受到赞誉的杰作,其寓意是“英雄有各种尺寸”。故事(用西班牙语)
    • 用泰卢固语用一句话解释神经网络中的反向传播是什么。

    欢迎在社区选项卡中分享您的生成结果!

    如何使用

    CPU

    点击以展开
    # pip install -q transformers
    from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
    
    checkpoint = "bigscience/mt0-base"
    
    tokenizer = AutoTokenizer.from_pretrained(checkpoint)
    model = AutoModelForSeq2SeqLM.from_pretrained(checkpoint)
    
    inputs = tokenizer.encode("Translate to English: Je t’aime.", return_tensors="pt")
    outputs = model.generate(inputs)
    print(tokenizer.decode(outputs[0]))
    

    GPU

    点击以展开
    # pip install -q transformers accelerate
    from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
    
    checkpoint = "bigscience/mt0-base"
    
    tokenizer = AutoTokenizer.from_pretrained(checkpoint)
    model = AutoModelForSeq2SeqLM.from_pretrained(checkpoint, torch_dtype="auto", device_map="auto")
    
    inputs = tokenizer.encode("Translate to English: Je t’aime.", return_tensors="pt").to("cuda")
    outputs = model.generate(inputs)
    print(tokenizer.decode(outputs[0]))
    

    以8位形式使用GPU

    点击以展开
    # pip install -q transformers accelerate bitsandbytes
    from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
    
    checkpoint = "bigscience/mt0-base"
    
    tokenizer = AutoTokenizer.from_pretrained(checkpoint)
    model = AutoModelForSeq2SeqLM.from_pretrained(checkpoint, device_map="auto", load_in_8bit=True)
    
    inputs = tokenizer.encode("Translate to English: Je t’aime.", return_tensors="pt").to("cuda")
    outputs = model.generate(inputs)
    print(tokenizer.decode(outputs[0]))
    

    限制

    提示工程:性能可能会因提示而异。对于BLOOMZ模型,我们建议明确指示输入何时停止,以避免模型试图继续输入。例如,没有句号(.)结束的提示“Translate to English: Je t'aime”可能导致模型试图继续翻译法语句子。更好的提示示例是“Translate to English: Je t'aime.”,“Translate to English: Je t'aime. Translation:”,“What is "Je t'aime." in English?”等,在这些提示中,模型清楚知道何时应该回答。此外,我们建议尽可能向模型提供更多的上下文。例如,如果您希望它用泰卢固语回答,请告诉模型,例如“用泰卢固语用一句话解释神经网络中的反向传播是什么。 ”。

    训练

    模型

    • 架构:与 mt5-base 相同,也可参考config.json文件
    • 微调步骤:25000
    • 微调标记:46.2亿
    • 精度:bfloat16

    硬件

    • TPU:TPUv4-64

    软件

    评估

    对于未见任务的零-shot结果,请参考我们的 paper & bigscience/evaluation-results 中的表7。侧边栏报告了最佳提示每个数据集配置的零-shot性能。

    引用

    @misc{muennighoff2022crosslingual,
          title={Crosslingual Generalization through Multitask Finetuning}, 
          author={Niklas Muennighoff and Thomas Wang and Lintang Sutawika and Adam Roberts and Stella Biderman and Teven Le Scao and M Saiful Bari and Sheng Shen and Zheng-Xin Yong and Hailey Schoelkopf and Xiangru Tang and Dragomir Radev and Alham Fikri Aji and Khalid Almubarak and Samuel Albanie and Zaid Alyafeai and Albert Webson and Edward Raff and Colin Raffel},
          year={2022},
          eprint={2211.01786},
          archivePrefix={arXiv},
          primaryClass={cs.CL}
    }