Skip to content

Commit

Permalink
Resolving pathing and build dependencies between lm-buddy and Lumigat…
Browse files Browse the repository at this point in the history
…or (#220)

* path replace

* adding build files

* fix submission

* lint
  • Loading branch information
veekaybee authored Sep 20, 2024
1 parent d9a2f97 commit d0e24bf
Show file tree
Hide file tree
Showing 47 changed files with 2,418 additions and 2,525 deletions.
1,556 changes: 759 additions & 797 deletions 3rdparty/python/darwin.lock

Large diffs are not rendered by default.

1,541 changes: 754 additions & 787 deletions 3rdparty/python/linux_cpu.lock

Large diffs are not rendered by default.

1,546 changes: 754 additions & 792 deletions 3rdparty/python/linux_cuda.lock

Large diffs are not rendered by default.

17 changes: 0 additions & 17 deletions 3rdparty/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,6 @@ name = "lumigator-3rdparty-python-dependencies"
version = "0.0.1"
requires-python = "==3.11.9"

## local lm-buddy can be made with the following url spec.
## You have to build the wheel manually and clean out the other wheels that
## are built there - e.g.,
#
## pushd $WORKSPACE/lm-buddy && \
# # pip wheel . --wheel-dir=$WORKSPACE/wheelhouse && \
# # cd $WORKSPACE/wheelhouse && \
# # mv lm_buddy-<VERSION>-py3-none-any.whl lm_buddy-<VERSION>-py3-none-any.bak && \
# # rm *.whl && mv lm_buddy-<VERSION>-py3-none-any.bak lm_buddy-<VERSION>-py3-none-any.whl && \
# # popd
## after that you can uncomment the following and put it in the `dependencies` map:
## "lm-buddy[dev] @ $WHEELS_DIR/",

## warning - if you're developing with a copy of this in your system under $WHEELS_DIR,
## in pants.toml, pants will use the local version even without the local URI
## and things will break. make sure to clean it up before building; this is more a note for followups

# this has to be an array of pep 508 strings, not the map style
dependencies = [
"accelerate>=0.25.0",
Expand Down
11 changes: 11 additions & 0 deletions lumigator/python/mzai/lm_buddy/BUILD.pants
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
python_sources(
name="lm_buddy_sources",
sources=[
"**/*.py",
"!tests",
],
)

python_requirements(
name="reqs",
)
2 changes: 1 addition & 1 deletion lumigator/python/mzai/lm_buddy/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from lumigator.python.mzai.lm_buddy.buddy import LMBuddy
from mzai.lm_buddy.buddy import LMBuddy

__all__ = ["LMBuddy"]
2 changes: 1 addition & 1 deletion lumigator/python/mzai/lm_buddy/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Makes the LM Buddy CLI executable via `python -m lm_buddy`.
"""

from lumigator.python.mzai.lm_buddy.cli import cli
from mzai.lm_buddy.cli import cli

if __name__ == "__main__":
cli()
18 changes: 9 additions & 9 deletions lumigator/python/mzai/lm_buddy/buddy.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import wandb

from lumigator.python.mzai.lm_buddy.configs.jobs import (
from mzai.lm_buddy.configs.jobs import (
EvaluationJobConfig,
FinetuningJobConfig,
HuggingFaceEvalJobConfig,
Expand All @@ -9,18 +9,18 @@
PrometheusJobConfig,
RagasJobConfig,
)
from lumigator.python.mzai.lm_buddy.jobs.common import (
from mzai.lm_buddy.jobs.common import (
EvaluationResult,
FinetuningResult,
JobType,
)
from lumigator.python.mzai.lm_buddy.jobs.evaluation.hf_evaluate import run_hf_evaluation
from lumigator.python.mzai.lm_buddy.jobs.evaluation.lm_harness import run_lm_harness
from lumigator.python.mzai.lm_buddy.jobs.evaluation.prometheus import run_prometheus
from lumigator.python.mzai.lm_buddy.jobs.evaluation.ragas import run_ragas
from lumigator.python.mzai.lm_buddy.jobs.finetuning import run_finetuning
from lumigator.python.mzai.lm_buddy.paths import strip_path_prefix
from lumigator.python.mzai.lm_buddy.tracking.run_utils import WandbResumeMode
from mzai.lm_buddy.jobs.evaluation.hf_evaluate import run_hf_evaluation
from mzai.lm_buddy.jobs.evaluation.lm_harness import run_lm_harness
from mzai.lm_buddy.jobs.evaluation.prometheus import run_prometheus
from mzai.lm_buddy.jobs.evaluation.ragas import run_ragas
from mzai.lm_buddy.jobs.finetuning import run_finetuning
from mzai.lm_buddy.paths import strip_path_prefix
from mzai.lm_buddy.tracking.run_utils import WandbResumeMode


class LMBuddy:
Expand Down
2 changes: 1 addition & 1 deletion lumigator/python/mzai/lm_buddy/cli/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import click

from lumigator.python.mzai.lm_buddy.cli import evaluate, finetune
from mzai.lm_buddy.cli import evaluate, finetune


@click.group(name="LM Buddy CLI", help="Entrypoints for the LM Buddy.")
Expand Down
6 changes: 3 additions & 3 deletions lumigator/python/mzai/lm_buddy/cli/evaluate.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import click

from lumigator.python.mzai.lm_buddy import LMBuddy
from lumigator.python.mzai.lm_buddy.cli.utils import parse_config_option
from lumigator.python.mzai.lm_buddy.configs.jobs import (
from mzai.lm_buddy import LMBuddy
from mzai.lm_buddy.cli.utils import parse_config_option
from mzai.lm_buddy.configs.jobs import (
HuggingFaceEvalJobConfig,
LMHarnessJobConfig,
PrometheusJobConfig,
Expand Down
6 changes: 3 additions & 3 deletions lumigator/python/mzai/lm_buddy/cli/finetune.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import click

from lumigator.python.mzai.lm_buddy import LMBuddy
from lumigator.python.mzai.lm_buddy.cli.utils import parse_config_option
from lumigator.python.mzai.lm_buddy.configs.jobs import FinetuningJobConfig
from mzai.lm_buddy import LMBuddy
from mzai.lm_buddy.cli.utils import parse_config_option
from mzai.lm_buddy.configs.jobs import FinetuningJobConfig


@click.command(name="finetune", help="Run an LM Buddy finetuning job.")
Expand Down
2 changes: 1 addition & 1 deletion lumigator/python/mzai/lm_buddy/cli/utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from pathlib import Path
from typing import TypeVar

from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.jobs.common import JobConfig

ConfigType = TypeVar("ConfigType", bound=JobConfig)

Expand Down
4 changes: 2 additions & 2 deletions lumigator/python/mzai/lm_buddy/configs/huggingface.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import dataclasses
from typing import Any

from lumigator.python.mzai.lm_buddy.configs.common import (
from mzai.lm_buddy.configs.common import (
LMBuddyConfig,
SerializableTorchDtype,
)
from lumigator.python.mzai.lm_buddy.paths import AssetPath, PathPrefix
from mzai.lm_buddy.paths import AssetPath, PathPrefix
from peft import PeftConfig, PeftType, TaskType
from pydantic import field_validator, model_validator
from transformers import BitsAndBytesConfig
Expand Down
12 changes: 6 additions & 6 deletions lumigator/python/mzai/lm_buddy/configs/jobs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.finetuning import FinetuningJobConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.hf_evaluate import HuggingFaceEvalJobConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.lm_harness import LMHarnessJobConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.prometheus import PrometheusJobConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.ragas import RagasJobConfig
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.jobs.finetuning import FinetuningJobConfig
from mzai.lm_buddy.configs.jobs.hf_evaluate import HuggingFaceEvalJobConfig
from mzai.lm_buddy.configs.jobs.lm_harness import LMHarnessJobConfig
from mzai.lm_buddy.configs.jobs.prometheus import PrometheusJobConfig
from mzai.lm_buddy.configs.jobs.ragas import RagasJobConfig

EvaluationJobConfig = (
LMHarnessJobConfig | PrometheusJobConfig | RagasJobConfig | HuggingFaceEvalJobConfig
Expand Down
6 changes: 3 additions & 3 deletions lumigator/python/mzai/lm_buddy/configs/jobs/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
from pydantic import Field
from pydantic_yaml import parse_yaml_file_as, to_yaml_file

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.wandb import WandbRunConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath, PathPrefix
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.wandb import WandbRunConfig
from mzai.lm_buddy.paths import AssetPath, PathPrefix


class JobConfig(LMBuddyConfig):
Expand Down
8 changes: 4 additions & 4 deletions lumigator/python/mzai/lm_buddy/configs/jobs/finetuning.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
from pydantic import Field, field_validator, model_validator

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.huggingface import (
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.huggingface import (
AdapterConfig,
AutoModelConfig,
AutoTokenizerConfig,
DatasetConfig,
QuantizationConfig,
TrainerConfig,
)
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.paths import AssetPath


class FinetuningRayConfig(LMBuddyConfig):
Expand Down
10 changes: 5 additions & 5 deletions lumigator/python/mzai/lm_buddy/configs/jobs/hf_evaluate.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
from pydantic import Field, conlist, field_validator, model_validator

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.huggingface import (
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.huggingface import (
AutoModelConfig,
AutoTokenizerConfig,
DatasetConfig,
QuantizationConfig,
)
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from mzai.lm_buddy.paths import AssetPath


class HuggingFaceEvaluationConfig(LMBuddyConfig):
Expand Down
10 changes: 5 additions & 5 deletions lumigator/python/mzai/lm_buddy/configs/jobs/lm_harness.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

from pydantic import conlist, model_validator

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.huggingface import (
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.huggingface import (
AutoModelConfig,
QuantizationConfig,
)
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.configs.vllm import InferenceServerConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.vllm import InferenceServerConfig
from mzai.lm_buddy.paths import AssetPath


class LocalChatCompletionsConfig(LMBuddyConfig):
Expand Down
10 changes: 5 additions & 5 deletions lumigator/python/mzai/lm_buddy/configs/jobs/prometheus.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from pydantic import Field

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.huggingface import DatasetConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.huggingface import DatasetConfig
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from mzai.lm_buddy.paths import AssetPath


class PrometheusEvaluationConfig(LMBuddyConfig):
Expand Down
10 changes: 5 additions & 5 deletions lumigator/python/mzai/lm_buddy/configs/jobs/ragas.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from typing import Literal, get_args

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.configs.huggingface import (
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.huggingface import (
AutoModelConfig,
DatasetConfig,
)
from lumigator.python.mzai.lm_buddy.configs.jobs.common import JobConfig
from lumigator.python.mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.jobs.common import JobConfig
from mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from mzai.lm_buddy.paths import AssetPath
from pydantic import Field, field_validator

RagasEvaluationMetric = Literal[
Expand Down
4 changes: 2 additions & 2 deletions lumigator/python/mzai/lm_buddy/configs/vllm.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from lumigator.python.mzai.lm_buddy.paths import AssetPath
from mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.paths import AssetPath


class InferenceServerConfig(LMBuddyConfig):
Expand Down
2 changes: 1 addition & 1 deletion lumigator/python/mzai/lm_buddy/configs/wandb.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
import warnings

from lumigator.python.mzai.lm_buddy.configs.common import LMBuddyConfig
from mzai.lm_buddy.configs.common import LMBuddyConfig
from pydantic import model_validator
from wandb.apis.public import Run
from wandb.util import random_string
Expand Down
6 changes: 3 additions & 3 deletions lumigator/python/mzai/lm_buddy/jobs/asset_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
from accelerate import Accelerator
from datasets import Dataset, DatasetDict, load_dataset, load_from_disk
from loguru import logger
from lumigator.python.mzai.lm_buddy.configs.huggingface import (
from mzai.lm_buddy.configs.huggingface import (
AutoModelConfig,
AutoTokenizerConfig,
DatasetConfig,
QuantizationConfig,
)
from lumigator.python.mzai.lm_buddy.paths import AssetPath, PathPrefix, strip_path_prefix
from lumigator.python.mzai.lm_buddy.tracking.artifact_utils import (
from mzai.lm_buddy.paths import AssetPath, PathPrefix, strip_path_prefix
from mzai.lm_buddy.tracking.artifact_utils import (
get_artifact_directory,
get_artifact_from_api,
)
Expand Down
16 changes: 8 additions & 8 deletions lumigator/python/mzai/lm_buddy/jobs/evaluation/hf_evaluate.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@

import s3fs
from loguru import logger
from lumigator.python.mzai.lm_buddy.configs.jobs.hf_evaluate import HuggingFaceEvalJobConfig
from lumigator.python.mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from lumigator.python.mzai.lm_buddy.constants import LM_BUDDY_RESULTS_PATH
from lumigator.python.mzai.lm_buddy.jobs.asset_loader import (
from mzai.lm_buddy.configs.jobs.hf_evaluate import HuggingFaceEvalJobConfig
from mzai.lm_buddy.configs.vllm import VLLMCompletionsConfig
from mzai.lm_buddy.constants import LM_BUDDY_RESULTS_PATH
from mzai.lm_buddy.jobs.asset_loader import (
HuggingFaceDatasetLoader,
HuggingFaceModelLoader,
)
from lumigator.python.mzai.lm_buddy.jobs.common import EvaluationResult
from lumigator.python.mzai.lm_buddy.jobs.evaluation.metrics import EvaluationMetrics
from lumigator.python.mzai.lm_buddy.jobs.model_clients import (
from mzai.lm_buddy.jobs.common import EvaluationResult
from mzai.lm_buddy.jobs.evaluation.metrics import EvaluationMetrics
from mzai.lm_buddy.jobs.model_clients import (
BaseModelClient,
HuggingFaceModelClient,
MistralModelClient,
OpenAIModelClient,
SummarizationPipelineModelClient,
)
from lumigator.python.mzai.lm_buddy.jobs.utils import timer
from mzai.lm_buddy.jobs.utils import timer
from tqdm import tqdm


Expand Down
10 changes: 5 additions & 5 deletions lumigator/python/mzai/lm_buddy/jobs/evaluation/lm_harness.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
from lm_eval.models.openai_completions import OpenaiCompletionsLM
from loguru import logger

from lumigator.python.mzai.lm_buddy.configs.huggingface import AutoModelConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.lm_harness import (
from mzai.lm_buddy.configs.huggingface import AutoModelConfig
from mzai.lm_buddy.configs.jobs.lm_harness import (
LMHarnessJobConfig,
LocalChatCompletionsConfig,
)
from lumigator.python.mzai.lm_buddy.jobs.asset_loader import HuggingFaceModelLoader
from lumigator.python.mzai.lm_buddy.jobs.common import EvaluationResult
from lumigator.python.mzai.lm_buddy.tracking.artifact_utils import (
from mzai.lm_buddy.jobs.asset_loader import HuggingFaceModelLoader
from mzai.lm_buddy.jobs.common import EvaluationResult
from mzai.lm_buddy.tracking.artifact_utils import (
ArtifactType,
build_table_artifact,
default_artifact_name,
Expand Down
16 changes: 8 additions & 8 deletions lumigator/python/mzai/lm_buddy/jobs/evaluation/prometheus.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@

from datasets import Dataset
from loguru import logger
from lumigator.python.mzai.lm_buddy.configs.huggingface import AutoTokenizerConfig
from lumigator.python.mzai.lm_buddy.configs.jobs.prometheus import PrometheusJobConfig
from lumigator.python.mzai.lm_buddy.constants import LM_BUDDY_RESULTS_PATH
from lumigator.python.mzai.lm_buddy.jobs.asset_loader import (
from mzai.lm_buddy.configs.huggingface import AutoTokenizerConfig
from mzai.lm_buddy.configs.jobs.prometheus import PrometheusJobConfig
from mzai.lm_buddy.constants import LM_BUDDY_RESULTS_PATH
from mzai.lm_buddy.jobs.asset_loader import (
HuggingFaceDatasetLoader,
HuggingFaceModelLoader,
HuggingFaceTokenizerLoader,
)
from lumigator.python.mzai.lm_buddy.jobs.common import EvaluationResult
from lumigator.python.mzai.lm_buddy.jobs.evaluation.conversation import get_conv_template
from lumigator.python.mzai.lm_buddy.preprocessing import format_dataset_with_prompt
from lumigator.python.mzai.lm_buddy.tracking.artifact_utils import (
from mzai.lm_buddy.jobs.common import EvaluationResult
from mzai.lm_buddy.jobs.evaluation.conversation import get_conv_template
from mzai.lm_buddy.preprocessing import format_dataset_with_prompt
from mzai.lm_buddy.tracking.artifact_utils import (
ArtifactType,
build_directory_artifact,
default_artifact_name,
Expand Down
Loading

0 comments on commit d0e24bf

Please sign in to comment.