HuggingFace推出TextEnvironments:一个机器学习模型和一组工具(Python函数)之间的协调器,模型可以调用这些工具来解决特定任务

HuggingFace发布TextEnvironments:协调机器学习模型与Python函数工具的新系统,助力解决特定任务

Supervised Fine-tuning (SFT), Reward Modeling (RM), and Proximal Policy Optimization (PPO) are all part of TRL. In this full-stack library, researchers give tools to train transformer language models and stable diffusion models with Reinforcement Learning. The library is an extension of Hugging Face’s transformers collection. Therefore, language models can be loaded directly via transformers after they have been pre-trained. Most decoder and encoder-decoder designs are currently supported. For code snippets and instructions on how to use these programs, please consult the manual or the examples/ subdirectory.

亮点

  • 通过SFTTrainer(Transformers Trainer的轻量级、用户友好的封装器),您可以轻松调整自定义数据集上的语言模型或适配器。
  • 要快速而精确地修改人类偏好的语言模型(奖励建模),可以使用RewardTrainer(Transformers Trainer的轻量级封装器)。
  • PPOTrainer只需要(查询、响应、奖励)三元组就能优化语言模型。
  • AutoModelForCausalLMWithValueHead和AutoModelForSeq2SeqLMWithValueHead介绍了一种为每个标记额外提供标量输出的Transformer模型,可以在强化学习中用作价值函数。
  • 使用BERT情感分类器训练GPT2以撰写好评电影评论;仅使用适配器实现完全的RLHF;减少GPT-j的有毒性;提供stack-llama的示例,等等。

TRL是如何工作的?

在TRL中,Transformer语言模型被训练以优化奖励信号。人类专家或奖励模型确定奖励信号的性质。奖励模型是一个估计固定输出流的收益的ML模型。Proximal Policy Optimization(PPO)是TRL用于训练Transformer语言模型的一种强化学习技术。因为它是一种策略梯度方法,PPO通过修改Transformer语言模型的策略来学习。策略可以被看作是将一系列输入转换为另一系列输出的函数。

使用PPO,语言模型可以通过以下三种主要方式进行微调:

  • Release语言模型在回答问题时提供可能的句子开头。
  • 评估可能涉及使用函数、模型、人工判断或这些因素的组合。每个查询/响应对最终应产生一个单一的数值。
  • 最困难的方面无疑是优化。在优化阶段,使用查询/响应对确定序列中标记的log概率。此目的使用训练模型和一个参考模型(通常是调整前的预训练模型)来完成。两个输出之间的KL散度也是额外的奖励信号,确保生成的回复与参考语言模型的差距不太大。然后使用PPO来训练实际的语言模型。

关键特点

  • 与传统的Transformer语言模型训练方法相比,TRL具有几个优势。
  • 除了文本生成、翻译和摘要之外,TRL还可以为各种其他任务训练Transformer语言模型。
  • 与监督学习等传统技术相比,使用TRL训练Transformer语言模型更加高效。
  • 与使用传统方法学习的Transformer语言模型相比,使用TRL训练的模型对噪声和对抗性输入的抵抗能力更强。
  • TRL中的TextEnvironments是一项新功能。

TRL中的TextEnvironments是一组用于开发基于强化学习的语言Transformer模型的资源。它们允许与Transformer语言模型进行交流并生成结果,这些结果可以用于微调模型的性能。TRL使用类来表示TextEnvironments。该层次结构中的类代表涉及文本的各种上下文,例如文本生成上下文、翻译上下文和摘要上下文。许多职位已经使用TRL来训练Transformer语言模型。

与使用传统方法训练的模型生成的文本相比,经过TRL训练的Transformer语言模型产生更有创意和信息性的写作。已经证明,与使用传统方法训练的模型相比,使用TRL训练的Transformer语言模型在从一种语言翻译为另一种语言时更具优势。使用TRL进行训练的Transformer语言模型比使用传统方法训练的模型能更准确、简洁地进行文本摘要。

更多详细信息请访问 GitHub 页面 https://github.com/huggingface/trl

简而言之

TRL 是一种使用强化学习来训练变换器语言模型的有效方法。与使用更传统方法训练的模型相比,经过 TRL 训练的变换器语言模型在适应性、效率和稳定性方面表现更好。通过 TRL 可以实现对文本生成、翻译和摘要等活动的变换器语言模型的训练。