来栖川電算におけるamazon aws活用事例 jawsug_nagoya_20121006

46
有限会社 来栖川電算 山口陽平 Japan AWS User Group Nagoya 勉強会 42012.10.06 好きなAWScc2.8xlarge

Upload: youhei-yamaguchi

Post on 12-Nov-2014

2.225 views

Category:

Documents


0 download

DESCRIPTION

来栖川電算では様々な場面でAWSを活用しています。その中の典型的な活用事例を「JAWS-UG – Nagoya 勉強会 第4回」で紹介しました。 開発環境の共有、hadoopやmahoutを使ったデータマイニング、タンゴチュウなど幅広い紹介となっています。AWSやhadoopの活用を検討している方の参考になれば幸いです。一部タンゴチュウなどの宣伝になっていますが、気にせず見てください。

TRANSCRIPT

Page 1: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

有限会社 来栖川電算 山口陽平 Japan AWS User Group Nagoya 勉強会 第4回 2012.10.06

好きなAWS:cc2.8xlarge

Page 2: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

自己紹介

過去に紹介したAWS活用事例

タンゴチュウMobileの開発事例

今まさに取り組んでいること

おまけ

参考文献

あじぇんだ

Page 3: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

自己紹介

山口陽平

来栖川電算

Page 4: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

プログラミング言語・型理論の研究者

世界を美しく記述することを夢見る0x22歳

名古屋工業大学大学院出身

未踏ソフトウェア経験

人を驚かせるのが好き

Nativeコードより速いJavaコード

1日でHaskellを作る

ハードリアルタイムJavaVM

1000台越え構成のペタバイト級分散DB

PC上で秒間1000万クエリ処理できるKVS

山 口 陽 平

※あくまでもイメージです。 実物に髪の毛はありません。

Page 5: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

概要 名古屋工業大学発ベンチャー(2003年)

目的 ソフトウェアの品質・生産性向上

スタッフ 役員3人・正社員7人・アルバイト9人

データ作成6人・メイド(家政婦)1人

IPA未踏ソフトウェア経験者多数

社風 職人・挑戦・自由

昼食・夕食・飲み会は無料

来栖川電算

イオン千種 名大病院 名工大の間

が近い!

Page 6: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

ソフトウェア開発支援

開発プロセス・ツールの改善

【例】アジャイルソフトウェア開発

ソフトウェア開発

超高性能・高品質・短納期

【例】ペタバイト級分散データベース(1000台以上)

ソフトウェア技術研究

ビッグデータの分析(hadoop・pig・mahout)

【例】大学病院・広告企業・組込企業

来栖川電算:サービス

Page 7: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

BraidDB・BraidForm ⇒ 分散データベース

タンゴチュウ ⇒ 情景画像文字認識

来栖川電算:製品・研究

Page 8: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

インテリジェントUIで、ユーザのそばへ這いよる。

来栖川電算:事業分野

Page 9: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

インテリジェントUI

http://tangochu.jp

@tcfoxへ写真を呟くんだ!

Page 10: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

インテリジェントUI

情景画像文字認識

Page 11: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

インテリジェントUI

情景画像文字認識

Page 12: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

従来のOCRとは戦場が違う

悪環境下での文字認識

手書き・様々な書体・かすれ・点描・きついパース・統一性のない並び・逆光・陰・影・グラデーション・モアレなど

インテリジェントUI

情景画像文字認識

電脳コイルみたいな世界を作るぞ!

Page 13: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

過去に紹介した AWS活用事例

来栖川電算の開発環境

大学病院用データマイニング環境

広告企業用データマイニング環境

組込企業用データマイニング環境

Page 14: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

過去に紹介したAWS活用事例

来栖川電算の開発環境

誰でも、いつでも、どこでも同じ環境で開発可能

全ての情報をサーバへ蓄積・いつでも復元可能

Page 15: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

過去に紹介したAWS活用事例

来栖川電算の開発環境

EC2によりユーザ・お客様への提供手続きが簡素化

スクリプトによりデータ量を減らしつつ一貫性を維持

データ作成などの複雑なタスクのサポートが容易に

Page 16: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

Hadoopによる冗長化で高アベイラビリティ

Pig+UDFにより手軽で自由な分析をサポート

