From 0f6187acb1ee75b960262fba0c070fead9a6feb1 Mon Sep 17 00:00:00 2001 From: Vincent Moens Date: Mon, 2 Dec 2024 17:42:34 +0000 Subject: [PATCH 1/4] Update [ghstack-poisoned] --- docs/requirements.txt | 4 + docs/source/_static/img/rollout-llm.png | Bin 0 -> 325762 bytes docs/source/index.rst | 1 + test/mocking_classes.py | 10 +- test/test_env.py | 11 +- torchrl/_utils.py | 1 + torchrl/data/map/hash.py | 3 +- torchrl/data/map/tdstorage.py | 20 +- torchrl/data/map/tree.py | 196 +++++++++- torchrl/data/map/utils.py | 6 +- torchrl/data/replay_buffers/storages.py | 4 +- torchrl/data/tensor_specs.py | 10 +- torchrl/envs/common.py | 76 +++- torchrl/envs/utils.py | 55 +-- .../sphinx-tutorials/beam_search_with_gpt.py | 365 ++++++++++++++++++ 15 files changed, 693 insertions(+), 69 deletions(-) create mode 100644 docs/source/_static/img/rollout-llm.png create mode 100644 tutorials/sphinx-tutorials/beam_search_with_gpt.py diff --git a/docs/requirements.txt b/docs/requirements.txt index e212cd942f4..90efea35854 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -28,3 +28,7 @@ vmas onnxscript onnxruntime onnx +plotly +igraph +transformers +datasets diff --git a/docs/source/_static/img/rollout-llm.png b/docs/source/_static/img/rollout-llm.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e63394de1b47ffbc6ca05f6ca8fc3653eab078 GIT binary patch literal 325762 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[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
8884=kIv=sVm? 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
    DVkr?&CrxN622 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ª_i(WBpydozT)-A0^7*88UxZQSICJCHS+!nw>Ii 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 literal 0 HcmV?d00001 diff --git a/docs/source/index.rst b/docs/source/index.rst index 2eedc045416..6a448d61c41 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -105,6 +105,7 @@ Intermediate tutorials/dqn_with_rnn tutorials/rb_tutorial tutorials/export + tutorials/beam_search_with_gpt Advanced -------- diff --git a/test/mocking_classes.py b/test/mocking_classes.py index d78e2f27184..4fab4027431 100644 --- a/test/mocking_classes.py +++ b/test/mocking_classes.py @@ -1776,14 +1776,18 @@ def __init__(self): tensor=Unbounded(3), non_tensor=NonTensor(shape=()), ) + self._saved_obs_spec = self.observation_spec.clone() self.state_spec = Composite( non_tensor=NonTensor(shape=()), ) + self._saved_state_spec = self.state_spec.clone() self.reward_spec = Unbounded(1) + self._saved_full_reward_spec = self.full_reward_spec.clone() self.action_spec = Unbounded(1) + self._saved_full_action_spec = self.full_action_spec.clone() def _reset(self, tensordict): - data = self.observation_spec.zero() + data = self._saved_obs_spec.zero() data.set_non_tensor("non_tensor", 0) data.update(self.full_done_spec.zero()) return data @@ -1792,10 +1796,10 @@ def _step( self, tensordict: TensorDictBase, ) -> TensorDictBase: - data = self.observation_spec.zero() + data = self._saved_obs_spec.zero() data.set_non_tensor("non_tensor", tensordict["non_tensor"] + 1) data.update(self.full_done_spec.zero()) - data.update(self.full_reward_spec.zero()) + data.update(self._saved_full_reward_spec.zero()) return data def _set_seed(self, seed: Optional[int]): diff --git a/test/test_env.py b/test/test_env.py index 81708b0b9a6..1e41b1d403d 100644 --- a/test/test_env.py +++ b/test/test_env.py @@ -3526,8 +3526,13 @@ def test_single_env_spec(): assert env.input_spec.is_in(env.input_spec_unbatched.zeros(env.shape)) -def test_auto_spec(): - env = CountingEnv() +@pytest.mark.parametrize("env_type", [CountingEnv, EnvWithMetadata]) +def test_auto_spec(env_type): + if env_type is EnvWithMetadata: + obs_vals = ["tensor", "non_tensor"] + else: + obs_vals = "observation" + env = env_type() td = env.reset() policy = lambda td, action_spec=env.full_action_spec.clone(): td.update( @@ -3550,7 +3555,7 @@ def test_auto_spec(): shape=env.full_state_spec.shape, device=env.full_state_spec.device ) env._action_keys = ["action"] - env.auto_specs_(policy, tensordict=td.copy()) + env.auto_specs_(policy, tensordict=td.copy(), observation_key=obs_vals) env.check_env_specs(tensordict=td.copy()) diff --git a/torchrl/_utils.py b/torchrl/_utils.py index d37aebb862f..c81ffcc962b 100644 --- a/torchrl/_utils.py +++ b/torchrl/_utils.py @@ -829,6 +829,7 @@ def _can_be_pickled(obj): def _make_ordinal_device(device: torch.device): if device is None: return device + device = torch.device(device) if device.type == "cuda" and device.index is None: return torch.device("cuda", index=torch.cuda.current_device()) if device.type == "mps" and device.index is None: diff --git a/torchrl/data/map/hash.py b/torchrl/data/map/hash.py index 01988dc43be..59526628dbe 100644 --- a/torchrl/data/map/hash.py +++ b/torchrl/data/map/hash.py @@ -75,7 +75,8 @@ def forward(self, features: torch.Tensor) -> torch.Tensor: class SipHash(Module): """A Module to Compute SipHash values for given tensors. - A hash function module based on SipHash implementation in python. + A hash function module based on SipHash implementation in python. Input tensors should have shape ``[batch_size, num_features]`` + and the output shape will be ``[batch_size]``. Args: as_tensor (bool, optional): if ``True``, the bytes will be turned into integers diff --git a/torchrl/data/map/tdstorage.py b/torchrl/data/map/tdstorage.py index a601f1e3261..6ff17daaed5 100644 --- a/torchrl/data/map/tdstorage.py +++ b/torchrl/data/map/tdstorage.py @@ -177,7 +177,7 @@ def from_tensordict_pair( collate_fn: Callable[[Any], Any] | None = None, write_fn: Callable[[Any, Any], Any] | None = None, consolidated: bool | None = None, - ): + ) -> TensorDictMap: """Creates a new TensorDictStorage from a pair of tensordicts (source and dest) using pre-defined rules of thumb. Args: @@ -308,7 +308,23 @@ def __setitem__(self, item: TensorDictBase, value: TensorDictBase): if not self._has_lazy_out_keys(): # TODO: make this work with pytrees and avoid calling select if keys match value = value.select(*self.out_keys, strict=False) + item, value = self._maybe_add_batch(item, value) + index = self._to_index(item, extend=True) + if index.unique().numel() < index.numel(): + # If multiple values point to the same place in the storage, we cannot process them by batch + # There could be a better way to deal with this, using unique ids. + vals = [] + for it, val in zip(item.split(1), value.split(1)): + self[it] = val + vals.append(val) + # __setitem__ may affect the content of the input data + value.update(TensorDictBase.lazy_stack(vals)) + return if self.write_fn is not None: + # We use this block in the following context: the value written in the storage is already present, + # but it needs to be updated. + # We first check if the value is already there using `contains`. If so, we pass the new value and the + # previous one to write_fn. The values that are not present are passed alone. if len(self): modifiable = self.contains(item) if modifiable.any(): @@ -322,8 +338,6 @@ def __setitem__(self, item: TensorDictBase, value: TensorDictBase): value = self.write_fn(value) else: value = self.write_fn(value) - item, value = self._maybe_add_batch(item, value) - index = self._to_index(item, extend=True) self.storage.set(index, value) def __len__(self): diff --git a/torchrl/data/map/tree.py b/torchrl/data/map/tree.py index 645f7704ddd..b88e6a4a2ec 100644 --- a/torchrl/data/map/tree.py +++ b/torchrl/data/map/tree.py @@ -15,6 +15,7 @@ TensorClass, TensorDict, TensorDictBase, + unravel_key, ) from torchrl.data.map.tdstorage import TensorDictMap from torchrl.data.map.utils import _plot_plotly_box, _plot_plotly_tree @@ -94,7 +95,7 @@ def num_children(self) -> int: @property def is_terminal(self): - """Returns True if the the tree has no children nodes.""" + """Returns True if the tree has no children nodes.""" return self.subtree is None def get_vertex_by_id(self, id: int) -> Tree: @@ -163,9 +164,6 @@ def vertices( if h in memo and not use_path: continue memo.add(h) - r = tree.rollout - if r is not None: - r = r["next", "observation"] if use_path: result[cur_path] = tree elif use_id: @@ -206,6 +204,14 @@ def num_vertices(self, *, count_repeat: bool = False) -> int: ) def edges(self) -> List[Tuple[int, int]]: + """Retrieves a list of edges in the tree. + + Each edge is represented as a tuple of two node IDs: the parent node ID and the child node ID. + The tree is traversed using Breadth-First Search (BFS) to ensure all edges are visited. + + Returns: + A list of tuples, where each tuple contains a parent node ID and a child node ID. + """ result = [] q = deque() parent = self.node_id @@ -221,22 +227,62 @@ def edges(self) -> List[Tuple[int, int]]: return result def valid_paths(self): + """Generates all valid paths in the tree. + + A valid path is a sequence of child indices that starts at the root node and ends at a leaf node. + Each path is represented as a tuple of integers, where each integer corresponds to the index of a child node. + + Yields: + tuple: A valid path in the tree. + """ + # Initialize a queue with the current tree node and an empty path q = deque() cur_path = () q.append((self, cur_path)) + # Perform BFS traversal of the tree while len(q): + # Dequeue the next tree node and its current path tree, cur_path = q.popleft() + # Get the number of child nodes n = int(tree.num_children) + # If this is a leaf node, yield the current path if not n: yield cur_path + # Iterate over the child nodes for i in range(n): cur_path_tree = cur_path + (i,) q.append((tree.subtree[i], cur_path_tree)) def max_length(self): - return max(*(len(path) for path in self.valid_paths())) + """Returns the maximum length of all valid paths in the tree. + + The length of a path is defined as the number of nodes in the path. + If the tree is empty, returns 0. + + Returns: + int: The maximum length of all valid paths in the tree. + + """ + lengths = tuple(len(path) for path in self.valid_paths()) + if len(lengths) == 0: + return 0 + elif len(lengths) == 1: + return lengths[0] + return max(*lengths) def rollout_from_path(self, path: Tuple[int]) -> TensorDictBase | None: + """Retrieves the rollout data along a given path in the tree. + + The rollout data is concatenated along the last dimension (dim=-1) for each node in the path. + If no rollout data is found along the path, returns ``None``. + + Args: + path: A tuple of integers representing the path in the tree. + + Returns: + The concatenated rollout data along the path, or None if no data is found. + + """ r = self.rollout tree = self rollouts = [] @@ -272,8 +318,19 @@ def plot( backend: str = "plotly", figure: str = "tree", info: List[str] = None, - make_labels: Callable[[Any], Any] | None = None, + make_labels: Callable[[Any, ...], Any] | None = None, ): + """Plots a visualization of the tree using the specified backend and figure type. + + Args: + backend: The plotting backend to use. Currently only supports 'plotly'. + figure: The type of figure to plot. Can be either 'tree' or 'box'. + info: A list of additional information to include in the plot (not currently used). + make_labels: An optional function to generate custom labels for the plot. + + Raises: + NotImplementedError: If an unsupported backend or figure type is specified. + """ if backend == "plotly": if figure == "box": _plot_plotly_box(self) @@ -284,7 +341,7 @@ def plot( else: pass raise NotImplementedError( - f"Unkown plotting backend {backend} with figure {figure}." + f"Unknown plotting backend {backend} with figure {figure}." ) @@ -423,47 +480,99 @@ def __init__( self.consolidated = consolidated @property - def done_keys(self): + def done_keys(self) -> List[NestedKey]: + """Done Keys. + + Returns the keys used to indicate that an episode has ended. + The default done keys are "done", "terminated", and "truncated". These keys can be + used in the environment's output to signal the end of an episode. + + Returns: + A list of strings representing the done keys. + + """ done_keys = getattr(self, "_done_keys", None) if done_keys is None: - self._done_keys = done_keys = ("done", "terminated", "truncated") + self._done_keys = done_keys = ["done", "terminated", "truncated"] return done_keys @done_keys.setter def done_keys(self, value): + if isinstance(value, (str, tuple)): + value = [value] + if value is not None: + value = [unravel_key(val) for val in value] self._done_keys = value @property - def reward_keys(self): + def reward_keys(self) -> List[NestedKey]: + """Reward Keys. + + Returns the keys used to retrieve rewards from the environment's output. + The default reward key is "reward". + + Returns: + A list of strings or tuples representing the reward keys. + + """ reward_keys = getattr(self, "_reward_keys", None) if reward_keys is None: - self._reward_keys = reward_keys = ("reward",) + self._reward_keys = reward_keys = ["reward"] return reward_keys @reward_keys.setter def reward_keys(self, value): + if isinstance(value, (str, tuple)): + value = [value] + if value is not None: + value = [unravel_key(val) for val in value] self._reward_keys = value @property - def action_keys(self): + def action_keys(self) -> List[NestedKey]: + """Action Keys. + + Returns the keys used to retrieve actions from the environment's input. + The default action key is "action". + + Returns: + A list of strings or tuples representing the action keys. + + """ action_keys = getattr(self, "_action_keys", None) if action_keys is None: - self._action_keys = action_keys = ("action",) + self._action_keys = action_keys = ["action"] return action_keys @action_keys.setter def action_keys(self, value): + if isinstance(value, (str, tuple)): + value = [value] + if value is not None: + value = [unravel_key(val) for val in value] self._action_keys = value @property - def observation_keys(self): + def observation_keys(self) -> List[NestedKey]: + """Observation Keys. + + Returns the keys used to retrieve observations from the environment's output. + The default observation key is "observation". + + Returns: + A list of strings or tuples representing the observation keys. + """ observation_keys = getattr(self, "_observation_keys", None) if observation_keys is None: - self._observation_keys = observation_keys = ("observation",) + self._observation_keys = observation_keys = ["observation"] return observation_keys @observation_keys.setter def observation_keys(self, value): + if isinstance(value, (str, tuple)): + value = [value] + if value is not None: + value = [unravel_key(val) for val in value] self._observation_keys = value def get_keys_from_env(self, env: EnvBase): @@ -482,8 +591,21 @@ def get_keys_from_env(self, env: EnvBase): @classmethod def _write_fn_stack(cls, new, old=None): + # This function updates the old values by adding the new ones + # if and only if the new ones are not there. + # If the old value is not provided, we assume there are none and the + # `new` is just prepared. + # This involves unsqueezing the last dim (since we'll be stacking tensors + # and calling unique). + # The update involves calling cat along the last dim + unique + # which will keep only the new values that were unknown to + # the storage. + # We use this method to track all the indices that are associated with + # an observation. Every time a new index is obtained, it is stacked alongside + # the others. if old is None: - result = new.apply(lambda x: x.unsqueeze(0), filter_empty=False) + # we unsqueeze the values to stack them along dim -1 + result = new.apply(lambda x: x.unsqueeze(-1), filter_empty=False) result.set( "count", torch.ones(result.shape, dtype=torch.int, device=result.device) ) @@ -493,8 +615,15 @@ def cat(name, x, y): if name == "count": return x if y.ndim < x.ndim: - y = y.unsqueeze(0) - result = torch.cat([x, y], 0).unique(dim=0, sorted=False) + y = y.unsqueeze(-1) + result = torch.cat([x, y], -1) + # Breaks on mps + if result.device.type == "mps": + result = result.cpu() + result = result.unique(dim=-1, sorted=False) + result = result.to("mps") + else: + result = result.unique(dim=-1, sorted=False) return result result = old.named_apply(cat, new, default=None) @@ -543,12 +672,35 @@ def extend(self, rollout): # # Set the action in the 'next' # dest[1:] = source[:-1].exclude(*self.done_keys) + # Add ('observation', 'action') -> ('next, observation') self.data_map[source] = dest value = source if self.node_map is None: self._make_storage_branches(source, dest) + # map ('observation',) -> ('indices',) self.node_map[source] = TensorDict.lazy_stack(value.unbind(0)) + def add(self, step): + source, dest = ( + step.exclude("next").copy(), + step.select("next", *self.action_keys).copy(), + ) + + if self.data_map is None: + self._make_storage(source, dest) + + # We need to set the action somewhere to keep track of what action lead to what child + # # Set the action in the 'next' + # dest[1:] = source[:-1].exclude(*self.done_keys) + + # Add ('observation', 'action') -> ('next, observation') + self.data_map[source] = dest + value = source + if self.node_map is None: + self._make_storage_branches(source, dest) + # map ('observation',) -> ('indices',) + self.node_map[source] = value + def get_child(self, root: TensorDictBase) -> TensorDictBase: return self.data_map[root] @@ -582,6 +734,14 @@ def _make_local_tree( if not compact: break else: + # If the root is provided and not gathered from the storage, it could be that its + # device doesn't match the data_map storage device. + device = getattr(self.data_map.storage, "device", None) + if root.device != device: + if device is not None: + root = root.to(self.data_map.storage.device) + else: + root.clear_device_() index = None break rollout = None diff --git a/torchrl/data/map/utils.py b/torchrl/data/map/utils.py index 570214f1cb2..d9588d79905 100644 --- a/torchrl/data/map/utils.py +++ b/torchrl/data/map/utils.py @@ -17,13 +17,13 @@ def _plot_plotly_tree( if make_labels is None: - def make_labels(tree): + def make_labels(tree, path, *args, **kwargs): return str((tree.node_id, tree.hash)) nr_vertices = tree.num_vertices() - vertices = tree.vertices() + vertices = tree.vertices(key_type="path") - v_label = [make_labels(subtree) for subtree in vertices.values()] + v_label = [make_labels(subtree, path) for path, subtree in vertices.items()] G = Graph(nr_vertices, tree.edges()) layout = G.layout_sugiyama(range(nr_vertices)) diff --git a/torchrl/data/replay_buffers/storages.py b/torchrl/data/replay_buffers/storages.py index 665cae254f5..ae0d97b7bab 100644 --- a/torchrl/data/replay_buffers/storages.py +++ b/torchrl/data/replay_buffers/storages.py @@ -246,8 +246,8 @@ def set( set_cursor: bool = True, ): if not isinstance(cursor, INT_CLASSES): - if (isinstance(cursor, torch.Tensor) and cursor.numel() <= 1) or ( - isinstance(cursor, np.ndarray) and cursor.size <= 1 + if (isinstance(cursor, torch.Tensor) and cursor.ndim == 0) or ( + isinstance(cursor, np.ndarray) and cursor.ndim == 0 ): self.set(int(cursor), data, set_cursor=set_cursor) return diff --git a/torchrl/data/tensor_specs.py b/torchrl/data/tensor_specs.py index ddf6ed41c99..dad0aaf69a6 100644 --- a/torchrl/data/tensor_specs.py +++ b/torchrl/data/tensor_specs.py @@ -41,7 +41,7 @@ unravel_key, ) from tensordict.base import NO_DEFAULT -from tensordict.utils import _getitem_batch_size, NestedKey +from tensordict.utils import _getitem_batch_size, is_non_tensor, NestedKey from torchrl._utils import _make_ordinal_device, get_binary_env_var, implement_for DEVICE_TYPING = Union[torch.device, str, int] @@ -2466,10 +2466,10 @@ def one(self, shape=None): data=None, batch_size=(*shape, *self._safe_shape), device=self.device ) - def is_in(self, val: torch.Tensor) -> bool: + def is_in(self, val: Any) -> bool: shape = torch.broadcast_shapes(self._safe_shape, val.shape) return ( - isinstance(val, NonTensorData) + is_non_tensor(val) and val.shape == shape # We relax constrains on device as they're hard to enforce for non-tensor # tensordicts and pointless @@ -4373,7 +4373,7 @@ def set(self, name, spec): shape = spec.shape if shape[: self.ndim] != self.shape: if ( - isinstance(spec, Composite) + isinstance(spec, (Composite, NonTensor)) and spec.ndim < self.ndim and self.shape[: spec.ndim] == spec.shape ): @@ -4382,7 +4382,7 @@ def set(self, name, spec): spec.shape = self.shape else: raise ValueError( - "The shape of the spec and the Composite mismatch: the first " + f"The shape of the spec {type(spec).__name__} and the Composite {type(self).__name__} mismatch: the first " f"{self.ndim} dimensions should match but got spec.shape={spec.shape} and " f"Composite.shape={self.shape}." ) diff --git a/torchrl/envs/common.py b/torchrl/envs/common.py index d5a062bc11e..3ce99232a6c 100644 --- a/torchrl/envs/common.py +++ b/torchrl/envs/common.py @@ -14,8 +14,14 @@ import numpy as np import torch import torch.nn as nn -from tensordict import LazyStackedTensorDict, TensorDictBase, unravel_key -from tensordict.utils import NestedKey +from tensordict import ( + is_tensor_collection, + LazyStackedTensorDict, + TensorDictBase, + unravel_key, +) +from tensordict.base import _is_leaf_nontensor +from tensordict.utils import is_non_tensor, NestedKey from torchrl._utils import ( _ends_with, _make_ordinal_device, @@ -25,7 +31,13 @@ seed_generator, ) -from torchrl.data.tensor_specs import Categorical, Composite, TensorSpec, Unbounded +from torchrl.data.tensor_specs import ( + Categorical, + Composite, + NonTensor, + TensorSpec, + Unbounded, +) from torchrl.data.utils import DEVICE_TYPING from torchrl.envs.utils import ( _make_compatible_policy, @@ -430,7 +442,6 @@ def auto_specs_( done_key: NestedKey | List[NestedKey] | None = None, observation_key: NestedKey | List[NestedKey] = "observation", reward_key: NestedKey | List[NestedKey] = "reward", - batch_size: torch.Size | None = None, ): """Automatically sets the specifications (specs) of the environment based on a random rollout using a given policy. @@ -484,6 +495,7 @@ def auto_specs_( tensordict2, named=True, nested_keys=True, + is_leaf=_is_leaf_nontensor, ) input_spec = Composite(input_spec_stack, batch_size=batch_size) if not self.batch_locked and batch_size != self.batch_size: @@ -501,6 +513,7 @@ def auto_specs_( nexts_1, named=True, nested_keys=True, + is_leaf=_is_leaf_nontensor, ) output_spec = Composite(output_spec_stack, batch_size=batch_size) @@ -523,7 +536,8 @@ def auto_specs_( full_observation_spec = output_spec.separates(*observation_key, default=None) if not output_spec.is_empty(recurse=True): raise RuntimeError( - f"Keys {list(output_spec.keys(True, True))} are unaccounted for." + f"Keys {list(output_spec.keys(True, True))} are unaccounted for. " + f"Make sure you have passed all the leaf names to the auto_specs_ method." ) if full_action_spec is not None: @@ -2995,6 +3009,52 @@ def add_truncated_keys(self) -> EnvBase: self.__dict__["_done_keys"] = None return self + def step_mdp(self, next_tensordict: TensorDictBase) -> TensorDictBase: + """Advances the environment state by one step using the provided `next_tensordict`. + + This method updates the environment's state by transitioning from the current + state to the next, as defined by the `next_tensordict`. The resulting tensordict + includes updated observations and any other relevant state information, with + keys managed according to the environment's specifications. + + Internally, this method utilizes a precomputed :class:`~torchrl.envs.utils._StepMDP` instance to efficiently + handle the transition of state, observation, action, reward, and done keys. The + :class:`~torchrl.envs.utils._StepMDP` class optimizes the process by precomputing the keys to include and + exclude, reducing runtime overhead during repeated calls. The :class:`~torchrl.envs.utils._StepMDP` instance + is created with `exclude_action=False`, meaning that action keys are retained in + the root tensordict. + + Args: + next_tensordict (TensorDictBase): A tensordict containing the state of the + environment at the next time step. This tensordict should include keys + for observations, actions, rewards, and done flags, as defined by the + environment's specifications. + + Returns: + TensorDictBase: A new tensordict representing the environment state after + advancing by one step. + + .. note:: The method ensures that the environment's key specifications are validated + against the provided `next_tensordict`, issuing warnings if discrepancies + are found. + + .. note:: This method is designed to work efficiently with environments that have + consistent key specifications, leveraging the `_StepMDP` class to minimize + overhead. + + Example: + >>> from torchrl.envs import GymEnv + >>> env = GymEnv("Pendulum-1") + >>> data = env.reset() + >>> for i in range(10): + ... # compute action + ... env.rand_action(data) + ... # Perform action + ... next_data = env.step(reset_data) + ... data = env.step_mdp(next_data) + """ + return self._step_mdp(next_tensordict) + @property def _step_mdp(self): step_func = self.__dict__.get("_step_mdp_value") @@ -3568,6 +3628,12 @@ def _has_dynamic_specs(spec: Composite): def _tensor_to_spec(name, leaf, leaf_compare=None, *, stack): + if not (isinstance(leaf, torch.Tensor) or is_tensor_collection(leaf)): + stack[name] = NonTensor(shape=()) + return + elif is_non_tensor(leaf): + stack[name] = NonTensor(shape=leaf.shape) + return shape = leaf.shape if leaf_compare is not None: shape_compare = leaf_compare.shape diff --git a/torchrl/envs/utils.py b/torchrl/envs/utils.py index 7454bce99b3..0e037ed9b0c 100644 --- a/torchrl/envs/utils.py +++ b/torchrl/envs/utils.py @@ -14,7 +14,7 @@ import re import warnings from enum import Enum -from typing import Any, Dict, List, Union +from typing import Any, Dict, List import torch @@ -76,7 +76,7 @@ def __get__(self, cls, owner): class _StepMDP: - """Stateful version of step_mdp. + """Stateful version of :func:`~torchrl.envs.step_mdp`. Precomputes the list of keys to include and exclude during a call to step_mdp to reduce runtime. @@ -337,48 +337,47 @@ def step_mdp( exclude_reward: bool = True, exclude_done: bool = False, exclude_action: bool = True, - reward_keys: Union[NestedKey, List[NestedKey]] = "reward", - done_keys: Union[NestedKey, List[NestedKey]] = "done", - action_keys: Union[NestedKey, List[NestedKey]] = "action", + reward_keys: NestedKey | List[NestedKey] = "reward", + done_keys: NestedKey | List[NestedKey] = "done", + action_keys: NestedKey | List[NestedKey] = "action", ) -> TensorDictBase: """Creates a new tensordict that reflects a step in time of the input tensordict. Given a tensordict retrieved after a step, returns the :obj:`"next"` indexed-tensordict. - The arguments allow for a precise control over what should be kept and what + The arguments allow for precise control over what should be kept and what should be copied from the ``"next"`` entry. The default behavior is: - move the observation entries, reward and done states to the root, exclude - the current action and keep all extra keys (non-action, non-done, non-reward). + move the observation entries, reward, and done states to the root, exclude + the current action, and keep all extra keys (non-action, non-done, non-reward). Args: - tensordict (TensorDictBase): tensordict with keys to be renamed - next_tensordict (TensorDictBase, optional): destination tensordict - keep_other (bool, optional): if ``True``, all keys that do not start with :obj:`'next_'` will be kept. + tensordict (TensorDictBase): The tensordict with keys to be renamed. + next_tensordict (TensorDictBase, optional): The destination tensordict. If `None`, a new tensordict is created. + keep_other (bool, optional): If ``True``, all keys that do not start with :obj:`'next_'` will be kept. Default is ``True``. - exclude_reward (bool, optional): if ``True``, the :obj:`"reward"` key will be discarded + exclude_reward (bool, optional): If ``True``, the :obj:`"reward"` key will be discarded from the resulting tensordict. If ``False``, it will be copied (and replaced) - from the ``"next"`` entry (if present). - Default is ``True``. - exclude_done (bool, optional): if ``True``, the :obj:`"done"` key will be discarded + from the ``"next"`` entry (if present). Default is ``True``. + exclude_done (bool, optional): If ``True``, the :obj:`"done"` key will be discarded from the resulting tensordict. If ``False``, it will be copied (and replaced) - from the ``"next"`` entry (if present). - Default is ``False``. - exclude_action (bool, optional): if ``True``, the :obj:`"action"` key will + from the ``"next"`` entry (if present). Default is ``False``. + exclude_action (bool, optional): If ``True``, the :obj:`"action"` key will be discarded from the resulting tensordict. If ``False``, it will be kept in the root tensordict (since it should not be present in - the ``"next"`` entry). - Default is ``True``. - reward_keys (NestedKey or list of NestedKey, optional): the keys where the reward is written. Defaults + the ``"next"`` entry). Default is ``True``. + reward_keys (NestedKey or list of NestedKey, optional): The keys where the reward is written. Defaults to "reward". - done_keys (NestedKey or list of NestedKey, optional): the keys where the done is written. Defaults + done_keys (NestedKey or list of NestedKey, optional): The keys where the done is written. Defaults to "done". - action_keys (NestedKey or list of NestedKey, optional): the keys where the action is written. Defaults + action_keys (NestedKey or list of NestedKey, optional): The keys where the action is written. Defaults to "action". Returns: - A new tensordict (or next_tensordict) containing the tensors of the t+1 step. + TensorDictBase: A new tensordict (or `next_tensordict` if provided) containing the tensors of the t+1 step. + + .. seealso:: :meth:`EnvBase.step_mdp` is the class-based version of this free function. It will attempt to cache the + key values to reduce the overhead of making a step in the MDP. Examples: - This funtion allows for this kind of loop to be used: >>> from tensordict import TensorDict >>> import torch >>> td = TensorDict({ @@ -781,7 +780,9 @@ def check_env_specs( from torchrl.envs.common import _has_dynamic_specs if _has_dynamic_specs(env.specs): - for real, fake in zip(real_tensordict.unbind(-1), fake_tensordict.unbind(-1)): + for real, fake in zip( + real_tensordict_select.unbind(-1), fake_tensordict_select.unbind(-1) + ): fake = fake.apply(lambda x, y: x.expand_as(y), real) if (torch.zeros_like(real) != torch.zeros_like(fake)).any(): raise AssertionError(zeroing_err_msg) @@ -1365,6 +1366,8 @@ def _update_during_reset( reset_keys: List[NestedKey], ): """Updates the input tensordict with the reset data, based on the reset keys.""" + if not reset_keys: + return tensordict.update(tensordict_reset) roots = set() for reset_key in reset_keys: # get the node of the reset key diff --git a/tutorials/sphinx-tutorials/beam_search_with_gpt.py b/tutorials/sphinx-tutorials/beam_search_with_gpt.py new file mode 100644 index 00000000000..a8ff399f96e --- /dev/null +++ b/tutorials/sphinx-tutorials/beam_search_with_gpt.py @@ -0,0 +1,365 @@ +""" +Beam Search with TorchRL +======================== + +Key learning +------------ + +In this tutorial, you will learn how to use TorchRL to implement beam search for efficient text generation. +You will understand how to define a policy, build an environment, and run the policy using a beam search algorithm. + +Introduction +------------ +Text generation is a fundamental task in natural language processing (NLP) that has numerous applications in chatbots, +language translation, and content creation. One of the challenges in text generation is efficiently exploring the vast +space of possible sequences to find the most coherent and relevant output. Beam search is a popular heuristic search +algorithm used to address this challenge by maintaining a set of candidate solutions (or "beams") at each step and +selecting the top-scoring candidates to move forward to the next step. + + +Introduction to Beam Search +--------------------------- + +Beam search is a heuristic search algorithm used in many natural language processing tasks, including machine +translation, summarization, and text generation. It works by maintaining a set of candidate solutions (or "beams") at +each step, and selecting the top-scoring candidates to move forward to the next step. + +""" +import argparse + +import torch + +import torchrl.data +import tqdm +from tensordict import NonTensorStack, TensorDict +from tensordict.nn import ( + ProbabilisticTensorDictModule as Prob, + TensorDictModule as Mod, + TensorDictSequential as Seq, +) +from tensordict.tensorclass import NonTensorData +from torch.distributions import Categorical + +from torchrl._utils import _make_ordinal_device +from torchrl.data import MCTSForest, SipHash +from torchrl.envs import EnvBase +from torchrl.envs.common import _StepMDP +from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer, pipeline +from transformers.modeling_outputs import CausalLMOutputWithCrossAttentions + +parser = argparse.ArgumentParser() +parser.add_argument("--model", choices=["llama3.1", "gpt2"], default="gpt2") +parser.add_argument("--beta", type=int, default=3) +parser.add_argument("--pool", type=int, default=1000) +parser.add_argument("--nsteps", type=int, default=10) +parser.add_argument("--device", type=str, default=None) +parser.add_argument("--device_map", type=str, default="auto") + +args = parser.parse_args() + +################################################ +# Build the model +# --------------- +# In this example, we use a pre-trained GPT-2 model as our language model. +# We define a GPTWrapper class to wrap the GPT-2 model and return the output as a TensorDict. + +if args.model == "gpt2": + tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2") + cfg = GPT2Config.from_pretrained("openai-community/gpt2") + llm = GPT2LMHeadModel(cfg).eval().requires_grad_(False) + + if torch.cuda.is_available(): + device = "cuda:0" + else: + device = "cpu" + +elif args.model == "llama3.1": + model_id = "meta-llama/Llama-3.1-8B" + + if args.device: + args.device_map = None + pipeline = pipeline( + "text-generation", + model=model_id, + model_kwargs={"torch_dtype": torch.bfloat16}, + device_map=args.device_map, + device=args.device, + ) + + tokenizer = pipeline.tokenizer + llm = pipeline.model.eval().requires_grad_(False) + if args.device: + device = _make_ordinal_device(args.device) + elif torch.cuda.is_available(): + device = "cuda:0" + elif torch.mps.is_available(): + torch.mps.empty_cache() + device = "mps:0" + else: + device = "cpu" + + +torch.set_default_device(device) + +text_to_tensor = Seq( + Mod(tokenizer, in_keys=["query"], out_keys=["out"]), + # A renaming layer + Mod(lambda x: x, in_keys=[("out", "input_ids")], out_keys=["observation"]), +).select_out_keys("observation") +td = TensorDict( + query=NonTensorStack.from_list(["hello world! Give me a high five"] * 4), + batch_size=[4], +) +print(text_to_tensor(td)) + +################################################ +# Define the policy +# ----------------- +# We define a policy that takes the observation as input and outputs an action (i.e., the next token to generate). +# +# Our policy takes the observation (i.e., the current text) as input and outputs an action (i.e., the next token to +# generate). The policy consists of a sequence of modules: first, we use the GPTWrapper to get the output from the +# GPT-2 model, and then we select the top-scoring token using a categorical distribution. + + +class LLMWrapper(torch.nn.Module): + def __init__(self, gpt): + super().__init__() + self.gpt = gpt + + def forward(self, x) -> CausalLMOutputWithCrossAttentions: + result = TensorDict.from_dataclass(self.gpt(x, return_dict=True), device=device) + return result + + +class CategoricalWithoutReplacement(Categorical): + def sample(self, sample_shape=()): + n = sample_shape.numel() + probs = self.probs + probs_shape = probs.shape + if len(probs_shape) > 2: + probs = probs.flatten(0, -2) + samples = torch.multinomial(probs, n, replacement=False) + return samples.view((*sample_shape, *probs_shape[:-1])) + + +prob_module = Prob( + in_keys=["logits"], + out_keys=["action"], + default_interaction_type="random", + distribution_class=CategoricalWithoutReplacement, + return_log_prob=True, + log_prob_key="logits_select", + num_samples=args.pool, +) + + +def select_unique_obs(td): + # Get the obs (the hash) + hashes = td["hash"] + hashes = hashes.squeeze() + assert hashes.ndim == 1 + _, unique_hashes = torch.unique(hashes, dim=0, return_inverse=True) + unique_hashes = unique_hashes.unique() + return td[unique_hashes] + + +def select_top_k(td, top_k=args.beta): + logits = td["logits_select"] + topk = logits.topk(top_k, dim=0) + topk_indices = topk.indices.squeeze(-1) + return td[topk_indices].set("topk_indices", topk_indices) + + +policy = Seq( + # Only get the unique obs + select_unique_obs, + # Call to the LLM + Mod(LLMWrapper(llm), in_keys=["observation"], out_keys=["data"]), + # Select last logit + Mod(lambda x: x[:, -1:], in_keys=[("data", "logits")], out_keys=["logits"]), + # Sample + prob_module, + # Reshape to -1 + lambda td: td.reshape(-1), + # Top-k + select_top_k, +) + +################################################ +# Build the hash module +# --------------------- +# +# We are going to build a hash module to mark each step in the dataset. In theory, observations could be used directly +# but the shape of each observation in the rollout will differ because the number of tokens is different at each step +# of the trajectory. +# +# Using a hashing module, we can reduce every observation to an integer. Although we cannot recover the prompt directly +# from the hash, we can easily recover this by concatenating the previous actions with the initial prompt. +# +# +# .. figure:: /_static/img/rollout-llm.png +# :alt: Data collection loop with our LLM environment. +# +siphash = SipHash() + + +################################################ +# Build the environment +# --------------------- +# +# We define an environment that simulates the text generation process. +# The environment has two main methods: _reset, which initializes the environment with a given observation, and +# _step, which takes an action (i.e., the next token to generate) and returns the next observation and reward. + + +class LLMEnv(EnvBase): + def __init__(self): + super().__init__() + self._batch_locked = False + _StepMDP(self) + + def _reset(self, tensordict): + out = tensordict.copy() + obs = out["observation"] + if obs.ndim > 1: + text = tokenizer.batch_decode(obs) + text = NonTensorStack.from_list(text) + else: + text = tokenizer.decode(obs) + text = NonTensorData(text) + out["text"] = text + + if obs.ndim > 1: + out["hash"] = siphash(out["observation"]).unsqueeze(-1) + else: + out["hash"] = siphash(out["observation"].unsqueeze(0)).transpose(0, -1) + + if not self.full_done_spec.is_empty(): + out.update(self.full_done_spec.zero(tensordict.shape)) + else: + out.set("done", torch.zeros((*tensordict.batch_size, 1), dtype=torch.bool)) + out.set( + "terminated", torch.zeros((*tensordict.batch_size, 1), dtype=torch.bool) + ) + return out + + def _step(self, tensordict): + action = tensordict.get("action") + obs = torch.cat([tensordict.get("observation"), action], -1) + + catval = torch.cat([tensordict.get("hash"), action], -1) + if obs.ndim > 1: + new_hash = siphash(catval).unsqueeze(-1) + else: + new_hash = siphash(catval.unsqueeze(0)).transpose(0, -1) + + if obs.ndim > 1: + text = tokenizer.batch_decode(obs) + text = NonTensorStack.from_list(text) + else: + text = tokenizer.decode(obs) + text = NonTensorData(text) + return TensorDict( + observation=obs, + hash=new_hash, + text=text, + reward=torch.zeros((*tensordict.batch_size, 1)), + done=torch.zeros((*tensordict.batch_size, 1), dtype=torch.bool), + terminated=torch.zeros((*tensordict.batch_size, 1), dtype=torch.bool), + batch_size=tensordict.batch_size, + ) + + def _set_seed(self, *args): + pass + + +env = LLMEnv() + +################################################ +# Define specs +# ------------ +# + +policy = policy.select_out_keys("action") + +x = tokenizer(["Check out TorchRL!"])["input_ids"] +td = TensorDict(observation=x, batch_size=[1]).repeat_interleave(args.beta) +td = env.reset(td) +print("data after reset", td) +print("action", policy(td)) +# We must indicate what the observations are +env.auto_specs_(policy, tensordict=td, observation_key=["observation", "text", "hash"]) +print(env.specs) +# Reset out keys - we want them all +policy.reset_out_keys() +policy = policy.select_out_keys("action", "logits_select") + +td = TensorDict(observation=x, batch_size=[1]).repeat_interleave(args.beta, dim=0) +td = env.reset(td) +env.action_spec = torchrl.data.Categorical(n=tokenizer.vocab_size, shape=(1,)) +env.check_env_specs(tensordict=td, return_contiguous=False) + +################################################ +# Create a forest to store the data +# --------------------------------- +# + +forest = MCTSForest(observation_keys=["hash"], action_keys=["action", "logits_select"]) + +################################################ +# Run policy +# ---------- +# + +with torch.no_grad(): + # Total number of candidates + pool = args.pool + # Number of selected beams + beta = args.beta + x = tokenizer(["Check out TorchRL!"])["input_ids"] + reset_td = env.reset( + TensorDict(observation=x, batch_size=[1]).repeat_interleave(args.beta) + ) + tds = [] + # beam search + td = reset_td + reset_td = reset_td[0].clone() + + pbar = tqdm.tqdm(range(args.nsteps)) + for _ in pbar: + td = policy(td) + next_td = env.step(td) + + tds.append(next_td) + next_td_filtered = next_td.exclude( + "observation", "text", ("next", "observation"), ("next", "text") + ) + forest.extend(next_td_filtered) + pbar.set_description(f"Forest length: {len(forest)}") + + print("action", next_td["action"]) + td = env.step_mdp(next_td) + print("hash", td["hash"]) + + tds = TensorDict.lazy_stack(tds, -1) + for i in range(tds.shape[0]): + print(tds[i, -1]["next", "text"]) + + tree = forest.get_tree(reset_td) + valid_paths = list(tree.valid_paths()) + print("valid paths", valid_paths) + + for path in valid_paths: + rollout = tree.rollout_from_path(path) + print("Check out TorchRL!", tokenizer.decode(rollout["action"].squeeze(-1))) + print(rollout["logits_select"].sum()) + + def make_labels(local_tree, path): + if path: + r = tree.rollout_from_path(path) + actions = r["action"] + return "Check out TorchRL! " + tokenizer.decode(actions.squeeze(-1)) + return "Check out TorchRL!" + + tree.plot(make_labels=make_labels) From bd6ccd02307f1a1b3f7c7045a552007b4d874109 Mon Sep 17 00:00:00 2001 From: Vincent Moens Date: Tue, 3 Dec 2024 18:24:24 +0000 Subject: [PATCH 2/4] Update [ghstack-poisoned] --- torchrl/envs/custom/llm.py | 3 +- .../sphinx-tutorials/beam_search_with_gpt.py | 172 +++++++++++++----- 2 files changed, 127 insertions(+), 48 deletions(-) diff --git a/torchrl/envs/custom/llm.py b/torchrl/envs/custom/llm.py index 04acfd49b0b..f96114c78d4 100644 --- a/torchrl/envs/custom/llm.py +++ b/torchrl/envs/custom/llm.py @@ -149,8 +149,7 @@ def _step(self, tensordict): return out.update(kwargs) def _set_seed(self, *args): - """ - Sets the seed for the environment's randomness. + """Sets the seed for the environment's randomness. .. note:: This environment has no randomness, so this method does nothing. """ diff --git a/tutorials/sphinx-tutorials/beam_search_with_gpt.py b/tutorials/sphinx-tutorials/beam_search_with_gpt.py index f50f26ddf1f..035e32bfd87 100644 --- a/tutorials/sphinx-tutorials/beam_search_with_gpt.py +++ b/tutorials/sphinx-tutorials/beam_search_with_gpt.py @@ -39,10 +39,9 @@ from torchrl._utils import _make_ordinal_device from torchrl.data import MCTSForest -from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer, pipeline -from transformers.modeling_outputs import CausalLMOutputWithCrossAttentions from torchrl.envs import LLMHashingEnv +from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer, pipeline parser = argparse.ArgumentParser() parser.add_argument("--model", choices=["llama3.1", "gpt2"], default="gpt2") @@ -109,14 +108,84 @@ print(text_to_tensor(td)) +################################################ +# LLM Environment with Hashing +# ---------------------------- +# +# This environment represents a dataset of text sequences as a Markov Decision Process (MDP), where each observation is +# reduced to a unique integer using a hashing module. +# +# By hashing observations, we can efficiently store and retrieve them: instead of identifying nodes with their +# associated (observation, action) pair, we use a (hash, action) pair. This approach has multiple advantages: +# +# - Observations have a variable shape, making it hard to preallocate storage or store them contiguously and efficiently +# in memory. +# - Using observations directly incurs extra memory cost as duplicated data will be stored (since successive steps in a +# branch share several tokens). Successive nodes only differ by an extra action (i.e., an extra token), and +# lateral (sibling) nodes differ only by their action. +# The only information we need to store is the action associated with the node itself. To reconstruct the sequence of +# tokens up to a certain node, we concatenate the actions along the path to that node - an operation for which +# torchrl has all the necessary tooling. +# +# The environment has two main methods: `_reset`, which initializes the environment with a given observation, and +# `_step`, which takes an action (i.e., the next token in the sequence) and returns the updated observation. +# +# .. figure:: /_static/img/rollout-llm.png +# :alt: Data collection loop with our LLM environment. +# + +env = LLMHashingEnv(vocab_size=tokenizer.vocab_size, tokenizer=tokenizer) + ################################################ # Define the policy # ----------------- -# We define a policy that takes the observation as input and outputs an action (i.e., the next token to generate). # -# Our policy takes the observation (i.e., the current text) as input and outputs an action (i.e., the next token to -# generate). The policy consists of a sequence of modules: first, we use the GPTWrapper to get the output from the -# GPT-2 model, and then we select the top-scoring token using a categorical distribution. +# In this section, we define a "policy" that takes an observation as input and outputs an action. Note that in our +# context, the term "policy" is used to fit into control frameworks, but at its core, it's simply a language model +# with some additional pre and post-processing steps. +# +# Policy Architecture +# ~~~~~~~~~~~~~~~~~~~ +# +# Our policy consists of a sequence of modules +# +# 1. Select unique observations (or nodes) in the input data. +# 2. LLMWrapper: This module wraps the GPT-2 model and provides a convenient interface for generating output. +# 3. Select last logit: This module selects the last logit from the output of the LLMWrapper. +# 4. Probabilistic sampling: This module samples from a categorical distribution to select the next token. +# 5. Reshape: This module reshapes the output to a 1D tensor. +# 6. Top-k selection: This module selects the top-k tokens with the highest probabilities. +# +# Selecting unique observations +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# It might be the case that the policy receives multiple identical states in the batch. +# To make the computation more efficient, we want to select only the unique values of these observations. +# Doing this also reduces the chances that we will be generating redundant trajectories. +# Because we have hashes that uniquely define the trajectory up to a given step, it's easier to use these hash values +# to pinpoint the unique nodes rather than using the observations directly. +# +# Notice that indexing the relevant nodes is made easy thanks to tensordict's API! +# + +def select_unique_obs(td): + # Get the obs (the hash) + hashes = td["hash"] + hashes = hashes.squeeze() + assert hashes.ndim == 1 + # the indices of the unique values are the unique values of the inverse indices returned from `unique` + _, unique_hashes = torch.unique(hashes, dim=0, return_inverse=True) + unique_hashes = unique_hashes.unique() + return td[unique_hashes] + + +################################################ +# LLMWrapper +# ~~~~~~~~~~ +# +# The LLMWrapper module is a simple wrapper around the LLM. It takes the observation (i.e., the current text) +# as input and outputs the result of the LLM presented as a TensorDict instance. +# class LLMWrapper(torch.nn.Module): @@ -124,13 +193,38 @@ def __init__(self, gpt): super().__init__() self.gpt = gpt - def forward(self, x) -> CausalLMOutputWithCrossAttentions: + def forward(self, x: torch.Tensor) -> TensorDict: result = TensorDict.from_dataclass(self.gpt(x, return_dict=True), device=device) return result +llm_module = Mod(LLMWrapper(llm), in_keys=["observation"], out_keys=["data"]) + +################################################ +# Select last logits +# ~~~~~~~~~~~~~~~~~~ +# +# To select the best actions, we are only going to look at the last logit of the sequence. Another option could +# be to aggregate the logits together using a :meth:`~torch.Tensor.sum` operator. + +select_last = Mod( + lambda x: x[:, -1:], in_keys=[("data", "logits")], out_keys=["logits"] +) + +################################################ +# Probabilistic Sampling +# ~~~~~~~~~~~~~~~~~~~~~~ +# +# The probabilistic sampling module samples from a categorical distribution to select the next token. +# We use a custom ``CategoricalWithoutReplacement`` class to ensure that the same token is not selected twice. +# +# We then use a :class:`~tensordict.nn.ProbabilisticTensorDictModule` to build the distribution from the logits +# and sample from it on-the-fly. Through the ``log_prob_key`` keyword argument, we indicate that we want to register +# the value of the log-probability in the tensordict (which we will need for the Beam search algorithm). +# + class CategoricalWithoutReplacement(Categorical): - def sample(self, sample_shape=()): + def sample(self, sample_shape=()) -> torch.Tensor: n = sample_shape.numel() probs = self.probs probs_shape = probs.shape @@ -151,30 +245,36 @@ def sample(self, sample_shape=()): ) -def select_unique_obs(td): - # Get the obs (the hash) - hashes = td["hash"] - hashes = hashes.squeeze() - assert hashes.ndim == 1 - _, unique_hashes = torch.unique(hashes, dim=0, return_inverse=True) - unique_hashes = unique_hashes.unique() - return td[unique_hashes] +################################################ +# Top-k Selection +# ~~~~~~~~~~~~~~~ +# +# The top-k selection module selects the top-k tokens with the highest probabilities. -def select_top_k(td, top_k=args.beta): +def select_top_k(td: TensorDict, top_k=args.beta) -> TensorDict: logits = td["logits_select"] topk = logits.topk(top_k, dim=0) topk_indices = topk.indices.squeeze(-1) return td[topk_indices].set("topk_indices", topk_indices) +################################################ +# Putting modules together using :class:`~tensordict.nn.TensorDictSequential` +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Orchestrating :class:`~tensordict.nn.TensorDictModule` instances is easy, as every module receives and returns a +# TensorDict instance. Whether one, two or more (or even none!) tensors will need to be accessed, we can just +# concatenate them in a sequence and let :class:`~tensordict.nn.TensorDictSequential` do the rest. +# + policy = Seq( # Only get the unique obs select_unique_obs, # Call to the LLM - Mod(LLMWrapper(llm), in_keys=["observation"], out_keys=["data"]), + llm_module, # Select last logit - Mod(lambda x: x[:, -1:], in_keys=[("data", "logits")], out_keys=["logits"]), + select_last, # Sample prob_module, # Reshape to -1 @@ -183,33 +283,6 @@ def select_top_k(td, top_k=args.beta): select_top_k, ) -################################################ -# LLM Environment with Hashing -# ---------------------------- -# -# This environment represents a dataset of text sequences as a Markov Decision Process (MDP), where each observation is -# reduced to a unique integer using a hashing module. -# -# By hashing observations, we can efficiently store and retrieve them: instead of identifying nodes with their -# associated (observation, action) pair, we use a (hash, action) pair. This approach has multiple advantages: -# -# - Observations have a variable shape, making it hard to preallocate storage or store them contiguously and efficiently -# in memory. -# - Using observations directly incurs extra memory cost as duplicated data will be stored (since successive steps in a -# branch share several tokens). Successive nodes only differ by an extra action (i.e., an extra token), and -# lateral (sibling) nodes differ only by their action. -# The only information we need to store is the action associated with the node itself. To reconstruct the sequence of -# tokens up to a certain node, we concatenate the actions along the path to that node - an operation for which -# torchrl has all the necessary tooling. -# -# The environment has two main methods: `_reset`, which initializes the environment with a given observation, and `_step`, which takes an action (i.e., the next token in the sequence) and returns the updated observation. -# -# .. figure:: /_static/img/rollout-llm.png -# :alt: Data collection loop with our LLM environment. -# - -env = LLMHashingEnv(vocab_size=tokenizer.vocab_size, tokenizer=tokenizer) - ################################################ # Check specs # ----------- @@ -225,6 +298,11 @@ def select_top_k(td, top_k=args.beta): # Create a forest to store the data # --------------------------------- # +# A :class:`~torchrl.data.MCTSForest` is a collection of trees. You can think of it as a dynamic dataset +# where we will register every new entry (node, as defined by an observation) using the previous `(observation, action)` +# pair. Later, we will be able to query the Forest for a tree given a starting node through the +# :meth:`~torchrl.data.MCTSForest.get_tree` method. +# forest = MCTSForest(observation_keys=["hash"], action_keys=["action", "logits_select"]) @@ -232,6 +310,8 @@ def select_top_k(td, top_k=args.beta): # Run policy # ---------- # +# Here comes the fun part: we will execute the policy and generate new token sequences from it. +# with torch.no_grad(): # Total number of candidates From f59cdec527642dab7122e1b9094452196c152cd8 Mon Sep 17 00:00:00 2001 From: Vincent Moens Date: Wed, 4 Dec 2024 10:21:15 +0000 Subject: [PATCH 3/4] Update [ghstack-poisoned] --- .../sphinx-tutorials/beam_search_with_gpt.py | 61 ++++++++++++++++--- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/tutorials/sphinx-tutorials/beam_search_with_gpt.py b/tutorials/sphinx-tutorials/beam_search_with_gpt.py index 035e32bfd87..a3214e89b4e 100644 --- a/tutorials/sphinx-tutorials/beam_search_with_gpt.py +++ b/tutorials/sphinx-tutorials/beam_search_with_gpt.py @@ -43,15 +43,52 @@ from torchrl.envs import LLMHashingEnv from transformers import GPT2Config, GPT2LMHeadModel, GPT2Tokenizer, pipeline +try: + is_sphinx = __sphinx_build__ +except NameError: + is_sphinx = False + parser = argparse.ArgumentParser() -parser.add_argument("--model", choices=["llama3.1", "gpt2"], default="gpt2") -parser.add_argument("--beta", type=int, default=3) -parser.add_argument("--pool", type=int, default=1000) -parser.add_argument("--nsteps", type=int, default=10) -parser.add_argument("--device", type=str, default=None) -parser.add_argument("--device_map", type=str, default="auto") +parser.add_argument( + "--pretrained", + type=bool, + default=not is_sphinx, + help="Set to True to load pre-trained weights, False for random weights.", +) +parser.add_argument( + "--model", + choices=["llama3.1", "gpt2"], + default="gpt2", + help="Choose the model to use: 'llama3.1' or 'gpt2'.", +) +parser.add_argument( + "--beta", type=int, default=3, help="Set the beta parameter for the model." +) +parser.add_argument( + "--pool", type=int, default=1000, help="Set the pool size for processing." +) +parser.add_argument( + "--nsteps", type=int, default=10, help="Set the number of steps for the process." +) +parser.add_argument( + "--device", + type=str, + default=None, + help="Specify the device to use (e.g., 'cpu', 'cuda').", +) +parser.add_argument( + "--device_map", + type=str, + default="auto", + help="Specify the device map for model parallelism (e.g., 'auto').", +) -args = parser.parse_args() +args = parser.parse_args( + [ + # When executing this in a notebook, change the parameters here, eg + # "--device", "cuda:0" + ] +) ################################################ # Build the model @@ -61,7 +98,10 @@ if args.model == "gpt2": tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2") - cfg = GPT2Config.from_pretrained("openai-community/gpt2") + if args.pretrained: + cfg = GPT2Config.from_pretrained("openai-community/gpt2") + else: + cfg = GPT2Config() llm = GPT2LMHeadModel(cfg).eval().requires_grad_(False) if torch.cuda.is_available(): @@ -70,6 +110,9 @@ device = "cpu" elif args.model == "llama3.1": + if not args.pretrained: + raise ValueError("llama3.1 can only be used with --pretrained=True") + model_id = "meta-llama/Llama-3.1-8B" if args.device: @@ -168,6 +211,7 @@ # Notice that indexing the relevant nodes is made easy thanks to tensordict's API! # + def select_unique_obs(td): # Get the obs (the hash) hashes = td["hash"] @@ -223,6 +267,7 @@ def forward(self, x: torch.Tensor) -> TensorDict: # the value of the log-probability in the tensordict (which we will need for the Beam search algorithm). # + class CategoricalWithoutReplacement(Categorical): def sample(self, sample_shape=()) -> torch.Tensor: n = sample_shape.numel() From b768fbc7518959ed56a08a16a8d1712f987e9203 Mon Sep 17 00:00:00 2001 From: Vincent Moens Date: Wed, 4 Dec 2024 11:20:53 +0000 Subject: [PATCH 4/4] Update [ghstack-poisoned] --- docs/source/reference/envs.rst | 2 + torchrl/envs/custom/llm.py | 45 ++++++++++++++++++- .../sphinx-tutorials/beam_search_with_gpt.py | 3 ++ 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/docs/source/reference/envs.rst b/docs/source/reference/envs.rst index 4519900ae8b..70fdf03c0ff 100644 --- a/docs/source/reference/envs.rst +++ b/docs/source/reference/envs.rst @@ -347,6 +347,8 @@ TorchRL offers a series of custom built-in environments. PendulumEnv TicTacToeEnv + LLMHashingEnv + Multi-agent environments ------------------------ diff --git a/torchrl/envs/custom/llm.py b/torchrl/envs/custom/llm.py index 0413671f32c..4e9e5b7d3c0 100644 --- a/torchrl/envs/custom/llm.py +++ b/torchrl/envs/custom/llm.py @@ -22,8 +22,20 @@ class LLMHashingEnv(EnvBase): """A text generation environment that uses a hashing module to identify unique observations. + The primary goal of this environment is to identify token chains using a hashing function. + This allows the data to be stored in a :class:`~torchrl.data.MCTSForest` using nothing but hashes as node + identifiers, or easily prune repeated token chains in a data structure. + The following figure gives an overview of this workflow: + + .. figure:: /_static/img/rollout-llm.png + :alt: Data collection loop with our LLM environment. + + .. seealso:: the :ref:`Beam Search ` tutorial gives a practical example of how this env can be used. + Args: - vocab_size (int): The size of the vocabulary. + vocab_size (int): The size of the vocabulary. Can be omitted if the tokenizer is passed. + + Keyword Args: hashing_module (Callable[[torch.Tensor], torch.Tensor], optional): A hashing function that takes a tensor as input and returns a hashed tensor. Defaults to :class:`~torchrl.data.SipHash` if not provided. @@ -39,11 +51,36 @@ class LLMHashingEnv(EnvBase): text_key (NestedKey | None, optional): The key for the text output in the TensorDict. Defaults to "text". + Examples: + >>> from tensordict import TensorDict + >>> from torchrl.envs import LLMHashingEnv + >>> from transformers import GPT2Tokenizer + >>> tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2") + >>> x = tokenizer(["Check out TorchRL!"])["input_ids"] + >>> env = LLMHashingEnv(tokenizer=tokenizer) + >>> td = TensorDict(observation=x, batch_size=[1]) + >>> td = env.reset(td) + >>> print(td) + TensorDict( + fields={ + done: Tensor(shape=torch.Size([1, 1]), device=cpu, dtype=torch.bool, is_shared=False), + hash: Tensor(shape=torch.Size([1, 1]), device=cpu, dtype=torch.int64, is_shared=False), + observation: Tensor(shape=torch.Size([1, 5]), device=cpu, dtype=torch.int64, is_shared=False), + terminated: Tensor(shape=torch.Size([1, 1]), device=cpu, dtype=torch.bool, is_shared=False), + text: NonTensorStack( + ['Check out TorchRL!'], + batch_size=torch.Size([1]), + device=None)}, + batch_size=torch.Size([1]), + device=None, + is_shared=False) + """ def __init__( self, - vocab_size: int, + vocab_size: int | None=None, + *, hashing_module: Callable[[torch.Tensor], torch.Tensor] = None, observation_key: NestedKey = "observation", text_output: bool = True, @@ -51,6 +88,10 @@ def __init__( text_key: NestedKey | None = "text", ): super().__init__() + if vocab_size is None: + if tokenizer is None: + raise TypeError("You must provide a vocab_size integer if tokenizer is `None`.") + vocab_size = tokenizer.vocab_size self._batch_locked = False if hashing_module is None: hashing_module = SipHash() diff --git a/tutorials/sphinx-tutorials/beam_search_with_gpt.py b/tutorials/sphinx-tutorials/beam_search_with_gpt.py index a3214e89b4e..c2ef0baeca3 100644 --- a/tutorials/sphinx-tutorials/beam_search_with_gpt.py +++ b/tutorials/sphinx-tutorials/beam_search_with_gpt.py @@ -1,6 +1,9 @@ """ Beam Search with TorchRL ======================== +**Author**: `Vincent Moens `_ + +.. _beam_search: Key learning ------------