2015年12月18日金曜日

DIANNE: Distributed Artificial Neural Networks for the Internet of Things


http://dl.acm.org/citation.cfm?id=2836130

DLフレームワーク。パイプラインのステージを別のデバイスに実装することができる。OSGi をベースにしたAIOLOS上に実装ということなので、Javaらしい。JNIでCUDAを呼び出す。ラズパイやエジソンで動かしている。

レイテンシ重視なのでミニバッチしないらしい。ミニバッチしなくて、GPGPUの性能が出るのかと思うけど、とりあえずでているようだ。不思議。

2015年7月17日金曜日

Optimizing Shuffle Performance in Spark

Optimizing Shuffle Performance in Spark

- [http://www.cs.berkeley.edu/~kubitron/courses/cs262a-F13/projects/reports/project16_report.pdf]

- Spark では相対的にMapとReduceが高速化されるので、shuffleがボトルネックになる。
- shffuleの対策として、mapの出力を圧縮する方法があり、他のDBでうまく言っているカラム単位で圧縮するのを試してみたがうまく行かなかった。
- ファイルの数がMapper 数 x Reducer数になっているのが問題と考え、同じコア上で動作するMapperの出力は同じファイルにするようにしたら速くなった。

論文ではなくてレポート?


2015年7月14日火曜日

圧縮センシングの数理

圧縮センシングの数理

  • 田中 利幸 - [https://www.jstage.jst.go.jp/article/essfr/4/1/4_1_39/_pdf]
    解説論文。圧縮センシングとは、スパースなベクタを限定的な観測を繰り返した結果から類推する という問題。1-ノルムを用いることで線形計画問題に持ち込む?凸なので簡単?

2015年6月29日月曜日

Project Adam: Building an Efficient and Scalable Deep Learning Training System

Project Adam: Building an Efficient and Scalable Deep Learning Training System

  • Trishul Chilimbi Yutaka Suzue Johnson Apacible Karthik Kalyanaraman
  • Microsoft Research
  • Adam というのがシステム名
  • ImageNet で評価。
  • より少ないマシンで効率よく学習しているという主張。
  • 2 bilion のモデル
  • 複数のモデルをパラメータストアで同期
  • 個々のモデルそのものも複数のノードに分散
  • データサーバ - 10-100TBものデータを更に変形して食わせる。変形のために専用のサーバ群を用意する。
  • パラメータサーバとの通信
    • convolution についてはパラメータ数が小さいので普通にやる
    • full connection の部分は、データ量が多くなるので、activation and error gradient vectorを送って、計算はparameter Server 側で行う。これでデータ通信量が MN から k (M+N) になる。
    • parameter serverの実装
    • shard table を使った分散実装。shard size1MB
    • delayed persistence - loss を許容している。

2015年3月12日木曜日

DaDianNao: A Machine-Learning Supercomputer

DaDianNao: A Machine-Learning Supercomputer

Yunji Chen1, Tao Luo1,3, Shaoli Liu1, Shijin Zhang1, Liqiang He2,4, Jia Wang1, Ling Li1, Tianshi Chen1, Zhiwei Xu1, Ninghui Sun1, Olivier Temam2

  • Micro-47 のベストペーパー
  • そのうち誰かがやるだろうと思われていた、DNNをASICで作る、という話。
  • ただし、今のところまだ実物を作っているわけではない。28nm,0.9Vで作った場合をシミュレートしている。606MHzで動作。
  • 基本的には、CNNはメモリフットプリントが小さいのでオンチップメモリに乗る。外部通信は少ない。のでASICで作れば速くなるだろうから作った、ということ。
  • GPUよりも450.65倍速く、消費電力は 150分の1。
  • 分類フェーズだけでなく、学習フェーズもサポート。IBMのチップは前者だけ。