python を用いたオープンソース ソフトウェア (oss) 活用におけ … · (ex....

21
Copyright © SAS Institute Inc. All rights reserved. Python を用いたオープンソース ソフトウェア (OSS) 活用における 現状と課題 SAS Institute Japan株式会社 Viya OSSイノベーション推進室 西井 雅之 E-4SAS forum JAPAN 2019

Upload: others

Post on 10-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

Python を用いたオープンソースソフトウェア (OSS) 活用における現状と課題

SAS Institute Japan株式会社

Viya OSSイノベーション推進室

西井 雅之

【E-4】

SAS forum JAPAN 2019

Page 2: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

自己紹介(経歴)

前職:タイヤメーカー(ブリヂストン)で勤務

タイヤの IoT を担当

→ Machine Learning (ML), Deep Learning (DL) に出会う

オープンソースソフトウェア (OSS) に触れる

OSS活用の視点からの技術企画 (社内POC)

現職:SAS institute Japan ソリューション統括本部

Viya OSS イノベーション推進室

(2019年4月~ )

中央研究所で素材の開発/技術企画に従事

名前:西井 雅之

2

Page 3: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

発表のアジェンダ

2. 講演者が OSS ユーザーとなった経緯

4.アナリティクス・ライフサイクルにおける OSS の適性と課題

3. OSS 市場の発展とビジネスでの OSS 活用

1. 本発表の主眼

3

5. まとめ

Page 4: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

アナリティクス・ライフサイクルを実践する上での OSS の位置付け

アナリティクス・ライフサイクルを回すために OSS をどう活用するか

本発表の主眼

オープンソース

ソフトウェア

(OSS)

4

Page 5: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

発表のアジェンダ

2. 講演者が OSS ユーザーとなった経緯

4.アナリティクス・ライフサイクルにおける OSS の適性と課題

1. 本発表の主眼

5

5. まとめ

3. OSS 市場の発展とビジネスでの OSS 活用

Page 6: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

OSS に出会ったきっかけ 1

センサーからの情報を元に劣化など各種情報を分析。

様々なモビリティー

ブリヂストンでタイヤの IoT を担当

ブリヂストン HP より

6

Page 7: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

OSS に出会ったきっかけ 2

目的はタイヤ製品の状態把握。センシングで厳密に計測しなくても

摩耗など外観から人の目で見て大まかに分かる状態もある。

しかし自身に経験や素養が無く、社内でも当時聞ける人がいなかった。

タイヤ状態のデジタル化の必要性

7

タイヤの状態判別に DL の画像認識の適用を試みる。

当時、ディープラーニング (DL) の画像認識精度が人間を超えたと噂に。

Page 8: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

どうやって非IT系の技術者が画像認識のモデルを構築したか

インターネットに理論もやり方もすべて書いてあった。

OSS に関する情報を元にアイデアを具現化することにした。

OSS に出会ったきっかけ 3

8

Page 9: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

https://astamuse.com/ja/patent/published/field/fi/B60C11/24

【公開特許】タイヤ画像の認識方法及びタイヤ画像の認識装置

その結果達成したこと

9

どうやったか

環境:汎用スペックの PC で Python プログラムが動作

(専用環境を準備する必要がなく迅速な検証ができた)

ツール:データ準備には Pandas, Numpy を、モデル作製には Tensorflow を使用

運用:モデルのソースコードを情報システム部門へ移管。管理を一任。

Page 10: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

発表のアジェンダ

2. 講演者が OSS ユーザーとなった経緯

4.アナリティクス・ライフサイクルにおける OSS の適性と課題

1. 本発表の主眼

10

5. まとめ

3. OSS 市場の発展とビジネスでの OSS 活用

Page 11: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

OSSとは:アナリティクス (=AI) を実現する手段の一つ

1970 1990 2000 2010 2020

アナリティクスの進化

統計解析データマイニング人工知能機械学習

ディープラーニングなど

技術や理論は

昔から存在

2015

アナリティクスの進化と連動して OSS も発展

AnalyticsData Scientist

AnalyticsData Scientist

OSSユーザー

アナリティクスのプロセスが普及して

いないセグメントで急速に増加

アナリティクスの

マーケット

OSS としても

利用可能に

11

Page 12: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

OSS 市場の発展が AI 市場の拡大に貢献OSS のおかげで誰もがデータサイエンティストになれる状況に変化

知識習得機会の増加→ 簡便で迅速な検証 (Python ソースコードの共有と改編)

→ 結果をネット記事などへ公開→ 第三者が参照する,という循環が回っている。

・コミュニティー (初学者を歓迎する雰囲気)

・セミナーや講座 (on site/web, 有料/無料問わず多数)

・アーカイブ論文と GitHub (最新理論やソースコードの共有が可能に)

・社団法人などによる人材育成 (Deep Learning 協会 G/E 資格, など)

ネット記事以外にも OSS ユーザー拡大に寄与したオープンなメディアが多い

12

Page 13: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

ビジネスでの OSS 活用の明暗

アナリティクスのプロセスが普及して

いないセグメントで急速に増加

アナリティクスのマーケット

OSS の活用はデータをビジネス課題解決に用いるプロセスの一部

アナリティクス・ライフサイクルの一環として、

ビジネス課題に基づいて OSS を手段の一つとして検討

まず技術としての OSS を習得。

従来より発展して来た

Analytics / Data Science

・ビジネス課題に合致すれば強力な手段となりうる。

・手段が目的化し易い。

→ 課題設定を誤り、PoC倒れに終わりやすい。

OSSユーザー

課題から考える

手段から考えがちOSS 自体は誰でも活用可能

13

Page 14: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

発表のアジェンダ

2. 講演者が OSS ユーザーとなった経緯

4.アナリティクス・ライフサイクルにおける OSS の適性と課題

1. 本発表の主眼

14

5. まとめ

(自身の経験を鑑みて)

3. OSS 市場の発展とビジネスでの OSS 活用

Page 15: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

アナリティクス・ライフサイクルにおける OSS の適性OSS は探索~モデル作製過程の Small Start に適したツール

15

=システム化

情報への良好なアクセシビリティー / PC スペックの制約の低さ

→ 予測モデル構築の迅速なプロトタイピングが可能に。

(外注に委託している場合はコストの低減や、投資に対するリスクの見極めにも繋がる)

Page 16: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

データクレンジング/整形作業の効率化 (一般に膨大な工数が必要)

・人手では入力間違いや入力漏れが発生。データ精度はどうしても低くなる。

データ準備における OSS の課題

・画像に対して一点一点目視で確認。

・PoCテーマによっては学習に必要なデータを担当者間で手渡し。

追加や修正が発生する度に大きな時間ロスに。

講演者の経験で遭遇した障壁 1

セキュリティーの確保

セキュリティーを担保したデータマネジメント機能を備えたOSS は無く、データ入手/移動に支障。

16

データの多様性に対してOSS ではデータ準備プロセスの自動化が困難であった。(=対応する公開ソースコードが無い)

Page 17: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

モデルの管理や精度のモニタリングの合理化

システム化 (管理/組み込み/モニタリング) における OSS の課題

組み込み (デプロイ) 環境の多様性担保

本番環境をどこで行うか? (スマホ/設備/エッジデバイス/オンサイト PC/クラウド・・・)

・さらに、言語が変わった時のモデル精度の確認・担保が困難。

・誰がいつ行うのか?・・・情報システム部門の担当者の工数にも限界

・環境によってOSや言語が違う

・Python ベースの OSS モデルの翻訳を余儀なくされる。

Ex. スマホアプリ (Android) では Java, 設備の機械制御では (動作速度から) C のケースが多い。

講演者の経験で遭遇した障壁 2

・作製モデルの ver管理や back up

・データが変化したときの再学習

・精度の定常的なモニタリング

煩雑な作業でありOSS だけで対応するのは困難

17

Page 18: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

ナレッジ共有/共同作業の実現

結果、人やモデルのサイロ化や PoC倒れの危機を招いた。

モデルの横展開・再利用の難しさを痛感。

・ソースコードの質 (可読性, 実行スピードなど)のばらつき。

参照情報の継ぎ接ぎでコーディングした部分が多いため、第三者にすぐに理解してもらえない。

(共同相手の能力やリテラシーにも依存)

講演者の経験で遭遇した障壁 3

システム化 (管理/組み込み/モニタリング) における OSS の課題

フレームワークの種類やバージョンなど。少し異なるだけでコミュニケーションが減速。

・担当者間のスキルセットや言語のミスマッチが多い。

(Ex. Python では 2 系 or 3 系,D/L-CNN では AlexNet or VGG16 or Inception, など)

そもそもコーディングができず、GUI を前提としている担当者も当然多い。

18

Page 19: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

ビジネス価値を生み出すために考えなければいけない領域

仕組み化・システム化

アナリティクス・ライフサイクルにおけるOSS の使いどころ

人海戦術

既存社内システム

独自開発システム

商用 S/W

・・・

足りない部分を補い

サイクルを回すことが重要

OSSを活用した試行錯誤領域

予測モデル構築

・多様な本番環境

・セキュリティー・自動化, 効率化

・ver管理, バックアップ・再学習

・言語に依存しない

・GUI

・自動化, 効率化

・ナレッジ共有、横展開

・OSに依存しない

・最新理論活用

・迅速な仮説検証

・プロトタイピング

19

Page 20: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

まとめ

アナリティクス・ライフサイクルを実践する上での OSS の位置付け

・OSS はオープンなメディアを通して多くのユーザーを獲得,AI 市場の拡大に貢献した。

・OSS は迅速なプロトタイピングを可能とするため、探索~モデル構築の試行錯誤に好適。

OSS

商用 S/W

独自社内システム

人海戦術

・・・

言語や OS に依存しない

ナレッジ共有/共同作業

ver管理や再学習

・・・

OSS 発展の経緯とビジネスにおける現状

・OSS 活用はビジネス課題に合致すれば非常に強力な手段となりうる一方で、

手段が目的化しやすく、問題設定を誤り易いので注意が必要。

20

・アナリティクス・ライフサイクルを回してビジネス価値を生み出すに・・・

Page 21: Python を用いたオープンソース ソフトウェア (OSS) 活用におけ … · (Ex. Python では2 系or 3 系,D/L-CNN ではAlexNet or VGG16 or Inception, など) そもそもコーディングができず、GUI

Copyright © SAS Inst itute Inc. A l l r ights reserved.

sas.com/viya

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