NVIDIA-NeMo / NVIDIA-NeMo/Automodel
Docs: add an easy-to-find, end-to-end embedding (bi-encoder) training tutorial
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 963
- Forks
- 318
- Avg merge
- 3d 20h
- Merged PRs (30d)
- 143
Description
Problem
Embedding/retrieval training is well-supported in code, but its docs are thinner and harder to find than the LLM/VLM paths. tutorials/ has only llama-peft and nemotron-parse — no embedding entry — so a new user won't discover it. The material that exists is scattered (docs/model-coverage/embedding/index.md, docs/guides/llm/retrieval-dataset.md, examples/retrieval/bi_encoder/), and the closest walkthrough (.../llama_embed_nemotron_8b/README.md) is a full-8B reproduction recipe, not a learning tutorial.
Ask
Add one discoverable, end-to-end embedding tutorial — under tutorials/ and linked from the embedding docs index — that:
- starts on a small model/dataset (
bi_encoder/llama3_2_1b.yaml) runnable in minutes on 1–2 GPUs; - explains the concepts, not just commands: bi- vs cross-encoder, the contrastive objective (in-batch + hard negatives), bidirectional conversion (
NeMoAutoModelBiEncoder) vs HF fallback, pooling; - shows the dataset format hands-on (query/(positive, negatives)) + hard-negative mining (
data_utils/mine_hard_negatives.py); - shows expected output (loss + a quick retrieval/eval check) and how to use the embeddings.
Acceptance
A new user goes from zero to a working embedding model via one page, reachable from tutorials/ and the embedding docs.
Pointers
examples/retrieval/bi_encoder/, examples/retrieval/data_utils/, docs/model-coverage/embedding/index.md, docs/guides/llm/retrieval-dataset.md, nemo_automodel/recipes/retrieval/.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading examples/retrieval/bi_encoder/, examples/retrieval/data_utils/, docs/model-coverage/embedding/index.md, and docs/guides/llm/retrieval-dataset.md, then inspect the small-model configuration at nemo_automodel/recipes/retrieval/bi_encoder/llama3_2_1b.yaml. Add a linked tutorial under tutorials/ that covers the requested concepts, dataset and hard-negative workflow, expected training output, and a retrieval check. Done means a new user can follow one page from setup to a working embedding model.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- documentation, machine-learning
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100