$30 off During Our Annual Pro Sale. View Details »

AWSを活用したAIプラットフォーム「AIメーカー」の開発

2z
November 03, 2018

 AWSを活用したAIプラットフォーム「AIメーカー」の開発

2018年7月に「AIメーカー」という、誰でも手軽に機械学習を始められるWebプラットフォームを開発し、リリースしました。

・今話題のAIをweb上で誰でも気軽に作れる「AIメーカー」を作ってみた
 https://qiita.com/2zn01/items/0d3147c9d9d804ad9880

7月の第1段は「画像認識」、8月の第2弾は「文字起こし」と開発を続けています。

「AIメーカー」のシステムの裏側でAWSをどう活用したかをご紹介するとともに、今後の構想をお話しします。
また、AWSやディープラーニングのフレームワークをうまく活用することで、個人でもAIを絡めたwebサービスを開発できることをお伝えできればと思います。

2z

November 03, 2018
Tweet

More Decks by 2z

Other Decks in Programming

Transcript

  1. AWSを活用したAIプラットフォーム
    「AIメーカー」の開発
    2z(つじ) @2zn01

    View Slide

  2. お前誰よ?
    ・2z(つじ)
    ・Twitter @2zn01
    ・web系エンジニア(機械学習はちょっと触る程度。。)
    ・PHP、Perl、Ruby(on Rails)、Python、Lua
    ・AWS歴は3年半ほど
    ・JAWS参加は去年のJAWS FESTA 2017@愛媛 松山から

    View Slide

  3. AIメーカーとは
    web上で機械学習が誰でも手軽にできるプラットフォーム。
    公開されたAIはみんなで活用できる。

    View Slide

  4. 何ができるのか?
    ・画像分類
    ・文字起こし
    (随時、機能追加予定です!)

    View Slide

  5. 画像分類

    View Slide

  6. ①ラベルを登録 ②データを登録 ③学習

    View Slide

  7. 文字起こし

    View Slide

  8. ①画像・音声・動画ファイルから
    ②YouTubeから文字起こし
    ③録音から

    View Slide

  9. リリースまでの道のり
    6/23 LPを作り始める
    6/30 LPを公開
    7/1 AIメーカーの機能(画像分類)の開発を始める
    7/16 AIメーカーの画像分類をリリース
    8/18 文字起こし機能をリリース
    → 週末開発で1か月未満以内にリリース!!

    View Slide

  10. まぁ、こんな短時間でできるわけない。。

    View Slide

  11. ディープラーニングとの出会い 2015/5~
    MicrosoftのHow-Old.net 写真から性別と年齢を推定

    View Slide

  12. Face Score 2015/6
    顔を採点するアプリを作った

    View Slide

  13. そんな中、APIが廃止される。。

    View Slide

  14. Oh....

    View Slide

  15. しょうがないので、独自のモデルを作ることに...
    API廃止までの猶予は3か月ほど。
    その間に30万もの顔画像を集めて学習させ、
    独自のモデルを構築
    → ディープラーニング(CNN)の使い方を学んだ

    View Slide

  16. どうやったか?
    Bing Search Image API
    ①ひたすら画像を収集
    ②ひたすら画像を分析
    ③分析結果を保存
    ④分析結果から学習
    ⑤モデルを構築

    View Slide

  17. waifu2x-multi 2016/2~
    waifu2xをカスタマイズした画像をきれいに拡大するツール
    複数画像の一括変換、動画変換に対応させた

    View Slide

  18. waifu2xとは?
    畳み込みニューラルネットワークを用いた超解像(SRCNN)
    waifu2xの人工知能は、次の問に答えます。
    いまから与える画像はある画像を半分に縮小したものである。
    縮小される前の画像を求めよ。
    → 画像を拡大するのではなく、縮小される前の状態に戻します。
    いまから与える画像はある画像を任意の圧縮率でJPEG圧縮したものである。
    JPEG圧縮される前の画像を求めよ。
    → ノイズを取り除くのではなく、画像をJPEG圧縮される前の状態に戻します。
    作者ブログ「二次元画像を拡大したいと思ったことはありませんか?」より
    http://ultraist.hatenablog.com/entry/2015/05/17/183436

    View Slide

  19. システム構成

    View Slide

  20. → GPUインスタンスやタスクを管理する機能を自前で実装

    View Slide

  21. AIメーカー 2018/6~
    これまでの開発で学んできたことがほぼそのまま活かせた!
    → 短時間でのリリースが可能に!

    View Slide

  22. システム構成

    View Slide

  23. 利用したAWSサービス
    ・Amazon EC2
    ・Amazon RDS
    ・Amazon Elastic File System(EFS)
    → Amazon SageMaker、ECS、EKSとかは使わず、
    自分の知っている範囲のもので自前で構築した。
    (使わなかったのは単純に知識不足です。。><)

    View Slide

  24. Amazon EC2

    View Slide

  25. Amazon RDS

    View Slide

  26. Amazon Elastic File System(EFS)

    View Slide

  27. 実装で苦労したところ
    ・インスタンス管理
    → AWS SDK for PHPを使ってGPUインスタンスの起動・停止
    ・タスク管理
    ・学習データ(画像)の収集タスク
    → Bing Image Search APIでラベル名から画像を収集
    ・学習タスク
    → Caffeを使って学習し、モデルを構築

    View Slide

  28. 工夫したところ
    ・GPUインスタンスの常時起動は金銭的につらい。。
    → APIで必要最低限の学習時のみ立ち上げ、終わったら停止
    ・スケールする仕組みにしたい
    → Amazon EFSを使って学習データ/モデルは共有
    ・AMIからのインスタンス立ち上げに時間がかかる
    → インスタンスをプールする仕組みを作った
    5~10分かかるところを1~2分程度へ短縮
    ・少ない学習データでも精度をあげたい
    → ファインチューニングによる精度向上

    View Slide

  29. API公開しました!
    ・みんなのAIプラットフォーム
    → みんなが作ったAIはみんなで活用できる!
    ・APIの活用例としては、、
    ・LINE BOTで活用
    ・webサービスに組み込む
    ・アプリに組み込む
    → 興味のある方は、ぜひ使ってみてください!

    View Slide

  30. これからやること
    ・機械学習モデル
    ・自然言語処理
    ・物体検出
    ・画像生成(GAN)
    ・音楽生成
    ・ハイパーパラメータのチューニング機能
    ・複数人でAIを作れる機能(学習データ集めなど)
    ・AIのマーケットプレイス機能
    などを対応検討中...

    View Slide

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

    View Slide