Passer à la navigation

nemo_rl.environments.math_environment

Afficher en Markdown

Contenu du Module

Classes

NomDescription
MathEnvConfigdict() -> nouveau dictionnaire vide dict(mapping) -> nouveau dictionnaire initialisé à partir des paires (clé, valeur) d’un objet de mappage dict(iterable) -> nouveau dictionnaire initialisé comme si : d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> nouveau dictionnaire initialisé avec les paires nom=valeur dans la liste d’arguments de mot-clé. Par exemple : dict(one=1, two=2)
HFVerifyWorkerAucun
MultilingualMultichoiceVerifyWorkerAucun
EnglishMultichoiceVerifyWorkerAucun
MathEnvironmentMetadatadict() -> nouveau dictionnaire vide dict(mapping) -> nouveau dictionnaire initialisé à partir des paires (clé, valeur) d’un objet de mappage dict(iterable) -> nouveau dictionnaire initialisé comme si : d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> nouveau dictionnaire initialisé avec les paires nom=valeur dans la liste d’arguments de mot-clé. Par exemple : dict(one=1, two=2)
MathEnvironmentClasse d’aide qui fournit un moyen standard de créer un ABC par héritage.

Fonctions

NomDescription
_mute_outputAucun

API

class nemo_rl.environments.math_environment.MathEnvConfig

Bases: typing.TypedDict

num_workers: int

Valeur: None

stop_strings: typing.Optional[list[str]]

Valeur: None

verifier_type: typing.Optional[str]

Valeur: None

nemo_rl.environments.math_environment._mute_output()
class nemo_rl.environments.math_environment.HFVerifyWorker
pred_responses: list[str],
ground_truths: list[str],
return_extracted_answer: bool = False
) -> typing.Union[list[float], tuple[list[float], list[str | None]]]

Vérifier l’exactitude des réponses prédites par rapport à la vérité terrain.

Args : pred_responses : list[str]. Les réponses prédites par le LLM. ground_truths : list[str]. Les réponses de vérité terrain.

Returns : Union[list[float], tuple[list[float], list[str | None]]]. Si return_extracted_answer est False, renvoie uniquement les scores. Si return_extracted_answer est True, renvoie (scores, extracted_answers).

class nemo_rl.environments.math_environment.MultilingualMultichoiceVerifyWorker
pred_responses: list[str],
ground_truths: list[str],
return_extracted_answer: bool = False
) -> typing.Union[list[float], tuple[list[float], list[str | None]]]

Vérifier l’exactitude des réponses prédites par rapport à la vérité terrain.

Args : pred_responses : list[str]. Les réponses prédites par le LLM. ground_truths : list[str]. Les réponses de vérité terrain.

Returns : Union[list[float], tuple[list[float], list[str | None]]]. Si return_extracted_answer est False, renvoie uniquement les scores. Si return_extracted_answer est True, renvoie (scores, extracted_answers).

class nemo_rl.environments.math_environment.EnglishMultichoiceVerifyWorker
pred_responses: list[str],
ground_truths: list[str],
return_extracted_answer: bool = False
) -> typing.Union[list[float], tuple[list[float], list[str | None]]]

Vérifier l’exactitude des réponses prédites par rapport à la vérité terrain.

Args : pred_responses : list[str]. Les réponses prédites par le LLM. ground_truths : list[str]. Les réponses de vérité terrain.

Returns : Union[list[float], tuple[list[float], list[str | None]]]. Si return_extracted_answer est False, renvoie uniquement les scores. Si return_extracted_answer est True, renvoie (scores, extracted_answers).

class nemo_rl.environments.math_environment.MathEnvironmentMetadata

Bases: typing.TypedDict

ground_truth: str

Valeur: None

extracted_answer: str | None

Valeur: None

class nemo_rl.environments.math_environment.MathEnvironment(cfg: nemo_rl.environments.math_environment.MathEnvConfig)

Bases: nemo_rl.environments.interfaces.EnvironmentInterface[nemo_rl.environments.math_environment.MathEnvironmentMetadata]

shutdown() -> None
message_log_batch: list[nemo_rl.data.interfaces.LLMMessageLogType],
metadata: list[nemo_rl.environments.math_environment.MathEnvironmentMetadata],
return_extracted_answer: bool = False
) -> nemo_rl.environments.interfaces.EnvironmentReturn[nemo_rl.environments.math_environment.MathEnvironmentMetadata]

Exécute une étape dans l’environnement mathématique.

Args : message_log : list[list[dict[str, str]]]. Un lot de journaux de messages de type API OpenAI représentant des interactions avec le LLM. metadata : list[MathEnvironmentMetadata]. Le classificateur utilisera la clé ‘ground_truth’ pour évaluer la précision. La réponse extraite sera stockée pour calculer cons@k.

Returns : EnvironmentReturn : Un tuple contenant :

  • list[dict[str, str]] : Lot d’observations/réponses
  • list[dict] : Métadonnées mises à jour
  • list[str] : Prochaines chaînes d’arrêt pour le prochain tour
  • Tensor : Tenseur de récompenses
  • Tensor : Tenseur de drapeaux de fin
global_post_process_and_metrics(batch: nemo_rl.distributed.batched_data_dict.BatchedDataDict[typing.Any]) -> tuple[nemo_rl.distributed.batched_data_dict.BatchedDataDict[typing.Any], dict[str, float | int]]

Calcule les métriques de cet environnement à partir d’un lot global de rollout.

Chaque rang exécutera cette fonction, vous pouvez donc utiliser des calculs distribués si vous préférez pour les métriques lourdes.