Enviar pesquisa
Carregar
もくもくしたこと
•
0 gostou
•
8,301 visualizações
K
k_oi
Seguir
2016/02/27のJubatusもくもく会 #2でもくもくした内容の報告資料
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 15
Baixar agora
Baixar para ler offline
Recomendados
gRPCをちょこっと調べた話
gRPCをちょこっと調べた話
Shuzo Kashihara
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
terurou
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
78tch
78tch
78tch
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
civicpg
LKFT作ってみた
LKFT作ってみた
sirrow
GPT
GPT
norimatsu5
tsudaりについて
tsudaりについて
Yoshikazu GOTO
Recomendados
gRPCをちょこっと調べた話
gRPCをちょこっと調べた話
Shuzo Kashihara
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
terurou
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
78tch
78tch
78tch
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
civicpg
LKFT作ってみた
LKFT作ってみた
sirrow
GPT
GPT
norimatsu5
tsudaりについて
tsudaりについて
Yoshikazu GOTO
先取り Go1.5
先取り Go1.5
Preferred Networks
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
5社のGTFSをマージして、PostgreSQLにインポートしてみた
5社のGTFSをマージして、PostgreSQLにインポートしてみた
Masaki Ito
Log Analysis System And its designs in LINE Corp. 2014 early
Log Analysis System And its designs in LINE Corp. 2014 early
SATOSHI TAGOMORI
HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折
Hironov OKUYAMA
Pynyumon03 LT
Pynyumon03 LT
drillan
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Jxck Jxck
"アレ"からJubatusを使う
"アレ"からJubatusを使う
JubatusOfficial
Jubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみた
JubatusOfficial
もくもく成果 IMAMASU
もくもく成果 IMAMASU
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
新機能紹介 1.0.6
新機能紹介 1.0.6
JubatusOfficial
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
Python 特徴抽出プラグイン
Python 特徴抽出プラグイン
JubatusOfficial
Jubakitの解説
Jubakitの解説
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
Jubatus解説本の紹介
Jubatus解説本の紹介
JubatusOfficial
銀座のママ
銀座のママ
JubatusOfficial
小町の溜息
小町の溜息
JubatusOfficial
Mais conteúdo relacionado
Mais procurados
先取り Go1.5
先取り Go1.5
Preferred Networks
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
5社のGTFSをマージして、PostgreSQLにインポートしてみた
5社のGTFSをマージして、PostgreSQLにインポートしてみた
Masaki Ito
Log Analysis System And its designs in LINE Corp. 2014 early
Log Analysis System And its designs in LINE Corp. 2014 early
SATOSHI TAGOMORI
HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折
Hironov OKUYAMA
Pynyumon03 LT
Pynyumon03 LT
drillan
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Jxck Jxck
Mais procurados
(7)
先取り Go1.5
先取り Go1.5
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
5社のGTFSをマージして、PostgreSQLにインポートしてみた
5社のGTFSをマージして、PostgreSQLにインポートしてみた
Log Analysis System And its designs in LINE Corp. 2014 early
Log Analysis System And its designs in LINE Corp. 2014 early
HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折
Pynyumon03 LT
Pynyumon03 LT
HTTP2 RFC 発行記念祝賀会
HTTP2 RFC 発行記念祝賀会
Destaque
"アレ"からJubatusを使う
"アレ"からJubatusを使う
JubatusOfficial
Jubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみた
JubatusOfficial
もくもく成果 IMAMASU
もくもく成果 IMAMASU
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
JubatusOfficial
新機能紹介 1.0.6
新機能紹介 1.0.6
JubatusOfficial
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
Python 特徴抽出プラグイン
Python 特徴抽出プラグイン
JubatusOfficial
Jubakitの解説
Jubakitの解説
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
Jubatus解説本の紹介
Jubatus解説本の紹介
JubatusOfficial
銀座のママ
銀座のママ
JubatusOfficial
小町の溜息
小町の溜息
JubatusOfficial
JUBARHYME
JUBARHYME
JubatusOfficial
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
JubatusOfficial
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
Shohei Hido
Jubakit の紹介
Jubakit の紹介
kmaehashi
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
Destaque
(20)
"アレ"からJubatusを使う
"アレ"からJubatusを使う
Jubatusハンズオン 機械学習はじめてみた
Jubatusハンズオン 機械学習はじめてみた
もくもく成果 IMAMASU
もくもく成果 IMAMASU
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
新機能紹介 1.0.6
新機能紹介 1.0.6
発言小町からのプロファイリング
発言小町からのプロファイリング
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
かまってちゃん小町
かまってちゃん小町
Python 特徴抽出プラグイン
Python 特徴抽出プラグイン
Jubakitの解説
Jubakitの解説
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
Jubatus解説本の紹介
Jubatus解説本の紹介
銀座のママ
銀座のママ
小町の溜息
小町の溜息
JUBARHYME
JUBARHYME
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
Jubakit の紹介
Jubakit の紹介
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
Semelhante a もくもくしたこと
Metahub for github
Metahub for github
Suguru Oho
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
Jupyterで運用やってみた
Jupyterで運用やってみた
Satoshi Yazawa
Debian tokyo-20150224-01
Debian tokyo-20150224-01
Yuji IMAI
Ingress on GKE/GCE
Ingress on GKE/GCE
shouta yoshikai
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
GoでEPC作って本番運用している話
GoでEPC作って本番運用している話
雄也 日下部
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
You&I
Functional Programming in Scala Reading #2
Functional Programming in Scala Reading #2
Naoyuki Yamada
Yapcasia2012 ltthon
Yapcasia2012 ltthon
turugina
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Genta Iha
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
Takuto Matsuu
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Wataru NOGUCHI
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
Nbug201503
Nbug201503
Kenji Aoyama
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Takeshi Komiya
Semelhante a もくもくしたこと
(20)
Metahub for github
Metahub for github
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
エンジニアのための痔の話
エンジニアのための痔の話
Jupyterで運用やってみた
Jupyterで運用やってみた
Debian tokyo-20150224-01
Debian tokyo-20150224-01
Ingress on GKE/GCE
Ingress on GKE/GCE
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
GoでEPC作って本番運用している話
GoでEPC作って本番運用している話
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
Functional Programming in Scala Reading #2
Functional Programming in Scala Reading #2
Yapcasia2012 ltthon
Yapcasia2012 ltthon
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Nbug201503
Nbug201503
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Último
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Último
(10)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
もくもくしたこと
1.
もくもくしたこと おいかわ かずき (Jubatusもくもく会 #2,
2016/02/27)
2.
自己紹介 • 及川 一樹 –
GitHub: https://github.com/kazuki/ – Twitter: @k_oi • 趣味とか使ってるものとか – 音声・映像符号 – HTML5とか(WebAudio, WebRTC, asmjs…) – GPGPU (OpenCL, HSA) – 暗号 – 分散とかクラウドとか (Hadoop, P2P, OpenStack, ...) – Gentoo Linux – Python, TypeScript, Rust, C#
3.
もくもくしたもの • メイン – Nearest
Neighbor の高速化 ➔ △ • バックアップねた – Jubatus in Browser ➔ △ – Gentooパッケージの不満解消 ➔ △ • メインが完成するかわからなかったので, バックアップネタをいくつか用意したのですが,すべてが中途半端に....
4.
Jubatus NNの高速化 • Nearest
Neighbor遅いです – 20newsの分類 train: 30分, classify: 30分 ※ Haswell 3.5GHz,全件のtrain/classifyの所要時間 • 原因 – train/classify: ハッシュへの変換が遅い (random_projection) – classify: 登録済みハッシュとの距離計算が遅い
5.
速くする! • Random Projectionが遅い –
熊崎さんが2015年10月ぐらいにキャッシュする実装を作っている feature/cached_random_projection ブランチ – 及川も2015年10月 ぐらいに正規分布に従う乱数生成の高速化を実施 – 今回はこの2つを混ぜて+AVX2(SIMD)でさらなる高速化! • 距離計算が遅い – 比較対象が増えるので,沢山trainするとどんどん遅くなる – GPGPUで力技で解決する!
6.
0 10 20 30 40 50 60 70 80 90 100 train classify結果
7.
結果 手法 Train [ms]
Classify [ms] Default (box-muller) 96.8534 99.3197 [1]: Polar法で正規分布生成 24.3529 29.4501 [2]: AVX2版Box-muller 8.5948 13.7828 [3]: Cache 13.1329 11.3558 [4]: [1] + [3] 4.48 5.83724 [5]: [2]+ [3] 2.03893 5.26619 [6]: [5] + ハミング距離計算AVX2 2.01252 4.73609 [7]: [6] + メモリコピー削減 1.97709 3.28481 ※メモリコピー削減: 比較対象のBitVectorを常にコピーしていたので, コピーしないで比較するように改良.近いうちにpull-reqだしたい (結果的にモデルサイズ分のメモリコピーを1回のClassifyで実施していた)
8.
GPGPU ! • 間に合いませんでした... –
AMD Kaveri APU + OpenCL 2.0で仮想メモリ空間共有を動かすのに 数時間かかってしまった... – マニュアルに記載の無いコンパイルオプションが必要だった… • 得られた知見 – NNのストレージのメモリ空間は連続しているのでGPGPUしやすい – bit_vectorが必要量の8倍のメモリを確保している =>ストレージはbit_vectorじゃないので大した影響はなさげ (パッチはpull-req済み) • ここまでの作業内容は私のGitHubのjubatus_coreのexperimental/nnブランチで公開済
9.
Gentooパッケージ作成上の不満 • Gentooの特徴 – ソースからビルド –
他と比べてパッケージのバージョンが新しい • JubatusのGentooパッケージを作ってます (2012年〜) – https://github.com/kazuki/overlay • ここが不満! – https://github.com/kazuki/overlay/blob/master/sci-calculators/jubatus- core/jubatus-core-0.2.7.ebuild#L15-L16
10.
Gentooパッケージ作成上の不満 • というわけで msgpack1.1.0に対応させてみました –
最新は1.4.0ですがGentooは1.1.0までしか入ってないので... – Msgpack,API互換壊しまくりなので順に確認したほうが楽そう – MsgpackのC++03向けtuple実装が残念でビルドが通らない... • C++11にすれば解決! ➔ jubatus-msgpack-rpcがC++11に対応してない...orz • 仕方がないので,msgpackのヘッダにパッチをあてて回避... – Jubatus_core: 121+, 103- – Jubatus: 12+, 11- – Jubatus-msgpack-rpc: msgpack-1.xブランチで対応済み – 中途半端... JubatusをC++11化してお掃除するのとあわせて... そのうち... • 利点 – Msgpack 1.0.0 から C++版はヘッダオンリライブラリ ➔libmsgpack.soへのリンクが消滅 • 私のGitHubのjubatus/jubatus_coreのmsgpack-1.1ブランチで公開済み
11.
Jubatus in Browser •
Msgpack 1.0からはヘッダオンリーライブラリ 依存関係が減り jubatus_core単品で動くようになる
12.
すべてがJavaScript になる https://github.com/kripken/emscripten
13.
Jubatus_coreをJavaScript化! • システムコールとかpthreadとかはJavaScriptは対応していないので,#ifdef で隠す • 出力されたJavaScriptファイル
2.3MB • とりあえずnode で Classify のサンプルは動くが, ブラウザのインタフェース作る時間がなかった... • スマフォ向けブラウザは加速度やBluetoothが利用できるので,ブラウザだけ でJubatusを使って何かできる! • 私のGitHubのjubatus_coreのemscriptenブランチで公開済
14.
GPGPUの続き… • あと少しだったのでお家に帰ってからもくもく会の続きを実施 – 動いた!
experimental/nn-gpgpu-opencl ブランチ • 性能評価 (20newsの全件Classify) – Haswell 3.5GHz AVX2: 64s (3.4ms/ops) – Haswell 3.5GHz AVX2 + dGPU: 161s (8.5ms/ops) ※CPU利用率は25%程度 – Kaveri 3.7GHz AVX: 143s (7.6ms/ops) – Kaveri 3.7GHz AVX + iGPU: 137s (7.2ms/ops)※CPU利用率は50%程度 • モデルが小さい(32MBぐらい)ので,カーネル実行レイテンシが支配的 – 大きいモデルで実験すると効果が見えるかも…? – (KaveriはCPU性能低い+iGPUでメモリ転送レイテンシが小さいため少し改善) dGPU: AMD Radeon R9 285, GCN 1.2 Tonga, 3.3TFLOPS (1792SP, 918MHz) iGPU: GCN 1.1, 737GFLOPS (512SP, 720MHz)
15.
GPGPU版の今後 • OpenCL 2.0
SharedVirtualMemory Fine-grain Bufferで実装 – 仮想メモリ空間共有 – clSVMAllocでアロケートしたメモリである必要がある 内部ストレージで利用されている std::vector 等相当の物を書き換える必要 • OpenCL 2.0 SVM Fine-grain System / HAS に切り替え – malloc等で確保したメモリ空間がそのままGPUからも見える! – AMD Kaveri,Intel Broadwell以降でHW的には対応 (SW的には不明.AMDはHSAのみ.Intelはブツを持ってないので未確認) – より簡単に統合できるし,モデルの更新も従来通り実施できる
Baixar agora