Open hikettei opened 1 year ago
今取り組んでることとか課題とかのTODO List
build
1. AbstractNodeネットワークの構築
2. ネットワークのコンパイル
[x] :cache-when-compiled=nilのdefine-implは、build時に(compile nil body)を実行する原因となるのでWarningを出す
:cache-when-compiled=nil
apply-ranked-op
[x] forwardメソッドの形状検査
[x] Memory Pool
[ ] retain-gradオプションを追加する by setting tensor-grad-n=1
[x] 逆伝播の時 toplevelにあるMoveをInlining + In-place mutationの最適化は、optimizerの副作用の行方がわからなくなるのでやらない。
[ ] call-with-view: 大規模な行列に対するlparallel並列化の性能の評価とそれらを有効にする
[ ] データ型(Dtype)関連
!sum
(log (1+ x))
(EXP X) -> A, B
RAdam
https://arxiv.org/pdf/1810.07951.pdf
https://arxiv.org/abs/1809.00738
https://github.com/JuliaDiff/Diffractor.jl
https://arxiv.org/pdf/2002.03794.pdf
https://tvm.apache.org/docs/arch/index.html
https://web.ist.utl.pt/nuno.lopes/pubs/torchy-cc23-extended.pdf
https://towardsdatascience.com/how-pytorch-2-0-accelerates-deep-learning-with-operator-fusion-and-cpu-gpu-code-generation-35132a85bd26
https://arxiv.org/pdf/2307.12187.pdf
https://arxiv.org/pdf/1611.06945.pdf
cl-waffe2.tensor
cl-waffe2.core
cl-waffe2.networks
cl-waffe2.polyhedral
今取り組んでることとか課題とかのTODO List
Environments / Backends
build
receiving multiple inputs (LazyCons)cl-waffe2/base-impl
cl-waffe2/vm.nodes
1. AbstractNodeネットワークの構築
2. ネットワークのコンパイル
この二つに分けて最適化。cl-waffe2/vm.generic-tensor
[x]
:cache-when-compiled=nil
のdefine-implは、build時に(compile nil body)を実行する原因となるのでWarningを出すapply-ranked-op
的な[x] forwardメソッドの形状検査
[x] Memory Pool
[ ] retain-gradオプションを追加する by setting tensor-grad-n=1
[x] 逆伝播の時 toplevelにあるMoveをInlining + In-place mutationの最適化は、optimizerの副作用の行方がわからなくなるのでやらない。
[ ] call-with-view: 大規模な行列に対するlparallel並列化の性能の評価とそれらを有効にする
[ ] データ型(Dtype)関連
cl-waffe2/vm
!sum
はBroadcastingとAddNodeベースだが、総和専用のKernelを書いた方が速度精度高い。(log (1+ x))
の微分のFusionOPは数値的安定性からMUSTである。これからFusionOPで実装する(EXP X) -> A, B
これを検出して最適化できる箇所がたくさんある。ソートをTensorじゃなくてAbstractNodeのIDベースでやればできそうcl-waffe2
その他
RAdam
Reading List📕
Lens
https://arxiv.org/pdf/1810.07951.pdf
https://arxiv.org/abs/1809.00738
https://github.com/JuliaDiff/Diffractor.jl
Existing approaches of Deep Learning Compilers
https://arxiv.org/pdf/2002.03794.pdf
https://tvm.apache.org/docs/arch/index.html
https://web.ist.utl.pt/nuno.lopes/pubs/torchy-cc23-extended.pdf
https://towardsdatascience.com/how-pytorch-2-0-accelerates-deep-learning-with-operator-fusion-and-cpu-gpu-code-generation-35132a85bd26
Etc.
https://arxiv.org/pdf/2307.12187.pdf
https://arxiv.org/pdf/1611.06945.pdf