過去に紹介したAWS活用事例

大学病院用データマイニング環境

Page 17: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

最新手法でビッグデータを分析し、ニーズ・施策の発掘

分析期間・分析対象は何十倍にも増える予定

過去に紹介したAWS活用事例

広告企業用データマイニング環境

Page 18: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

様々なアルゴリズムが並列計算に対応し始めている。

スポットでしか分析しないなら AWS は非常に安い。

過去に紹介したAWS活用事例

組込企業用データマイニング環境

Page 19: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

Twitterのタイムラインが文字認識ジョブのキューとなる。 タイムラインのクロールだけなので負荷の心配はない。

過去に紹介したAWS活用事例

タンゴチュウ for Twitter

Page 20: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

Evernoteのノートでジョブを管理する。

人手によるポーリングなので負荷がかかりにくい。

過去に紹介したAWS活用事例

タンゴチュウ for Evernote

Page 21: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

単一障害点なし ⇒ 高アベイラビリティ

完全非同期 ⇒ 高スケーラビリティ

失敗を前提 ⇒ インスタンスをいつでも終了可能

過去に紹介したAWS活用事例

recognize.jp

Page 22: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

タンゴチュウMobile 開発事例

教育用プロジェクト

Page 23: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

Androidアプリ:写真をevernoteへ送信(ついでに文字認識)

Twitterとfacebookへも投稿するぞ。

タンゴチュウMobile開発事例

どんなソフト?

Page 24: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

目的

見習いプログラマの教育用

見習いプログラマ

来栖川電算の抽象化技法(初級)研修を修了

Java・オブジェクト指向は分かる。

性能・保守性に関する気遣いができる。

Android・Webは初めて

タンゴチュウMobile開発事例

開発の目的

Page 25: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

スマホ

画像の投稿 認識状態管理ノート取得 認識状態管理ノートの表示

受付サーバ 画像処理 S3への画像追加 SQSへのジョブ追加 Evernoteへのノート投稿 Facebook・Twitterへの投稿 認識状態管理ノートのダウンロード

認識サーバ SQSからのジョブ取得 S3からの画像取得 recognize.jpへの画像投稿 recognzie.jpからの認識結果取得 Evernoteのノートへ認識結果反映

タンゴチュウMobile開発事例

アーキテクチャ

Page 26: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

受付サーバをELBでスケールアウト

画像処理に時間がかかる

受付サーバが各種SNSへアクセス

スマホからの通信を減らす

スマホへデータを返すときはzip化

認識サーバと受付サーバは別々に増減可能

認識に時間がかかることがある

タンゴチュウMobile開発事例

設計のポイント

Page 27: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

AWSは社員教育と相性が良い ドキュメントが多い

ググれば大抵わかる

課題の参考資料を作らなくてよい

セットアップが減る

問題を起こす箇所が少ないので課題に専念できる

新人は環境構築でよくはまる

スムーズに使える

投入したデータを確認・編集しやすい

リソース調達に神経質にならなくてよい

そもそも安い

教育する社員数があらかじめ分かっていなくてもよい

課題の間だけリソースを確保すればよい

タンゴチュウMobile開発事例

やって分かったこと

Page 28: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

今まさに 取り組んでいること

機械学習パイプラインをEC2へ

Page 29: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

認識エンジンのパラメータ調整環境

文字認識の場合(大規模機械学習)

30タスク(8段) 2~3日/回(弊社最新マシン)

今まさに取り組んでいること

機械学習パイプライン

Page 30: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

cc2.8xlarge(EC2最強インスタンス) CPU:88ECU ← Xeon E5-2670(2.6GHz 8core)× 2個 試に使ったら400秒の処理が100秒で終わった!凄い!

MEMORY:60.5GB

STORAGE:1690GB

PRICE ONDEMAND:時間 × 2.4$

RESERVED:年数 × 5000$ + 時間 × 0.361$

SPOT:時間 × 0.253$以上(すごく安くね?)

同等性能の自作マシン:40万円 + 時間 × 5円

今まさに取り組んでいること

cc2.8xlargeを調べてみた

Page 31: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

1年ずっと使うなら自作が安い(スポット除く)

その前提正しい?

実験しない期間があるよね?

おそらくONDEMANDは割高

