File size: 2,035 Bytes
c7ebaa1
 
 
2145d80
 
 
c7ebaa1
 
2145d80
c7ebaa1
 
 
bff2f94
 
 
 
 
 
 
 
 
 
 
 
 
 
2145d80
 
 
 
 
 
bff2f94
 
 
 
 
 
 
 
 
2145d80
 
 
bff2f94
c7ebaa1
 
 
 
 
 
 
2145d80
 
c7ebaa1
 
 
2145d80
c7ebaa1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""
BioRLHF: Biological Reinforcement Learning from Human Feedback

A framework for fine-tuning LLMs on biological reasoning tasks using SFT, DPO,
and GRPO with verifier-based reward models for factual accuracy, calibrated
uncertainty, and chain-of-thought reasoning.
"""

__version__ = "0.2.0"
__author__ = "JangKeun Kim"
__email__ = "jangkeun.kim@med.cornell.edu"

def __getattr__(name):
    """Lazy imports for torch-dependent modules."""
    if name == "SFTTrainingConfig":
        from biorlhf.training.sft import SFTTrainingConfig
        return SFTTrainingConfig
    elif name == "run_sft_training":
        from biorlhf.training.sft import run_sft_training
        return run_sft_training
    elif name == "DPOTrainingConfig":
        from biorlhf.training.dpo import DPOTrainingConfig
        return DPOTrainingConfig
    elif name == "run_dpo_training":
        from biorlhf.training.dpo import run_dpo_training
        return run_dpo_training
    elif name == "GRPOConfig":
        from biorlhf.training.grpo import GRPOConfig
        return GRPOConfig
    elif name == "run_grpo_training":
        from biorlhf.training.grpo import run_grpo_training
        return run_grpo_training
    elif name == "create_sft_dataset":
        from biorlhf.data.dataset import create_sft_dataset
        return create_sft_dataset
    elif name == "load_dataset":
        from biorlhf.data.dataset import load_dataset
        return load_dataset
    elif name == "evaluate_model":
        from biorlhf.evaluation.evaluate import evaluate_model
        return evaluate_model
    elif name == "RewardComposer":
        from biorlhf.verifiers.composer import RewardComposer
        return RewardComposer
    raise AttributeError(f"module 'biorlhf' has no attribute {name!r}")

__all__ = [
    "__version__",
    "SFTTrainingConfig",
    "run_sft_training",
    "DPOTrainingConfig",
    "run_dpo_training",
    "GRPOConfig",
    "run_grpo_training",
    "create_sft_dataset",
    "load_dataset",
    "evaluate_model",
    "RewardComposer",
]