NVIDIA-NeMo / NVIDIA-NeMo/Automodel

Docs: add an easy-to-find, end-to-end embedding (bi-encoder) training tutorial

Open
#2,388 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community-request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.