2019-01-01から1年間の記事一覧

ALBert (A Lite BERT) 論文の序文

arxiv.org Abstruct 自然言語表現の事前トレーニング時にモデルを大きくすることは、多くの場合精度を向上させます。 ただし、GPU/TPUのメモリ制限や予期せぬ精度劣化によってモデルを大きくすることが難しくなっていきています。 この問題に対処するために…

Pandasを並列動作させて高速化(Modin)

Modin pythonでTableデータを扱おうと思うとPandasを利用することになると思いますが,Pandasでの操作を遅く感じることが多々あります. どうすれば簡単に早くなるか調べていたところ,Modinというモジュールに出会いました. 自分の備忘録としてModinについ…

XGBoostでマルチGPUを利用する

XGBoostでもDeepLearning FWのようにマルチGPUを利用することができます。 分散のための下回りはdaskが担当し、daskを利用するためにxgboostのdask用wrapper(dask-xgboost)を利用します。 利用方法としてはPandas DataFrameをdask形式に変換して、dask-xgboo…

LightGBM: A Highly Efficient Gradient Boosting Decision Tree

論文を自分なりにまとめる。(未完、ほぼ日本語訳かも) papers.nips.cc Abstruct Gradient Boosting Decision Tree(GBDT)は機械学習で人気のアルゴリズムであり、 XGBoost, pGBRTなどの実装があるが、まだまだ演算効率やスケーラビリティは良くない。 分岐…

Efficient Neural Architecture Search via Parameter Sharing (ENAS)

はじめに 最近DeepLearningのモデル構築もDeepLearningで行う手法(AutoML)が流行っています。 AutoMLの一つであるNAS(Neural Architechture Search)は、2016年にGoogleから発表されました。強化学習を利用してアーキテクチャ、ハイパラメータの最適化…

GoでDeepLearning

GoでMnistを使ってDeep Learning 昔(2018年10月27日)Qiitaに書いた記事の転載です 現在、Deep Leanig向けのFWとしてはTensorflow、Pytorchなどが有名です. これらのFWのインターフェースはPython、内部実装はC++になっていて,ユーザーは使いやすくかつ高速…

leapmindのblue-oil メモ2

dlk graphのグラフレベルの最適化で行っていることをリストアップしてみた. 中途半端だけど、、、追記するかも pass_remove_identities identity node(何もしないnode)を削除する. pass_transpose すべてのnodeのshapeをNHWCに変更 pass_propagate_quant…

leapmindのblue-oil メモ1(TFグラフ変換)

何者か知らなかったのでちょっとだけ覗いてみた。 github.com blueoilにはlmnetとdlkというものがあった。 lmnet lmnetはTensorflowによる学習や推論をサポートしている。 分散学習するかどうかもconfig_fileに設定できてhorovodを利用している。 dlk Tensor…

glow(pytorch) メモ

graphレベルの最適化処理まわりの情報 ドキュメント ソース void glow::optimize(Function *F, const CompilationOptions &opts) { // Optimize may be called after backend specific transformations and some // nodes may have become unused. It is a g…

horovodの機能追加(1)

horovodの機能追加 最近のhorovodの機能追加について fp16の対応 fp16への変換はtf.castを利用.またOpenMPIはfp16対応していないのでhorovod内でfp16用のMPI custum opを作成 eager mode対応 tensorflowのeager modeで動作します refactoring codeのリファ…

pytorch のgo binding (1)

pytorchはc++のインターフェースがあるので,それを利用する形です. 今の所はmnistで簡単な演算だけ動きます. github.com mnist sample package main import "github.com/kuroko1t/gotorch/go" import "fmt" func main() { model := torch.ModelInit() fc1…

Mesh Tensorflowについて勉強会で発表してきた

勉強会 Tensorflow内部構造勉強会というTensorflowに関する勉強会を会社の人達と開催しました. 第1回 TensorFlow内部構造 勉強会 - connpass 自分は「Mesh Tensorflow」に関して発表しました.他の人達はTensorflowの最適化や、tensorflowのapiを作り方、bf…

DeepLearningで使われるallreduceのアルゴリズム 試して理解

先日書いた記事で書いたallreduceを簡単に実装してみて,理解できているか試した. kuroko1t.hatenablog.com コードはここ. (2D-Torus all-reduceとdouble binary treesはまだ..) hierachical 最初のグループ内のReduce用にMPI_Comm_splitを利用してcom…

DeepLearningで使われるallreduceのアルゴリズム

DeepLearningで利用されているallreduceのアルゴリズム allreduceのアルゴリズムについて調べたかったので, 自分の観測できた範囲でまとめて行こうと思います. その道のプロではないので,コメントなど頂けると幸いです. ring-all-reduce baiduが提唱した…