たくさんの実験を並行でしたいときもあるよね?

ONDEMANDかSPOT

SPOTが本当に安いのか調べてみよう!

今まさに取り組んでいること

費用を比較してみた

種類 1ヶ月 2ヶ月 3ヶ月 4ヶ月 5ヶ月 6ヶ月 7ヶ月 8ヶ月 9ヶ月 10ヶ月 11ヶ月 12ヶ月 ONDEMAND 14万円 28万円 41万円 55万円 69万円 83万円 97万円 111万円 124万円 138万円 152万円 166万円 RESERVED 42万円 44万円 46万円 48万円 50万円 52万円 55万円 57万円 59万円 61万円 63万円 65万円 SPOT(0.253$/H) 1万円 3万円 4万円 6万円 7万円 9万円 10万円 12万円 13万円 15万円 16万円 17万円 SPOT(0.506$/H) 3万円 6万円 9万円 12万円 15万円 17万円 20万円 23万円 26万円 29万円 32万円 35万円 自作 40万円 41万円 41万円 41万円 42万円 42万円 43万円 43万円 43万円 44万円 44万円 44万円

Page 32: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

割と落札価格高い?

オンデマンドより高い金額で落札とか意味不明

使われていない期間も割とありそう。もう少し調査。

今まさに取り組んでいること

3ヶ月の落札価格推移

Page 33: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

きた!きたで!

1日の60%が最低落札価格

1日の90%が最低落札価格の2倍以内

今まさに取り組んでいること

1日の落札価格推移

Page 34: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

結論

cc2.8xlargeは速い。

普通のcore i7マシンの4倍

cc2.8xlargeのSPOTは安い。

自作の50%程度

1時間以内にセーブポイントまで進める工夫が必要

今まさに取り組んでいること

1日の落札価格推移

僕が使うので、みなさん使わないでください。

Page 35: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

おまけ

宣伝とか

Page 36: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

WebAPIで画像をPOSTするだけで文字認識

面倒なことは全部サーバでやってくれる!

recognize.jp トライアル期間がどんどん延長されてるよ!どんどんしてね!

Page 37: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

毎月着実に成長している!

recognize.jp

賢く速くなってる!

0.00

1.00

2.00

3.00

4.00

5.00

6.00

7.00

20

11年

06月

20

11年

07月

20

11年

08月

20

11年

09月

20

11年

10月

20

11年

11月

20

11年

12月

20

12年

01月

20

12年

02月

20

12年

03月

20

12年

04月

20

12年

05月

20

12年

06月

20

12年

07月

20

12年

08月

20

12年

09月

処理時間

精度

Page 38: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

行の場所と色を高速に抽出(文字認識までしない)

抽出した行を背景色で塗り潰すと・・・

recognize.jp

新機能①

Page 39: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

ユーザ単語辞書(正規表現)が指定できる!

「¥[0-9]+」を指定すると・・・

recognize.jp

新機能②

Page 40: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

〆切近し、急げ!

ドコモ様の文字認識APIも審査対象!

企業賞とか狙い目かも

そういえば・・・

Mashup Awards 8

Page 41: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

ドコモ様が10月11日にリリース!使おう!

うつして翻訳

Page 42: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

様々な職種が必要

研究者・プログラマ・デザイナ・企画屋

様々な技術を活用

画像処理・信号処理

機械学習・データマイニング

様々な分野の数学

様々なプログラミング技術

様々なプラットフォーム

凄い技術者に育てるのでやる気がある方は連絡してね。

怖い人はいないので安心

スタッフ募集中!

Page 43: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

参考文献

リンクとか

Page 44: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

来栖川電算

http://kurusugawa.jp/

タンゴチュウ(情景画像文字認識サービス)

http://tangochu.jp/

recognize.jp(情景画像文字認識API)

http://recognize.jp/

うつして翻訳

http://ma8.mashupaward.jp/

参考文献1

Page 45: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

Mashup Awards 8

http://ma8.mashupaward.jp/

変ゼミのロゴジェネレータ(THANKS!)

http://bkaclub.web.fc2.com/henzemi_gen.html

参考文献2

Page 46: 来栖川電算におけるAmazon aws活用事例 jawsug_nagoya_20121006

ご清聴ありがとうございました