Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

クラウドとディープラーニングと価格予測の話

423 views

Published on

AlpacaJapanさん主催のMarketTech Meetup #02でのLTで使用したスライドです。

https://blog.kkty.jp/entry/2019/03/14/081107 で記事として公開しています。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

クラウドとディープラーニングと価格予測の話

  1. 1. クラウドとディープラーニングと価 格予測の話 2019.3.13 MarketTech Meetup #02 Kazushi Kitaya 1
  2. 2. 自己紹介 - 東京大学でCSを勉強しています - ウェブ畑の人で、TypeScript、Node.jsが好きです - 機械学習も好きです - テキサス州でJavaを書いていたことがあります - 医学部の友人と価格予測をしています email: kazushikitaya@gmail.com 2
  3. 3. ディープラーニングで価格予測モデルを作る こういうことがしたくなる いろいろなアーキテクチャ、ハイパーパラメータ、データで学習 いろいろなモデル、データ、ハイパーパラメータでバックテスト 3
  4. 4. しかし、ディープラーニングは時間がかかる 計算量が多い・何回も実験したい アーキテクチャ5種類、ハイパーパラメータ5種類、 データ5種類だけでも、組み合わせれば125通り(さら に乱数シード...) →それぞれ1時間とすると、合計5日間 バックテストも、組み合わせが増えると馬鹿にならない時 間がかかる 4
  5. 5. そこで... クラウドを使っていい感じにディープラーニングしよう! というのが今回のトピックです 5
  6. 6. クラウドでディープラーニングをすると 学習を並列に行って時間を圧倒的に短縮できる クラウドの世界では(独立した処理については)一つずつ動かしても、一気 に動かしても、かかるコストは同じ 様々な種類のマシンを利用できる GPUが載っているものも多数 6
  7. 7. 考えなくてはいけないこと No free lunch... 処理の実行の管理をしないといけない 複数のインスタンスを立ち上げ、いい感じに分散させて処理する必要があ る 実行結果が分散されてしまう 処理結果が複数のインスタンスに散らばってしまう 7
  8. 8. その上で、実際どうやっているか 8
  9. 9. 実際どうやっているか① 学習のためのDockerイメージを用意 コマンドライン引数でアーキテクチャ、データ、ハイ パーパラメータを指定できるように 学習が終わったら、モデル本体をクラウドストレージ に、パラメータなどをDBに保存するように Nvidia Dockerを用いるとDockerでもGPUを活用でき る! 9
  10. 10. 実際どうやっているか② AWS Batchを用いて学習の実行管理 ジョブ(Dockerイメージ+実行コマンド)のキューを用意 してくれる キューにジョブを入れると、インスタンスを立ち上げ、う まい感じにジョブを実行してくれる スポットインスタンスも利用できる 10
  11. 11. 実際どうやっているか③ バックテストも学習と同様 Dockerイメージを作成 実行終了時に結果をストレージ・DBへ保存 AWS Batchで実行管理 11
  12. 12. 実際どうやっているか④ 機能の拡張・GUIの作成 次のようなことができるように - 学習ジョブ・バックテストジョブの追加 - 実行中ジョブのログを表示 - 学習済みモデルの詳細を表示 - 実行済みバックテストの詳細を表示 スマホからでも学習・バックテストを回せる! 12
  13. 13. おわりに クラウドを使うとディープラーニングが快適にできる クラウドプロバイダの便利なサービスを用いると簡単にディープラーニングのた めのインフラを構築できる 13
  14. 14. おまけ 本当に相場を学習して勝てているのかの見定めは難しい 「4回の大きい価格変動を当てる」モデルは16個に1個くらいはできてしまう 複数モデルのアンサンブルもしています 探索空間が膨大になりますが... 14

×