mirror of
https://github.com/elder-plinius/OBLITERATUS.git
synced 2026-05-11 11:37:49 +02:00
34032b7821
Adds --remote [user@]host flag to obliterate, run, and tourney commands, enabling execution on remote GPU nodes via SSH. Also supports a remote: section in YAML configs. The remote runner handles SSH connectivity checks, GPU detection, auto-installation of obliteratus, log streaming, and result syncing back to the local machine via scp.
72 lines
2.4 KiB
Python
72 lines
2.4 KiB
Python
"""Obliteratus — Master Ablation Suite for HuggingFace transformers."""
|
|
|
|
__version__ = "0.1.2"
|
|
|
|
# Lazy imports for the main pipeline classes
|
|
__all__ = [
|
|
"AbliterationPipeline",
|
|
"InformedAbliterationPipeline",
|
|
"set_seed",
|
|
"run_sweep",
|
|
"SweepConfig",
|
|
"SweepResult",
|
|
"save_contribution",
|
|
"load_contributions",
|
|
"aggregate_results",
|
|
"TourneyRunner",
|
|
"TourneyResult",
|
|
"get_adaptive_recommendation",
|
|
"AdaptiveRecommendation",
|
|
"RemoteRunner",
|
|
"RemoteConfig",
|
|
]
|
|
|
|
|
|
def __getattr__(name):
|
|
if name == "AbliterationPipeline":
|
|
from obliteratus.abliterate import AbliterationPipeline
|
|
return AbliterationPipeline
|
|
if name == "InformedAbliterationPipeline":
|
|
from obliteratus.informed_pipeline import InformedAbliterationPipeline
|
|
return InformedAbliterationPipeline
|
|
if name == "set_seed":
|
|
from obliteratus.reproducibility import set_seed
|
|
return set_seed
|
|
if name == "run_sweep":
|
|
from obliteratus.sweep import run_sweep
|
|
return run_sweep
|
|
if name == "SweepConfig":
|
|
from obliteratus.sweep import SweepConfig
|
|
return SweepConfig
|
|
if name == "SweepResult":
|
|
from obliteratus.sweep import SweepResult
|
|
return SweepResult
|
|
if name == "save_contribution":
|
|
from obliteratus.community import save_contribution
|
|
return save_contribution
|
|
if name == "load_contributions":
|
|
from obliteratus.community import load_contributions
|
|
return load_contributions
|
|
if name == "aggregate_results":
|
|
from obliteratus.community import aggregate_results
|
|
return aggregate_results
|
|
if name == "TourneyRunner":
|
|
from obliteratus.tourney import TourneyRunner
|
|
return TourneyRunner
|
|
if name == "TourneyResult":
|
|
from obliteratus.tourney import TourneyResult
|
|
return TourneyResult
|
|
if name == "get_adaptive_recommendation":
|
|
from obliteratus.adaptive_defaults import get_adaptive_recommendation
|
|
return get_adaptive_recommendation
|
|
if name == "AdaptiveRecommendation":
|
|
from obliteratus.adaptive_defaults import AdaptiveRecommendation
|
|
return AdaptiveRecommendation
|
|
if name == "RemoteRunner":
|
|
from obliteratus.remote import RemoteRunner
|
|
return RemoteRunner
|
|
if name == "RemoteConfig":
|
|
from obliteratus.remote import RemoteConfig
|
|
return RemoteConfig
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|