260 Commits

Author SHA1 Message Date
wenmeng.zwm
c8dcdd93da broadcase metric values across all workers for distribution
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10980488
2022-12-08 10:22:47 +08:00
wenmeng.zwm
5a3d58ad49 Merge branch 'master-gitlab' into merge_master_internal_1207 2022-12-07 19:59:07 +08:00
shiyi.zxh
c3a494e46d [to #42322933]
enable finetune of ofa-mmspeech 
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10981972
2022-12-06 20:58:49 +08:00
baiguan.yt
ce0480f7ed update image-portait-enhancement trainer
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10717891
2022-12-05 11:43:52 +08:00
hemu.zp
941dbe75cf [to #42322933] Add GPT-3 tensor parallel finetuning
Add GPT-3 tensor parallel finetuning, adjust some distributed codes to make tensor and data parallel compatible.
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10949507
2022-12-05 10:01:32 +08:00
hemu.zp
346da3d489 [to #42322933] Add mplug pretrained model
Add pre-trained models for mplug finetuning.
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10963691
2022-12-04 15:27:50 +08:00
chenxujun
99507a5cc6 Fix some words 2022-12-03 14:39:55 +08:00
ly119399
2f17daa23f [to #42322933] reduce the GPU usage of dialog trianer
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10955485
2022-12-02 17:32:26 +08:00
wenmeng.zwm
c9a6b887a2 add tensorboard hook for visualization
1. add tensorboard hook to default config
2. add image visualization support to tensorboard hook and trainer
3. move evaluation logic out of single_gpu_test and multi_gpu_test to make prediction results available for further processing such as result saving and visualization.

visualization results are as follows:
![image.png](https://cn-hangzhou.oss-cdn.aliyun-inc.com/git/force/uploads/comment/29212/38448470860386707/image.png)
![image.png](https://cn-hangzhou.oss-cdn.aliyun-inc.com/git/force/uploads/comment/29212/38437794200606734/image.png)
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10894813
2022-12-02 15:13:24 +08:00
ziyuan.tw
31316b8d29 add nextvit-small_image-classification_Dailylife-labels model
支持1130新上线模.
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10886253
2022-12-02 14:46:49 +08:00
ly119399
5ae1e08db6 [to #42322933] fix bug of tableQA on gpu
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10943053
2022-12-02 10:38:30 +08:00
suluyan.sly
1394019102 [to #42322933] plug finetune
plug finetune :已在du reader- robust数据集上回归至最佳结果
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10916382
2022-12-01 19:31:15 +08:00
james.wjg
9b3a92e65d cv/language_guided_video_summarization增加finetune
cv/language_guided_video_summarization增加finetune
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10790262
2022-12-01 19:16:56 +08:00
yuze.zyz
bb5512d1ab [to #42322933] Refactor NLP and fix some user feedbacks
1. Abstract keys of dicts needed by nlp metric classes into the init method
2. Add Preprocessor.save_pretrained to save preprocessor information
3. Abstract the config saving function, which can lead to normally saving in the direct call of from_pretrained, and the modification of cfg one by one when training.
4. Remove SbertTokenizer and VecoTokenizer, use transformers' tokenizers instead
5. Use model/preprocessor's from_pretrained in all nlp pipeline classes.
6. Add model_kwargs and preprocessor_kwargs in all nlp pipeline classes
7. Add base classes for fill-mask and text-classification preprocessor, as a demo for later changes
8. Fix user feedback: Re-train the model in continue training scenario
9. Fix user feedback: Too many checkpoint saved
10. Simplify the nlp-trainer
11. Fix user feedback: Split the default trainer's __init__ method, which makes user easier to override
12. Add safe_get to Config class

----------------------------  Another refactor from version 36 -------------------------

13. Name all nlp transformers' preprocessors from TaskNamePreprocessor to TaskNameTransformersPreprocessor, for example:
      TextClassificationPreprocessor -> TextClassificationTransformersPreprocessor
14. Add a base class per task for all nlp tasks' preprocessors which has at least two sub-preprocessors
15. Add output classes of nlp models
16. Refactor the logic for token-classification
17. Fix bug: checkpoint_hook does not support pytorch_model.pt
18. Fix bug: Pipeline name does not match with task name, so inference will not succeed after training
       NOTE: This is just a stop bleeding solution, the root cause is the uncertainty of the relationship between models and pipelines
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10723513

    * add save_pretrained to preprocessor

* save preprocessor config in hook

* refactor label-id mapping fetching logic

* test ok on sentence-similarity

* run on finetuning

* fix bug

* pre-commit passed

* fix bug

* Merge branch 'master' into feat/refactor_config

# Conflicts:
#	modelscope/preprocessors/nlp/nlp_base.py

* add params to init

* 1. support max ckpt num 2. support ignoring others but bin file in continue training 3. add arguments to some nlp metrics

* Split trainer init impls to overridable methods

* remove some obsolete tokenizers

* unfinished

* support input params in pipeline

* fix bugs

* fix ut bug

* fix bug

* fix ut bug

* fix ut bug

* fix ut bug

* add base class for some preprocessors

* Merge commit '379867739548f394d0fa349ba07afe04adf4c8b6' into feat/refactor_config

* compatible with old code

* fix ut bug

* fix ut bugs

* fix bug

* add some comments

* fix ut bug

* add a requirement

* fix pre-commit

* Merge commit '0451b3d3cb2bebfef92ec2c227b2a3dd8d01dc6a' into feat/refactor_config

* fixbug

* Support function type in registry

* fix ut bug

* fix bug

* Merge commit '5f719e542b963f0d35457e5359df879a5eb80b82' into feat/refactor_config

# Conflicts:
#	modelscope/pipelines/nlp/multilingual_word_segmentation_pipeline.py
#	modelscope/pipelines/nlp/named_entity_recognition_pipeline.py
#	modelscope/pipelines/nlp/word_segmentation_pipeline.py
#	modelscope/utils/hub.py

* remove obsolete file

* rename init args

* rename params

* fix merge bug

* add default preprocessor config for ner-model

* move a method a util file

* remove unused config

* Fix a bug in pbar

* bestckptsaver:change default ckpt numbers to 1

* 1. Add assert to max_epoch 2. split init_dist and get_device 3. change cmp func name

* Fix bug

* fix bug

* fix bug

* unfinished refactoring

* unfinished

* uw

* uw

* uw

* uw

* Merge branch 'feat/refactor_config' into feat/refactor_trainer

# Conflicts:
#	modelscope/preprocessors/nlp/document_segmentation_preprocessor.py
#	modelscope/preprocessors/nlp/faq_question_answering_preprocessor.py
#	modelscope/preprocessors/nlp/relation_extraction_preprocessor.py
#	modelscope/preprocessors/nlp/text_generation_preprocessor.py

* uw

* uw

* unify nlp task outputs

* uw

* uw

* uw

* uw

* change the order of text cls pipeline

* refactor t5

* refactor tg task preprocessor

* fix

* unfinished

* temp

* refactor code

* unfinished

* unfinished

* unfinished

* unfinished

* uw

* Merge branch 'feat/refactor_config' into feat/refactor_trainer

* smoke test pass

* ut testing

* pre-commit passed

* Merge branch 'master' into feat/refactor_config

# Conflicts:
#	modelscope/models/nlp/bert/document_segmentation.py
#	modelscope/pipelines/nlp/__init__.py
#	modelscope/pipelines/nlp/document_segmentation_pipeline.py

* merge master

* unifnished

* Merge branch 'feat/fix_bug_pipeline_name' into feat/refactor_config

* fix bug

* fix ut bug

* support ner batch inference

* fix ut bug

* fix bug

* support batch inference on three nlp tasks

* unfinished

* fix bug

* fix bug

* Merge branch 'master' into feat/refactor_config

# Conflicts:
#	modelscope/models/base/base_model.py
#	modelscope/pipelines/nlp/conversational_text_to_sql_pipeline.py
#	modelscope/pipelines/nlp/dialog_intent_prediction_pipeline.py
#	modelscope/pipelines/nlp/dialog_modeling_pipeline.py
#	modelscope/pipelines/nlp/dialog_state_tracking_pipeline.py
#	modelscope/pipelines/nlp/document_segmentation_pipeline.py
#	modelscope/pipelines/nlp/faq_question_answering_pipeline.py
#	modelscope/pipelines/nlp/feature_extraction_pipeline.py
#	modelscope/pipelines/nlp/fill_mask_pipeline.py
#	modelscope/pipelines/nlp/information_extraction_pipeline.py
#	modelscope/pipelines/nlp/named_entity_recognition_pipeline.py
#	modelscope/pipelines/nlp/sentence_embedding_pipeline.py
#	modelscope/pipelines/nlp/summarization_pipeline.py
#	modelscope/pipelines/nlp/table_question_answering_pipeline.py
#	modelscope/pipelines/nlp/text2text_generation_pipeline.py
#	modelscope/pipelines/nlp/text_classification_pipeline.py
#	modelscope/pipelines/nlp/text_error_correction_pipeline.py
#	modelscope/pipelines/nlp/text_generation_pipeline.py
#	modelscope/pipelines/nlp/text_ranking_pipeline.py
#	modelscope/pipelines/nlp/token_classification_pipeline.py
#	modelscope/pipelines/nlp/word_segmentation_pipeline.py
#	modelscope/pipelines/nlp/zero_shot_classification_pipeline.py
#	modelscope/trainers/nlp_trainer.py

* pre-commit passed

* fix bug

* Merge branch 'master' into feat/refactor_config

# Conflicts:
#	modelscope/preprocessors/__init__.py

* fix bug

* fix bug

* fix bug

* fix bug

* fix bug

* fixbug

* pre-commit passed

* fix bug

* fixbug

* fix bug

* fix bug

* fix bug

* fix bug

* self review done

* fixbug

* fix bug

* fix bug

* fix bugs

* remove sub-token offset mapping

* fix name bug

* add some tests

* 1. support batch inference of text-generation,text2text-generation,token-classification,text-classification 2. add corresponding UTs

* add old logic back

* tmp save

* add tokenize by words logic back

* move outputs file back

* revert veco token-classification back

* fix typo

* Fix description

* Merge commit '4dd99b8f6e4e7aefe047c68a1bedd95d3ec596d6' into feat/refactor_config

* Merge branch 'master' into feat/refactor_config

# Conflicts:
#	modelscope/pipelines/builder.py
2022-11-30 23:52:17 +08:00
yuze.zyz
fde8644883 Fix a bug that the logging file cannot save the correct lr, which is zero instead
This bug is a result of float rounding when saving key-value pairs to log files, which is reported by a user.
Now the solution is to remove the rounding operation of all values, instead of only the lr value, which I think may be too specific.

Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10684029
2022-11-30 21:59:02 +08:00
xiangpeng.wxp
2536f9ec9b [to #42322933] add en-zh en-es es-en base translation models
* add en-zh en-es es-en base translation models
 * add en-zh en-es es-en base translation models
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10895782

    * 新增英中/英西/西英-base机器翻译模型

* 新增英中/英西/西英-base机器翻译模型
2022-11-29 13:44:06 +08:00
mulin.lyh
90a5efa1c2 [to #46106568]feat: parallel run ci case 2022-11-17 08:51:23 +08:00
xiangpeng.wxp
d6ea41fb70 [to #42322933] solve memory error for translation finetune
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10713843

    * [to #42322933] solve memory error for translation finetune
2022-11-14 20:31:29 +08:00
yingda.chen
4e4faa9a30 specifiy file encoding when open text for read
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10708723
2022-11-14 14:16:08 +08:00
huizheng.hz
2fe5203571 reduce image denoising test time
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10712244
2022-11-14 12:30:36 +08:00
shuying.shu
085acc64c8 fix bug and change unittest mode
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10680402
2022-11-10 13:09:56 +08:00
hemu.zp
0f0fdcae6f [to #42322933] Fix bug for mplug evaluation
修复了 mplug evaluation 使用了错误的 metrics 的问题,将部分中文处理代码独立到 utils 中,为 mplug 添加 trainer
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10612875
2022-11-08 17:58:03 +08:00
翎航
fd4276ad1a add five finetune task & merge master 2022-11-08 10:57:22 +08:00
翎航
3534970709 add five finetune task & merge master 2022-11-08 10:39:59 +08:00
翎航
a02b2409d8 add five finetune task & merge master 2022-11-08 10:39:45 +08:00
翎航
eb82ba9c6f add finetune & merge master 2022-11-07 20:30:18 +08:00
翎航
0418786cbe add five task finetune 2022-11-07 20:23:17 +08:00
liugao.lg
40b6770956 [to #42322933]fix ocr prepreocess & conflict
修复ocr预处理逻辑不一致问题
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10581697
2022-11-01 10:22:11 +08:00
zhangzhicheng.zzc
0d3b7b0df2 [to #42322933]fix bugs relate to token cls
1.修复token classification preprocessor finetune结果错误问题
2.修复word segmentation output 无用属性
3. 修复nlp preprocessor传use_fast错误
4. 修复torch model exporter bug
5. 修复文档撰写过程中发现trainer相关bug
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10573269
2022-10-31 20:52:27 +08:00
翎航
11cebb8d64 fix ocr prepreocess & conflict 2022-10-31 17:03:18 +08:00
翎航
3b21ff10ec fix ocr prepreocess 2022-10-31 16:57:49 +08:00
yichang.zyc
e2d35fbb14 [to #42322933]clip支持finetune
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10572842
2022-10-30 21:51:11 +08:00
Yingda Chen
9f7b8b86a3 [to #42322933] disble 2dkeypoints training since face_2d_keypoints_dataset is set to be private 2022-10-30 13:59:12 +08:00
yuze.zyz
4b7e8e89aa [to #42322933] Fix some bugs when downgrade the version of some dependencies
1. Fix bug in model exporting
2. Skip some long trainings in test level 2
3. Refine some comments
4. Fix a bug that mode is not correct when saving checkpoints
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10564716
2022-10-28 21:44:33 +08:00
Yingda Chen
46cfa177aa [to #42322933]skip timeconsuming test 2022-10-28 09:34:29 +08:00
Yingda Chen
374fd3090e [to #42322933]skip referring video tests since model is private 2022-10-27 20:23:51 +08:00
yuze.zyz
212cf53318 [to #42322933] Fix some bugs
1. Add F1 score to sequence classification metric
2. Fix a bug that the evaluate method in trainer does not support a pure pytorch_model.bin
3. Fix a bug in evaluation of veco trainer 
4. Add some tips if lr_scheduler in the trainer needs a higher version torch
5. Add some comments
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10532230
2022-10-27 19:49:21 +08:00
shuying.shu
ddcb57440d [to #42322933]add fine-tune code for referring video object segmentation
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10539423
2022-10-27 19:43:54 +08:00
eniac.xcw
8886c3c1ae [to #42322933]fine tune team on caltech-101
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10525413
2022-10-27 12:00:14 +08:00
yingda.chen
de708dd518 add basic remap column wrapper
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10539917

    * add basic remap column wrapper
2022-10-27 10:12:05 +08:00
hemu.zp
69104c0f8a [to #42322933] Refactor text generation model outputs and fix some bugs
1. 将 single_gpu_test 与 multi_gpu_test 中的 model.forward 部分分离为 EpochBasedTrainer 中的 evaluation_step,为部分 evaluation 阶段不调用 forward 的模型提供更好的灵活性
2. 重构代码将文本生成模型 Model 层的输入输出统一为 Tensor,Tensor 到 str 的 decode 过程移动到 pipeline 中完成
3. pipeline 后处理添加对中文和中文标点与英文混杂时空格的处理,使 decode 后中英文混杂输出正确
4. 添加 TextGenerationTrainer 修复了部分模型 evaluation 过程 forward 输出单个 token 计算 metrics 的问题
5. 修复了 rouge 无法接收空字符串的问题
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10473768
2022-10-27 09:52:05 +08:00
liugao.lg
0605376135 [to #42322933]add ofa finetune
新增ofa的finetune能力
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10540701
2022-10-27 09:29:06 +08:00
翎航
2299f8fa65 fix conflict 2022-10-26 22:41:13 +08:00
翎航
022fa4948a fix ocr-finetune acc 2022-10-26 19:44:54 +08:00
翎航
90d47832c0 add ocr-finetune ned 2022-10-26 11:45:50 +08:00
翎航
c077dea072 add ocr-finetune 2022-10-26 10:52:10 +08:00
zhangyanzhao.zyz
781fe49d63 [to #42322933]修正finetune text ranking bugs
之前的finetune代码当dataset最后长度不足制定batch size时会出错,现已修正
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10524066
2022-10-26 09:44:25 +08:00
yuze.zyz
c2da44b371 [to #42322933] remove dev model inference and fix some bugs
1. Change structbert dev revision to master revision
2. Fix bug:  Sample code failed because the updating of model configuration
3. Fix bug: Continue training regression failed
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10519992
2022-10-25 22:38:49 +08:00
yichang.zyc
6ddafb3218 [to #42322933]caption finetune done, add belu metric
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10318299
2022-10-25 12:55:41 +08:00
yuze.zyz
605cd7f44a [to #42322933] NLP 1030 Refactor
Features:
1. Refactor the directory structure of nlp models. All model files are placed into either the model folder or the task_model folder
2. Refactor all the comments to google style
3. Add detail comments to important tasks and nlp models, to list the description of the model, and its preprocessor&trainer
4. Model Exporting now supports a direct all to TorchModelExporter(no need to derive from it)
5. Refactor model save_pretrained method to support direct running(independent from trainer)
6. Remove the judgement of Model in the pipeline base class, to support outer register models running in our pipelines
7. Nlp trainer now has a NLPTrainingArguments class , user can pass arguments into the dataclass, and use it as a normal cfg_modify_fn, to simplify the operation of modify cfg.
8. Merge the BACKBONES and the MODELS, so user can get a backbone with the Model.from_pretrained call
9. Model.from_pretrained now support a task argument, so user can use a backbone and load it with a specific task class.
10. Support Preprocessor.from_pretrained method
11. Add standard return classes to important nlp tasks, so some of the pipelines and the models are independent now, the return values of the models will always be tensors, and the pipelines will take care of the conversion to numpy and the following stuffs.
12. Split the file of the nlp preprocessors, to make the dir structure more clear.

Bugs Fixing:
1. Fix a bug that lr_scheduler can be called earlier than the optimizer's step
2. Fix a bug that the direct call of Pipelines (not from pipeline(xxx)) throws error
3. Fix a bug that the trainer will not call the correct TaskDataset class
4. Fix a bug that the internal loading of dataset will throws error in the trainer class
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/10490585
2022-10-25 12:26:25 +08:00