Successfully reported this slideshow.
Your SlideShare is downloading. ×

ピーFIの研究開発現場

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 23 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (19)

Advertisement

Similar to ピーFIの研究開発現場 (20)

More from Yuya Unno (12)

Advertisement

Recently uploaded (20)

ピーFIの研究開発現場

  1. 1. ピーFIの研究開発現場 海野 裕也 (@unnonouno)
  2. 2. 自己紹介 海野 裕也 (@unnonouno) Preferred Infrastructure 自然言語処理、機械学習などの研究開発 画像処理もちょっとやります NLP若手の会共同委員長(2014~)
  3. 3. 宣伝1:NLP若手の会(YANS) 言語処理の若手研究者が自身の研究を進めるための集まり 9月にシンポジウム(合宿の予定)、3月の言語処理学会年 次大会期間中に懇親会(飲み会)をやります スポンサーも募集する予定です
  4. 4. 宣伝2:オンライン機械学習本(4 月発売予定) 第2稿までできました
  5. 5. 今日のお題 ピーFIの開発体制とか はなしてください えー、研究開発的なので 良ければ・・・
  6. 6. ピーFIの研究開発の 開発スタイルについてはなします
  7. 7. 労働環境とか だいたい40人くらい(9割方エンジニア) 全員DELLの大きいディスプレイ支給 椅子はコンテッサ Mac 8割 だいたい10時くらい∼20時くらい(人によってマチマチ)
  8. 8. セミナーとか PFIセミナー(Ustream中継):週1 論文読み会:週1 輪読会:週1 読書会:週1 突然論文のリンクが飛んでくる:不定期
  9. 9. だいたいこんな感じ core = C++ preprocess = Python demo = Python + javascript server = C++ experiment = maf DATA
  10. 10. 第一言語アンケート 自由に書きすぎやろお前 ら・・・ 実際はC++が一番多い Pythonは一部に根強い Bash Scala C# OCaml Go JavascriptRuby Python C++
  11. 11. C++ C++03 (RHEL6対応) w/ pficommon, wo/ Boost waf (autotoolsは地獄や) gtest / cmdline.h / Eigen / jemalloc
  12. 12. PFICOMMON Boostはバージョンが上がると互換性が切れやすく、製品に 組み込むのには辛い Boostのサブセットを独自実装した スマートポインタ、ハッシュマップ、HTTPサーバー、 JSON、シリアライザなど
  13. 13. WAF Pythonの言語内DSLで書かれたビルドツール ./waf configure && ./waf && ./waf installでOK Python DSLなので覚えるのが楽、autotools覚えるの辛い unittest_gtest.pyを使うと単体テストも簡単に組み込める
  14. 14. CMDLINE.H tanakhさん謹製のコマンドライン引数パーザー Pythonのargparseとおなじ感覚で使える
  15. 15. C++はここがいい! CPU命令レベルで最適化できる データ構造の工夫の余地が大きい メモリ管理まで追求できる
  16. 16. C++はここがいやだ・・・ 書くのがしんどい データ構造を工夫しないと無駄なコピーが発生する メモリの断片化に悩まされる もう疲れた・・・
  17. 17. Go
 社内的には流行り、サーバーや文字列処理 Java
 GCで固まるので不人気、前職は全部Java Javascript
 AngularJSの方が好き OCaml
 構文木とパーサーは楽(Jubatusのコード生成器) Haskell
 ツカワナイヨ
  18. 18. おまけ:エディタアンケート Emacsが多数派 殆どの人はコンソールを全画 面表示 GUIとは何だったのか・・・ sakura sublime vi Emacs
  19. 19. その他の環境 Github Enterprise(以前は社内git + redmine) Jenkins Slack(以前はSkype) maf(実験スクリプト) Sphinx(報告書) Google Apps
  20. 20. MAF ビルドシステムのwafを利用した実験スクリプト 各ジョブで中間生成物(例えば特徴ベクトル)を作って、 様々なハイパーパラメータに対して実験できる マルチスレッドで動作するので、並列実行可能
  21. 21. SPHINX 報告書などは基本的にSphinxの日本語LaTeX ソースはGithubで管理、HTML版をGithub pagesで参照可 困ったらSphinxのソースを確認
  22. 22. まとめ C++は大変 mafは便利 Sphinxはオススメ

×