Skip to content

docs(fern): rewrite key terminology glossary (#1500) - #2355

Merged
sephmard merged 9 commits into
mainfrom
docs/update-key-terminology-1500
Aug 5, 2026
Merged

docs(fern): rewrite key terminology glossary (#1500)#2355
sephmard merged 9 commits into
mainfrom
docs/update-key-terminology-1500

Conversation

@sephmard

@sephmard sephmard commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Rewrite Key Terminology with Gym-aligned definitions (Environment, Agent, Rollout, Benchmark, etc.)
  • Add an Overview (run flow, Agent/Environment composition, Model server) plus a concept → Gym component map
  • Cross-link related how-tos (Data, Agent/Model Server, Verifiers, Evaluate, Training, Sandboxes)

Fixes #1500

Test plan

  • make docs-check (0 errors)
  • python3 tests/unit_tests/test_fern_docs_links.py
  • Confirm Fern docs preview comment on the PR
  • Skim Overview + glossary sections for clarity on the preview URL

Align definitions with Environments/Evaluation/Training/Architecture,
lead with a Gym overview and component map, and link out to how-to pages.

Signed-off-by: Seph Mard <smard@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@sephmard sephmard added the documentation Improvements to documentation label Aug 5, 2026
@sephmard sephmard self-assigned this Aug 5, 2026
| **Environment** | **Dataset** + **Agent harness** + **Verifier** + **State** | Everything needed to run and score a task. The **model is outside** the environment. |

**Task Instance**
The **model** is the LLM you call — local weights or a remote API endpoint. In Gym it is usually exposed by the **Model server** (or your harness can call an endpoint directly). The same environment can be used as a **benchmark** (fixed eval) or a **training environment** (learn from rewards / synthetic data).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: may be a vlm, cf super

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went with modality-neutral wording instead of listing LLM/VLM: model / policy is what you call for generation (local weights or remote endpoint). That covers text, vision-language, and other modalities without baking a modality into the glossary.

Comment thread fern/versions/latest/pages/about/concepts/index.mdx Outdated
Co-authored-by: Felipe Vieira Frujeri <ffrujeri@nvidia.com>
Signed-off-by: Seph Mard <seph.mard@gmail.com>
| **SFT** | Supervised fine-tuning from examples of good behavior (demonstration data). |
| **RL** | Improve the policy through environment interaction and reward signals. |
| **Online / offline** | **Online**: update the policy from rewards while interacting (e.g. GRPO). **Offline**: train from pre-collected rollouts (e.g. SFT, DPO). See [Offline training with rollouts](/tutorials/training-tutorials/offline-training-w-rollouts). |
| **DPO** | Offline preference training from pairs of rollouts. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: i would expand the acronyms

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 5cd0537 / earlier review commit: expanded SFT (Supervised Fine-Tuning), RL (Reinforcement Learning), DPO (Direct Preference Optimization), and GRPO (Group Relative Policy Optimization).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed — full names are expanded in the Training glossary.

| --- | --- |
| Dataset | JSONL (`responses_create_params` + `verifier_metadata`) — [Prepare Data](/data) |
| Agent harness | **Agent server** (`responses_api_agents/`) — [Agent Server](/agent-server) |
| Verifier + state (+ env tools) | **Resources server** (`resources_servers/`) — [Build Verifiers](/build-verifiers) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is confusing to me. the state is obtained by a snapshot of the environment, no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarified: per-attempt state is the mutable session world inside the resources server (seed_session → tools mutate it → verify()), not a snapshot of the whole environment config. Mapping table updated accordingly.

A single rollout attempt for a specific task. Multiple instances per task capture different approaches.
| Concept | NeMo Gym component |
| --- | --- |
| Dataset | JSONL (`responses_create_params` + `verifier_metadata`) — [Prepare Data](/data) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think calling this a component is confusing. I would put the link to the data section, and the function names

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed: retitled the map to “In NeMo Gym” and described Dataset as JSONL row fields + Prepare Data (not as a server “component”).

bxyu-nvidia
bxyu-nvidia previously approved these changes Aug 5, 2026
Comment thread fern/versions/latest/pages/about/concepts/key-terminology.mdx Outdated
| | Built from | Notes |
| --- | --- | --- |
| **Agent** | **Model** + **Agent harness** | The harness turns model calls into a loop with tools and stop conditions. |
| **Environment** | **Dataset** + **Agent harness** + **Verifier** + **State** | Everything needed to run and score a task. The **model is outside** the environment. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One important distinction here is that the Agent harness is not a responsibility of the Environment
it is part of the Agent as you described in the line above. But the Environment packaging that we are doing contains a reference to the Agent Server

| Environment | Dataset + Agent harness + Verifier + State | Everything needed to run and score a task. The model is outside the environment. |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed: Environment is now Dataset + Verifier + State (+ env tools). Explicit note that the harness belongs to the Agent; Gym configs may still reference an agent server for packaging only.

Comment thread fern/versions/latest/pages/about/concepts/key-terminology.mdx Outdated
Comment thread fern/versions/latest/pages/about/concepts/key-terminology.mdx Outdated
**Data Generation Process**
| Term | Definition |
| --- | --- |
| **Environment** | Everything required for an agent to complete a task except the model: `Dataset + Agent harness + Verifier + State`. See [Environments](/about/concepts/environments) and [Build Environments](/environment-tutorials). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same recommendation as before.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed: Environment glossary row matches Overview — harness is a packaging reference, not part of the Environment formula.

**Preference Pairs**
| Term | Definition |
| --- | --- |
| **Training environment** | Environment used to improve a model — as an online RL reward signal, or to generate synthetic training data. See [Training](/about/concepts/training). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if there is need to make a distinction between a "Training environment" from an Environment apart from the taskset and data contamination

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — dropped “Training environment” as a separate type. Overview now says the same environment shape is used for benchmark eval vs training; differences are mainly task split / contamination controls.

Co-authored-by: Felipe Vieira Frujeri <ffrujeri@nvidia.com>
Signed-off-by: Seph Mard <seph.mard@gmail.com>
sephmard and others added 4 commits August 5, 2026 14:43
Co-authored-by: Felipe Vieira Frujeri <ffrujeri@nvidia.com>
Signed-off-by: Seph Mard <seph.mard@gmail.com>
Co-authored-by: Felipe Vieira Frujeri <ffrujeri@nvidia.com>
Signed-off-by: Seph Mard <seph.mard@gmail.com>
Clarify agent vs environment ownership, expand training acronyms,
treat models as LLM/VLM, and reword the Gym mapping table.

Signed-off-by: Seph Mard <smard@nvidia.com>
Generalize model definitions so they are not LLM-specific.

Signed-off-by: Seph Mard <smard@nvidia.com>
@ffrujeri
ffrujeri self-requested a review August 5, 2026 19:54
@sephmard
sephmard merged commit 5da2f51 into main Aug 5, 2026
10 checks passed
@sephmard
sephmard deleted the docs/update-key-terminology-1500 branch August 5, 2026 20:48
OlegSudakov pushed a commit to OlegSudakov/Gym that referenced this pull request Aug 7, 2026
…IA-NeMo#2355)

## Summary
- Rewrite [Key
Terminology](https://docs.nvidia.com/nemo/gym/main/about/concepts/key-terminology/)
with Gym-aligned definitions (Environment, Agent, Rollout, Benchmark,
etc.)
- Add an Overview (run flow, Agent/Environment composition, Model
server) plus a concept → Gym component map
- Cross-link related how-tos (Data, Agent/Model Server, Verifiers,
Evaluate, Training, Sandboxes)

Fixes NVIDIA-NeMo#1500

## Test plan
- [x] `make docs-check` (0 errors)
- [x] `python3 tests/unit_tests/test_fern_docs_links.py`
- [x] Confirm Fern docs preview comment on the PR
- [x] Skim Overview + glossary sections for clarity on the preview URL

---------

Signed-off-by: Seph Mard <smard@nvidia.com>
Signed-off-by: Seph Mard <seph.mard@gmail.com>
Co-authored-by: Felipe Vieira Frujeri <ffrujeri@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: update glossary

4 participants