fixes post-rebase
This commit is contained in:
@@ -82,6 +82,9 @@ def evaluate(config: str, accelerate: bool, **kwargs):
|
|||||||
"""Evaluate a model."""
|
"""Evaluate a model."""
|
||||||
kwargs = {k: v for k, v in kwargs.items() if v is not None}
|
kwargs = {k: v for k, v in kwargs.items() if v is not None}
|
||||||
|
|
||||||
|
# Enable expandable segments for cuda allocation to improve VRAM usage
|
||||||
|
set_pytorch_cuda_alloc_conf()
|
||||||
|
|
||||||
if accelerate:
|
if accelerate:
|
||||||
base_cmd = ["accelerate", "launch", "-m", "axolotl.cli.evaluate"]
|
base_cmd = ["accelerate", "launch", "-m", "axolotl.cli.evaluate"]
|
||||||
if config:
|
if config:
|
||||||
|
|||||||
@@ -12,10 +12,9 @@ from accelerate.logging import get_logger
|
|||||||
from axolotl.common.cli import EvaluateCliArgs, load_model_and_tokenizer
|
from axolotl.common.cli import EvaluateCliArgs, load_model_and_tokenizer
|
||||||
from axolotl.logging_config import configure_logging
|
from axolotl.logging_config import configure_logging
|
||||||
from axolotl.train import TrainDatasetMeta
|
from axolotl.train import TrainDatasetMeta
|
||||||
from axolotl.utils import set_pytorch_cuda_alloc_conf
|
|
||||||
from axolotl.utils.dict import DictDefault
|
from axolotl.utils.dict import DictDefault
|
||||||
from axolotl.utils.models import load_processor
|
from axolotl.utils.models import load_processor
|
||||||
from axolotl.utils.trainer import set_pytorch_cuda_alloc_conf, setup_trainer
|
from axolotl.utils.trainer import setup_trainer
|
||||||
|
|
||||||
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
||||||
src_dir = os.path.join(project_root, "src")
|
src_dir = os.path.join(project_root, "src")
|
||||||
@@ -62,6 +61,7 @@ def evaluate_dataset(
|
|||||||
return metrics
|
return metrics
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=duplicate-code
|
||||||
def evaluate(
|
def evaluate(
|
||||||
*, cfg: DictDefault, cli_args: EvaluateCliArgs, dataset_meta: TrainDatasetMeta
|
*, cfg: DictDefault, cli_args: EvaluateCliArgs, dataset_meta: TrainDatasetMeta
|
||||||
) -> Dict[str, float]:
|
) -> Dict[str, float]:
|
||||||
@@ -79,10 +79,6 @@ def evaluate(
|
|||||||
- The tokenizer
|
- The tokenizer
|
||||||
- Dictionary of evaluation metrics
|
- Dictionary of evaluation metrics
|
||||||
"""
|
"""
|
||||||
# pylint: disable=duplicate-code
|
|
||||||
# Enable expandable segments for cuda allocation to improve VRAM usage
|
|
||||||
set_pytorch_cuda_alloc_conf()
|
|
||||||
|
|
||||||
# Load model
|
# Load model
|
||||||
LOG.debug("loading model for evaluation...")
|
LOG.debug("loading model for evaluation...")
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from axolotl.logging_config import configure_logging
|
|||||||
from axolotl.utils.dict import DictDefault
|
from axolotl.utils.dict import DictDefault
|
||||||
from axolotl.utils.freeze import freeze_layers_except
|
from axolotl.utils.freeze import freeze_layers_except
|
||||||
from axolotl.utils.models import load_model, load_processor, load_tokenizer
|
from axolotl.utils.models import load_model, load_processor, load_tokenizer
|
||||||
from axolotl.utils.trainer import set_pytorch_cuda_alloc_conf, setup_trainer
|
from axolotl.utils.trainer import setup_trainer
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from optimum.bettertransformer import BetterTransformer
|
from optimum.bettertransformer import BetterTransformer
|
||||||
@@ -88,7 +88,7 @@ def train(
|
|||||||
)
|
)
|
||||||
resume_from_checkpoint = cfg.resume_from_checkpoint
|
resume_from_checkpoint = cfg.resume_from_checkpoint
|
||||||
|
|
||||||
# Load the model
|
# Load the model and tokenizer
|
||||||
msg = "loading model"
|
msg = "loading model"
|
||||||
if cfg.adapter:
|
if cfg.adapter:
|
||||||
msg += " and peft_config..."
|
msg += " and peft_config..."
|
||||||
|
|||||||
@@ -512,17 +512,6 @@ def prepare_opinionated_env(cfg):
|
|||||||
os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
os.environ["TOKENIZERS_PARALLELISM"] = "false"
|
||||||
|
|
||||||
|
|
||||||
def set_pytorch_cuda_alloc_conf():
|
|
||||||
"""Set up CUDA allocation config if using PyTorch >= 2.2"""
|
|
||||||
torch_version = torch.__version__.split(".")
|
|
||||||
torch_major, torch_minor = int(torch_version[0]), int(torch_version[1])
|
|
||||||
if torch_major == 2 and torch_minor >= 2:
|
|
||||||
if os.getenv("PYTORCH_CUDA_ALLOC_CONF") is None:
|
|
||||||
os.environ[
|
|
||||||
"PYTORCH_CUDA_ALLOC_CONF"
|
|
||||||
] = "expandable_segments:True,roundup_power2_divisions:16"
|
|
||||||
|
|
||||||
|
|
||||||
def setup_trainer(
|
def setup_trainer(
|
||||||
cfg, train_dataset, eval_dataset, model, tokenizer, processor, total_num_steps
|
cfg, train_dataset, eval_dataset, model, tokenizer, processor, total_num_steps
|
||||||
):
|
):
|
||||||
|
|||||||
Reference in New Issue
Block a user