Skip to content

Merge from master into ort_training#3486

Merged
codemzs merged 50 commits intoort_trainingfrom
sedymche/merge_master_ort_training
Apr 13, 2020
Merged

Merge from master into ort_training#3486
codemzs merged 50 commits intoort_trainingfrom
sedymche/merge_master_ort_training

Conversation

@codemzs
Copy link
Member

@codemzs codemzs commented Apr 10, 2020

End-to-end test passed:
https://aiinfra.visualstudio.com/Lotus/_build/results?buildId=122628&view=results

Performance test as expected:
FP16, seq=128, bs=66, throughput=185.885
FP16, seq=512, bs=10, throughput=35.7223
FP32, seq=128, bs=33, throughput=42.1087
FP32, seq=512, bs=5, throughput=9.19644

Convergence test:
image

tianleiwu and others added 30 commits March 31, 2020 13:43
* Add benchmark script and notebook for GPT2
* Update Reshape fusion for GPT2 model
* Add opt_level option for bert_model_optimization to disable onnxruntime by setting --opt_level 0
* Fix keras optimization
Updated the tags in the table to reflect the new images for Release v1.2
Advance ONNX commit to pickup the latest ArgMax, ArgMin,
  ReduceMax/ReduceMin, MaxPool
  Declare new versions for CPU/CUDA.
  Implement infrastructure support for int8/uint8.
  Adust GatherOp test for a new error.
  Adjust Scan9.BadShape test.
  Add exclusions for index out of bounds checks.
  Rework result verification for SVDTransformer.
1. Fix a bug in FunctionImpl::FunctionImpl. It set wrong name for the new attribute.
2. Set error code to NOT_IMPLEMENTED if a function contains a not implemented op.
* Rework SVMClassifier
 - use GEMM for initial scoring
 - minimize data allocations and copies
 - parallelize the second half of the scoring for larger batches
1. Add build options for enabling AVX/AVX2/AVX512
2. Update eigen to a newer version, because the current one doesn't work with VC and AVX512.
* Copy image tests from ADO

* wip

* Port tests to googletest

* Add FNS-Candy license

* Add missing collaterals

* Remove brand images

* Fix typos

* Use PrepareModelSessionBinding in MnistImageTest

* Fix typos
Allow zero in split op (A change in onnx 1.7 without bumping up the op version)
* Enable use_nearest2x_optimization for opset 11 of Resize when possible
… when including the header from multiple places.
Use the existing 2D convolution code in MlasConv to also handle 1D convolutions.
Update onnx submodule to 1.7.0 release candidate.  This isn't a release tag,  but it will be released soon, in 1-2 weeks.
An ExternOp's input needs buffers, so we cannot add compute_inline
schedule on it even if it's a scalar tensor. Instead, we need to
schedule it as compute_root.
To bypass a MSVC bug. Without this change, people can't use VS2017 to build onnxruntime in Release or RelWithDebInfo mode.
Implement Max/Min for opset 12.
  Add CLip(12) CPU impl.
  Implement Clip(12) for CPU and CUDA add tests
Add opt_level option for graph optimization level in bert perf test.
Support BERT models that output each layer, where SkipLayerNormalization has more than 4 children.
Check weight and bias are 1D for layer norm fusion.
Add a dummy class Gpt2OnnxModel for further changes of GPT2 model.
Re-enable some tests that was recently fixed.
* Add CPU implementation for FastGelu operator
* Update optimization script  to fuse Gelu or FastGelu according to Elf or Tanh is used in graph.
* Merge BiasGelu and FastGelu into one class
* Enable FastGelu Fusion optimizer for CPU Execution Provider.
The commit 06fc950 which refactored cpu Pool class broke ACL EP build.
Also worked on the commit a4fe60c as it also affects the new class.
Move the declaration of the new MaxPoolV8 cpu class in the header file. Implement MaxPool 8-11 in ACL EP.

Co-authored-by: Andrei-Alexandru <andrei-alexandru.avram@nxp.com>
@kit1980 kit1980 force-pushed the sedymche/merge_master_ort_training branch from 5b6e6a4 to 4b5f66a Compare April 13, 2020 00:42
@kit1980 kit1980 changed the title WIP: Sedymche/merge master ort training Merge master into ort_training Apr 13, 2020
@kit1980 kit1980 changed the title Merge master into ort_training Merge from master into ort_training Apr 13, 2020
@kit1980 kit1980 marked this pull request as ready for review April 13, 2020 09:20
@kit1980 kit1980 requested a review from a team as a code owner April 13, 2020 09:20
@kit1980 kit1980 added the training issues related to ONNX Runtime training; typically submitted using template label Apr 13, 2020
@codemzs codemzs merged commit 5d99f17 into ort_training Apr 13, 2020
@codemzs codemzs deleted the sedymche/merge_master_ort_training branch April 13, 2020 17:55
@kit1980 kit1980 requested a review from xzhu1900 April 13, 2020 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

training issues related to ONNX Runtime training; typically submitted using template

Projects

None yet

Development

Successfully merging this pull request may close these issues.