Buckets:
| # Models | |
| With the `AutoModelForCausalLMWithValueHead` class TRL supports all decoder model architectures in transformers such as GPT-2, OPT, and GPT-Neo. In addition, with `AutoModelForSeq2SeqLMWithValueHead` you can use encoder-decoder architectures such as T5. TRL also requires reference models which are frozen copies of the model that is trained. With `create_reference_model` you can easily create a frozen copy and also share layers between the two models to save memory. | |
| ## PreTrainedModelWrapper[[trl.PreTrainedModelWrapper]] | |
| #### trl.PreTrainedModelWrapper[[trl.PreTrainedModelWrapper]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L58) | |
| Wrapper for a [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) implemented as a standard PyTorch `torch.nn.Module`. | |
| This class provides a compatibility layer that preserves the key attributes and methods of the original | |
| [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel), while exposing a uniform interface consistent with PyTorch modules. It enables | |
| seamless integration of pretrained Transformer models into custom training, evaluation, or inference workflows. | |
| add_and_load_reward_modeling_adaptertrl.PreTrainedModelWrapper.add_and_load_reward_modeling_adapterhttps://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L444[{"name": "pretrained_model", "val": ""}, {"name": "adapter_model_id", "val": ""}, {"name": "adapter_name", "val": " = 'reward_model_adapter'"}, {"name": "token", "val": " = None"}] | |
| Add and load a reward modeling adapter. This method can only be used if the model is a `PeftModel` and if you | |
| have initialized the model with the `reward_modeling_adapter_id` argument, pointing to the id of the reward | |
| modeling adapter. The latest needs also to contain the score head in order to produce the reward. | |
| **Parameters:** | |
| pretrained_model ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) : The model to be wrapped. | |
| parent_class ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) : The parent class of the model to be wrapped. | |
| supported_args (`list`) : The list of arguments that are supported by the wrapper class. | |
| #### compute_reward_score[[trl.PreTrainedModelWrapper.compute_reward_score]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L569) | |
| Computes the reward score for a given input. The method has first to enable the adapter and then compute the | |
| reward score. After that the model disables the reward modeling adapter and enables the default ppo adapter | |
| again. | |
| #### from_pretrained[[trl.PreTrainedModelWrapper.from_pretrained]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L112) | |
| Instantiates a new model from a pretrained model from `transformers`. The pretrained model is loaded using the | |
| `from_pretrained` method of the [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) class. The arguments that are specific to the | |
| [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) class are passed along this method and filtered out from the `kwargs` | |
| argument. | |
| **Parameters:** | |
| pretrained_model_name_or_path (`str` or [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) : The path to the pretrained model or its name. | |
| - ***model_args** (`list`, *optional*) : Additional positional arguments passed along to the underlying model's `from_pretrained` method. | |
| - ****kwargs** (`dict`, *optional*) : Additional keyword arguments passed along to the underlying model's `from_pretrained` method. We also pre-process the kwargs to extract the arguments that are specific to the [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) class and the arguments that are specific to trl models. The kwargs also support `prepare_model_for_kbit_training` arguments from `peft` library. | |
| #### post_init[[trl.PreTrainedModelWrapper.post_init]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L562) | |
| Post initialization method. This method is called after the model is instantiated and loaded from a checkpoint. | |
| It can be used to perform additional operations such as loading the state_dict. | |
| #### push_to_hub[[trl.PreTrainedModelWrapper.push_to_hub]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L515) | |
| Push the pretrained model to the hub. This method is a wrapper around | |
| [push_to_hub](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.push_to_hub). Please refer to the documentation of | |
| [push_to_hub](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.push_to_hub) for more information. | |
| **Parameters:** | |
| - ***args** (`list`, *optional*) : Positional arguments passed along to the underlying model's `push_to_hub` method. | |
| - ****kwargs** (`dict`, *optional*) : Keyword arguments passed along to the underlying model's `push_to_hub` method. | |
| #### save_pretrained[[trl.PreTrainedModelWrapper.save_pretrained]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L529) | |
| Save the pretrained model to a directory. This method is a wrapper around | |
| [save_pretrained](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.save_pretrained). Please refer to the documentation of | |
| [save_pretrained](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel.save_pretrained) for more information. | |
| **Parameters:** | |
| - ***args** (`list`, *optional*) : Positional arguments passed along to the underlying model's `save_pretrained` method. | |
| - ****kwargs** (`dict`, *optional*) : Keyword arguments passed along to the underlying model's `save_pretrained` method. | |
| #### state_dict[[trl.PreTrainedModelWrapper.state_dict]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L556) | |
| Return the state_dict of the pretrained model. | |
| ## AutoModelForCausalLMWithValueHead[[trl.AutoModelForCausalLMWithValueHead]] | |
| #### trl.AutoModelForCausalLMWithValueHead[[trl.AutoModelForCausalLMWithValueHead]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L62) | |
| An autoregressive model with a value head in addition to the language model head. This class inherits from | |
| [PreTrainedModelWrapper](/docs/trl/pr_4624/en/models#trl.PreTrainedModelWrapper) and wraps a [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) class. The wrapper class supports classic | |
| functions such as `from_pretrained`, `push_to_hub` and `generate`. To call a method of the wrapped model, simply | |
| manipulate the `pretrained_model` attribute of this class. | |
| Class attributes: | |
| - **transformers_parent_class** ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) -- The parent class of the wrapped model. | |
| This | |
| should be set to `transformers.AutoModelForCausalLM` for this class. | |
| - **supported_args** (`tuple`) -- A tuple of strings that are used to identify the arguments that are supported | |
| by the `ValueHead` class. Currently, the supported args are: | |
| - **summary_dropout_prob** (`float`, `optional`, defaults to `None`) -- The dropout probability for the | |
| `ValueHead` class. | |
| - **v_head_initializer_range** (`float`, `optional`, defaults to `0.2`) -- The initializer range for the | |
| `ValueHead` if a specific initialization strategy is selected. | |
| - **v_head_init_strategy** (`str`, `optional`, defaults to `None`) -- The initialization strategy for the | |
| `ValueHead`. Currently, the supported strategies are: | |
| - **`None`** -- Initializes the weights of the `ValueHead` with a random distribution. This is the | |
| default strategy. | |
| - **"normal"** -- Initializes the weights of the `ValueHead` with a normal distribution. | |
| __init__trl.AutoModelForCausalLMWithValueHead.__init__https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L93[{"name": "pretrained_model", "val": ""}, {"name": "**kwargs", "val": ""}]- **pretrained_model** ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) -- | |
| The model to wrap. It should be a causal language model such as GPT2. or any model mapped inside the | |
| `AutoModelForCausalLM` class. | |
| - **kwargs** (`dict`, `optional`) -- | |
| Additional keyword arguments, that are passed to the `ValueHead` class.0 | |
| Initializes the model. | |
| **Parameters:** | |
| pretrained_model ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) : The model to wrap. It should be a causal language model such as GPT2. or any model mapped inside the `AutoModelForCausalLM` class. | |
| kwargs (`dict`, `optional`) : Additional keyword arguments, that are passed to the `ValueHead` class. | |
| #### forward[[trl.AutoModelForCausalLMWithValueHead.forward]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L131) | |
| Applies a forward pass to the wrapped model and returns the logits of the value head. | |
| **Parameters:** | |
| input_ids (*torch.LongTensor* of shape *(batch_size, sequence_length)*) : Indices of input sequence tokens in the vocabulary. | |
| past_key_values (*tuple(tuple(torch.FloatTensor))*, *optional*) : Contains pre-computed hidden-states (key and values in the attention blocks) as computed by the model (see *past_key_values* input) to speed up sequential decoding. | |
| attention_mask (*torch.FloatTensor* of shape *(batch_size, sequence_length)*, *optional*) : Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`: - 1 for tokens that are **not masked**, - 0 for tokens that are **masked**. | |
| return_past_key_values (bool) : A flag indicating if the computed hidden-states should be returned. | |
| kwargs (*dict*, *optional*) : Additional keyword arguments, that are passed to the wrapped model. | |
| #### generate[[trl.AutoModelForCausalLMWithValueHead.generate]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L186) | |
| A simple wrapper around the `generate` method of the wrapped model. Please refer to the | |
| [`generate`](https://huggingface.co/docs/transformers/internal/generation_utils) method of the wrapped model | |
| for more information about the supported arguments. | |
| **Parameters:** | |
| - ***args** (`list`, *optional*) : Positional arguments passed to the `generate` method of the wrapped model. | |
| - ****kwargs** (`dict`, *optional*) : Keyword arguments passed to the `generate` method of the wrapped model. | |
| #### _init_weights[[trl.AutoModelForCausalLMWithValueHead._init_weights]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L109) | |
| Initializes the weights of the value head. The default initialization strategy is random. Users can pass a | |
| different initialization strategy by passing the `v_head_init_strategy` argument when calling | |
| `.from_pretrained`. Supported strategies are: | |
| - `normal`: initializes the weights with a normal distribution. | |
| **Parameters:** | |
| - ****kwargs** (`dict`, `optional`) : Additional keyword arguments, that are passed to the `ValueHead` class. These arguments can contain the `v_head_init_strategy` argument as well as the `v_head_initializer_range` argument. | |
| ## AutoModelForSeq2SeqLMWithValueHead[[trl.AutoModelForSeq2SeqLMWithValueHead]] | |
| #### trl.AutoModelForSeq2SeqLMWithValueHead[[trl.AutoModelForSeq2SeqLMWithValueHead]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L266) | |
| A seq2seq model with a value head in addition to the language model head. This class inherits from | |
| [PreTrainedModelWrapper](/docs/trl/pr_4624/en/models#trl.PreTrainedModelWrapper) and wraps a [PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel) class. The wrapper class supports classic | |
| functions such as `from_pretrained` and `push_to_hub` and also provides some additional functionalities such as | |
| `generate`. | |
| __init__trl.AutoModelForSeq2SeqLMWithValueHead.__init__https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L289[{"name": "pretrained_model", "val": ""}, {"name": "**kwargs", "val": ""}] | |
| **Parameters:** | |
| pretrained_model ([PreTrainedModel](https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel)) : The model to wrap. It should be a causal language model such as GPT2. or any model mapped inside the [AutoModelForSeq2SeqLM](https://huggingface.co/docs/transformers/main/en/model_doc/auto#transformers.AutoModelForSeq2SeqLM) class. | |
| kwargs : Additional keyword arguments passed along to the `ValueHead` class. | |
| #### forward[[trl.AutoModelForSeq2SeqLMWithValueHead.forward]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L397) | |
| #### generate[[trl.AutoModelForSeq2SeqLMWithValueHead.generate]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L431) | |
| We call `generate` on the wrapped model. | |
| #### _init_weights[[trl.AutoModelForSeq2SeqLMWithValueHead._init_weights]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_value_head.py#L383) | |
| We initialize the weights of the value head. | |
| ## create_reference_model[[trl.create_reference_model]] | |
| #### trl.create_reference_model[[trl.create_reference_model]] | |
| [Source](https://github.com/huggingface/trl/blob/vr_4624/trl/models/modeling_base.py#L600) | |
| Creates a static reference copy of a model. Note that model will be in `.eval()` mode. | |
| **Parameters:** | |
| model ([PreTrainedModelWrapper](/docs/trl/pr_4624/en/models#trl.PreTrainedModelWrapper)) : The model to be copied. | |
| num_shared_layers (`int`, *optional*) : The number of initial layers that are shared between both models and kept frozen. | |
| pattern (`str`, *optional*) : The shared layers are selected with a string pattern (e.g. "transformer.h.{layer}" for GPT2) and if a custom pattern is necessary it can be passed here. | |
| **Returns:** | |
| [PreTrainedModelWrapper](/docs/trl/pr_4624/en/models#trl.PreTrainedModelWrapper) | |
Xet Storage Details
- Size:
- 14.7 kB
- Xet hash:
- 80ff56588b9bb5a6f72675f4a5f6952aa0c53f226988b5def130c70c120b46ab
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.