Re commit lossing files for flextrain

Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/12674746
This commit is contained in:
yuze.zyz
2023-05-19 10:48:33 +08:00
parent 6abdce929d
commit d38fa563a8
6 changed files with 31 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
from dataclasses import dataclass, field
from modelscope import EpochBasedTrainer, MsDataset, TrainingArgs
from modelscope import (EpochBasedTrainer, MsDataset, TrainingArgs,
build_dataset_from_file)
from modelscope.metainfo import Trainers
from modelscope.trainers import build_trainer
@@ -94,14 +95,25 @@ def cfg_modify_fn(cfg):
return cfg
dataset = MsDataset.load(args.train_dataset_name)
train_dataset = dataset['train']
eval_dataset = dataset['validation' if 'validation' in dataset else 'test']
if args.dataset_json_file is None:
train_dataset = MsDataset.load(
args.train_dataset_name,
subset_name=args.train_subset_name,
split=args.train_split,
namespace=args.train_dataset_namespace)
validation_dataset = MsDataset.load(
args.val_dataset_name,
subset_name=args.val_subset_name,
split=args.val_split,
namespace=args.val_dataset_namespace)
else:
train_dataset, validation_dataset = build_dataset_from_file(
args.dataset_json_file)
kwargs = dict(
model=args.model,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
eval_dataset=validation_dataset,
seed=args.seed,
work_dir=args.work_dir,
cfg_modify_fn=cfg_modify_fn)

View File

@@ -9,6 +9,9 @@ PYTHONPATH=. torchrun --nproc_per_node $WORLD_SIZE examples/pytorch/text_generat
--work_dir './tmp' \
--model 'damo/nlp_gpt3_text-generation_1.3B' \
--train_dataset_name 'chinese-poetry-collection' \
--val_dataset_name 'chinese-poetry-collection' \
--train_split 'train' \
--val_split 'test' \
--preprocessor 'text-gen-jieba-tokenizer' \
--src_txt 'text1' \
--tgt_txt 'text2' \

View File

@@ -4,6 +4,9 @@ PYTHONPATH=. torchrun examples/pytorch/text_generation/finetune_text_generation.
--task 'text2text-generation' \
--model 'damo/nlp_mt5_zero-shot-augment_chinese-base' \
--train_dataset_name 'DuReader_robust-QG' \
--val_dataset_name 'DuReader_robust-QG' \
--train_split 'train' \
--val_split 'validation' \
--src_txt 'text1' \
--tgt_txt 'text2' \
--max_epochs 1 \

View File

@@ -3,6 +3,9 @@ PYTHONPATH=. torchrun examples/pytorch/text_generation/finetune_text_generation.
--work_dir './tmp' \
--model 'damo/nlp_palm2.0_pretrained_chinese-base' \
--train_dataset_name 'DuReader_robust-QG' \
--val_dataset_name 'DuReader_robust-QG' \
--train_split 'train' \
--val_split 'validation' \
--src_txt 'text1' \
--tgt_txt 'text2' \
--max_epochs 1 \

View File

@@ -155,10 +155,10 @@ class EpochBasedTrainer(BaseTrainer):
self.cfg_modify_fn = cfg_modify_fn
# add default config
merge_cfg(self.cfg)
self.cfg = self.rebuild_config(self.cfg)
if 'cfg_options' in kwargs:
self.cfg.merge_from_dict(kwargs['cfg_options'])
self.cfg = update_cfg(self.cfg)
self.cfg = self.rebuild_config(self.cfg)
if isinstance(model, (TorchModel, nn.Module)):
self.model = model

View File

@@ -9,6 +9,7 @@ import json
from modelscope.trainers.cli_argument_parser import CliArgumentParser
from modelscope.utils.config import Config
from modelscope.utils.constant import DEFAULT_DATASET_NAMESPACE
def set_flatten_value(values: Union[str, List[str]]):
@@ -62,13 +63,13 @@ class DatasetArgs:
})
train_dataset_namespace: str = field(
default=None,
default=DEFAULT_DATASET_NAMESPACE,
metadata={
'help': 'The dataset namespace used for training',
})
val_dataset_namespace: str = field(
default=None,
default=DEFAULT_DATASET_NAMESPACE,
metadata={
'help': 'The dataset namespace used for evaluating',
})
@@ -450,7 +451,7 @@ class TrainingArgs(DatasetArgs, TrainArgs, ModelArgs):
_unknown[unknown[i].replace('-', '')] = parse_value(unknown[i + 1])
args_dict = vars(args)
self.manual_args += parser.manual_args
self._unknown_args.update(_unknown)
for key, value in deepcopy(args_dict).items():
if key is not None and hasattr(self, key):
setattr(self, key, value)