Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9ff62b3
formatting changes
pradyumna-rfai Dec 30, 2025
1958f83
added ray to fit
pradyumna-rfai Dec 31, 2025
5e5ba2f
unification of fit and evals
pradyumna-rfai Jan 21, 2026
265cf3c
unified setup
pradyumna-rfai Jan 21, 2026
c812fc5
Removed old dirs, created metrics, platform dirs
pradyumna-rfai Jan 22, 2026
a59e12c
bugfixes to check logging and IC Ops syntax
pradyumna-rfai Jan 22, 2026
3bad6c4
Fixed auth issue, converted SHM model_registry to Ray
pradyumna-rfai Jan 28, 2026
132a880
added clean command to CLI
pradyumna-rfai Feb 1, 2026
44392a9
fixed transformers version mismatch
pradyumna-rfai Feb 1, 2026
f103c22
fixed bug in Dispatcher stop, delete and get_run
pradyumna-rfai Feb 1, 2026
f580bb7
fixed is_experiment_running bug and task_id error
pradyumna-rfai Feb 1, 2026
30f92e6
Fixed evals import issue.
pradyumna-rfai Feb 1, 2026
a0fe548
Fixed broken evals metrics logging
pradyumna-rfai Feb 2, 2026
d2c74e9
Fixed IC Ops + Dispatcher issues for Evals mode
pradyumna-rfai Feb 2, 2026
d1eb012
Fix missing DB columns and method signatures after unification
pradyumna-rfai Mar 2, 2026
47ec03f
Fix stale import paths in notebooks after unification
pradyumna-rfai Mar 2, 2026
f64bc63
Fix stale import paths in source files after unification
pradyumna-rfai Mar 2, 2026
0877f8a
Update test fixtures and remove orphaned serialize module
pradyumna-rfai Mar 2, 2026
6554537
Fix FSDP device indexing for Ray actor GPU isolation
pradyumna-rfai Mar 3, 2026
dc55e38
Handle deleted runs gracefully during training via IC Ops
pradyumna-rfai Mar 5, 2026
39cacc1
Fix post-rebase issues: remove duplicate imports and leftover conflic…
pradyumna-rfai Mar 5, 2026
a2510ab
Unify Ray lifecycle into shared cluster for fit and evals modes
pradyumna-rfai Mar 12, 2026
96ab5e7
Fix stale comments, unused imports, and duplicate code from rebases
pradyumna-rfai Mar 12, 2026
4684d8a
Require pre-started Ray cluster for experiments instead of auto-starting
pradyumna-rfai Mar 13, 2026
4d9d72b
minor bugfix
pradyumna-rfai Mar 13, 2026
bece0e7
bug bot fixes
pradyumna-rfai Mar 19, 2026
4d3ed38
Undo changes to all notebooks
pradyumna-rfai Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ colab_evals = [
# Statistical Analysis

# Data Manipulation & Display
"unstructured>=0.18.15",
"unstructured>=0.18.15",
]
colab_fit = [
"pandas>=2.0.0,<2.3.0", # Colab compatibility (2.2.2) and cudf constraint
Expand All @@ -109,9 +109,9 @@ colab_fit = [
"evaluate>=0.4.5",
"rouge-score>=0.1.2",
"sentencepiece>=0.2.1",
"ray[default]>=2.46.0", # Ray for distributed training
"mlflow>=3.2.0",
"requests>=2.32.0", # Relaxed for Colab (2.32.4)
"loguru>=0.7.3",
"ipython>=7.34.0", # Colab compatibility (7.34.0)
"jupyter>=1.1.1",
"ipywidgets>=7.3.4,<9.0.0", # Support both v7 (Colab) and v8 (Jupyter)
Expand Down Expand Up @@ -178,7 +178,6 @@ local_evals = [
"sentencepiece>=0.2.1",
"mlflow>=3.2.0",
"requests>=2.32.0", # Relaxed for Colab (2.32.4)
"loguru>=0.7.3",
"ipython>=7.34.0", # Colab compatibility (7.34.0)
"jupyter>=1.1.1",
"flashinfer-python==0.2.5",
Expand Down Expand Up @@ -245,7 +244,6 @@ local_fit = [
"dill>=0.3.8",
"mlflow>=3.2.0",
"requests>=2.32.0", # Relaxed for Colab (2.32.4)
"loguru>=0.7.3",
"ipython>=7.34.0", # Colab compatibility (7.34.0)
"jupyter>=1.1.1",
"trackio",
Expand Down
2 changes: 1 addition & 1 deletion rapidfireai/automl/automl_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any

from rapidfireai.automl.base import AutoMLAlgorithm
from rapidfireai.fit.utils.exceptions import AutoMLException
from rapidfireai.utils.exceptions import AutoMLException


def _is_valid_reranker_top_n_vs_k(pipeline: Any) -> bool:
Expand Down
2 changes: 1 addition & 1 deletion rapidfireai/automl/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import Any

from rapidfireai.automl.datatypes import List
from rapidfireai.fit.utils.exceptions import AutoMLException
from rapidfireai.utils.exceptions import AutoMLException


class AutoMLAlgorithm(ABC):
Expand Down
2 changes: 1 addition & 1 deletion rapidfireai/automl/grid_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from rapidfireai.automl.base import AutoMLAlgorithm
from rapidfireai.automl.datatypes import List
from rapidfireai.automl.automl_utils import filter_evals_runs_valid_reranker
from rapidfireai.fit.utils.exceptions import AutoMLException
from rapidfireai.utils.exceptions import AutoMLException


def recursive_expand_gridsearch(item: Any):
Expand Down
4 changes: 2 additions & 2 deletions rapidfireai/automl/model_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from abc import ABC, abstractmethod
from collections.abc import Callable
from dataclasses import dataclass
from typing import Any, Type, get_type_hints
from typing import Any, get_type_hints

from rapidfireai.automl.datatypes import List, Range

Expand Down Expand Up @@ -207,7 +207,7 @@ def get_engine_kwargs(self) -> dict[str, Any]:
pass


def _create_rf_class_evals(base_class: Type, class_name: str):
def _create_rf_class_evals(base_class: type, class_name: str):
"""Creating a RF class for evals that dynamically inherits all constructor parameters and supports singleton, list, and Range values."""
if not inspect.isclass(base_class):
raise ValueError(f"base_class must be a class, got {type(base_class)}")
Expand Down
22 changes: 6 additions & 16 deletions rapidfireai/automl/random_search.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"""Random search implementation for AutoML hyperparameter optimization."""

import hashlib
import json
import random
import hashlib
from typing import Any

from rapidfireai.automl.base import AutoMLAlgorithm
from rapidfireai.automl.datatypes import List, Range
from rapidfireai.automl.automl_utils import _is_valid_reranker_top_n_vs_k
from rapidfireai.fit.utils.exceptions import AutoMLException
from rapidfireai.utils.exceptions import AutoMLException


def encode_payload(payload: dict[str, Any]) -> str:
Expand Down Expand Up @@ -73,16 +73,12 @@ def _get_runs_fit(self, seed: int) -> list[dict[str, Any]]:
selected_peft_config = config.peft_config

peft_params = (
{}
if selected_peft_config is None
else recursive_expand_randomsearch(selected_peft_config._user_params)
{} if selected_peft_config is None else recursive_expand_randomsearch(selected_peft_config._user_params)
)

# Sample other parameters
training_params = (
{}
if config.training_args is None
else recursive_expand_randomsearch(config.training_args._user_params)
{} if config.training_args is None else recursive_expand_randomsearch(config.training_args._user_params)
)

model_kwargs = (
Expand Down Expand Up @@ -202,11 +198,7 @@ def _get_runs_evals(self, seed: int) -> list[dict[str, Any]]:

for pipeline in pipelines:
# Sample model config parameters
pipeline_instances = (
[{}]
if pipeline is None
else [recursive_expand_randomsearch(pipeline)]
)
pipeline_instances = [{}] if pipeline is None else [recursive_expand_randomsearch(pipeline)]

additional_kwargs = {
k: v
Expand All @@ -217,9 +209,7 @@ def _get_runs_evals(self, seed: int) -> list[dict[str, Any]]:
and v is not None
}
additional_kwargs_instances = (
[{}]
if not additional_kwargs
else [recursive_expand_randomsearch(additional_kwargs)]
[{}] if not additional_kwargs else [recursive_expand_randomsearch(additional_kwargs)]
)

# Generate random search combinations
Expand Down
Loading