原文: Have AI. Need Data: How Big Data App Stores close the Data Divide between Startups and Industry (2016年8月25日)
ビッグデータ・アプリストアとは?
ビッグデータ・アプリストア は、巨大なデータはあってもデータサイエンティストのいない大企業と、優秀なデータサイエンティストはいてもデータを持たないスタートアップの間にある「データ格差 (Data Divide)」の問題を解決します。大企業は法令遵守や経営戦略上の理由から、スタートアップに対して自社のデータへのアクセスを許可しないことがよくあります。そのため、幾千ものアイデアや潜在的なビッグデータ上のビジネスは、永遠に日の目を見ることなく消えていきます。
そして現在、この「データ格差」のために、Google やアリババといった、巨大なデータと優秀なデータサイエンティストを持つ一握りの企業だけが結果として市場を独占しています。もっと悪いことには、この状況に気づいた若いデータサイエンティストたちは、データや指導者に欠ける企業ではなく、その両方をそなえた GAFA と呼ばれる米国企業 (Google Apple Facebook Amazon) や、BAT とよばれる中国企業 (Baidu Alibaba Tencent) で働くことをのぞんでいます。
ビッグデータ・アプリストア は、スタートアップに対して、彼らが持つ解析アルゴリズムを大企業のデータレイク(データ貯水池)に対して行えるようにすることでこの状況を変えます。ビックデータ・アプリストアの実行結果はAPI経由で取得され、また、結果の取得はデータ漏洩のリスクが無いよう、データを持つ企業によって厳正にコントロールされます。同時に、ビッグデータアプリストアの収益は、データ解析アルゴリズムを保持するスタートアップと、データを保持する企業によって分配されます。
このようにして、ビッグデータ・アプリストア は、スタートアップと産業界の「データ格差」の架け橋となります。それでは、現実の生活はどのように変わるでしょうか。例えばこんな架空のシナリオを想像してみてください。
. Photo: fotolia.fr - CYCLONEPROJECT
シナリオ1: ヘルスケア・ビッグデータ・アプリストア
ある病院のグループは、1000テラバイトの PET (Positron Emission Tomography) スキャンデータを持っていて、肺がんを予期する機械学習のアルゴリズムを探していました。しかし、院内にはそれを行えるデータサイエンティストがいるような部署はありません。 そのグループは業界でよく知られた世界代表クラスの解析チームを雇用することも検討しましたが、その給与は医師の給与よりもはるかに高いもので、その医院のルール上、受け入れられませんでした。またその医院は新卒のチームも組織しましたが、2年経ってもなんの成果も得られませんでした。そんなある日、ある有名な数学者による海外のスタートアップがある研究を提案し、彼らの問題に適応するアルゴリズムを考案しました。アルゴリズムの作成のため、そのスタートアップはその病院のグループにすべてのデータのコピーを依頼しました (近いうちにそれは 8つの SSDに収まる量です)。しかしそのグループは拒否しました。なぜなら国内法によってデータの複製を渡すことが出来なかったからです。
代わりに彼らは別の方法を提案しました、病院がデータの複製を提供するのではなく、そのスタートアップ企業が利益分配(レベニューシェアリング)契約に基づいてソースコードの複製を提供する方法です。スタートアップ企業の数学者はその提案を受け入れました、なぜなら彼は何年もの間、そのアルゴリズムに適合するデータセットを見つけることが出来なかったからです。また彼は、グーグルが彼のアルゴリズムとよく似たものをステルス状態で準備していることを知っていました。そのため、彼にとって最良の選択は、彼の競争力のある優位性を結果的に失うことではなく、「共有」することでした。
その病院のグループは患者が共有を了承した少量のデータセットとともに、オープンソースのビッグデータ開発環境「Wendelin」を数学者に対して提供しました。その数学者は、Python スクリプトを scikit-learn や scikit-image といったライブラリの上でプログラミングすることで彼のアルゴリズムに適応することができました。そしてすべてのものが動くことをテストして、彼のスクリプトを病院側にレビューしてもらうためにビッグデータ・アプリストアに登録しました。
病院側の開発チームは登録されたスクリプトをレビューし、マルウェアやデータの漏洩がないことを確かめました。 レビューがパスすればそのスクリプトは承認され、アルゴリズムを完全なデータの上で走らせるためビッグデータ・アプリストアで公開されます。一週間の計算の後に、最初の機械学習モデルが作成されました。そして、新たな PET スキャンイメージが追加されるごとに、そのアルゴリズムは肺がんを検知することが可能になりました。1年後には、そのアルゴリズムは高い精度で、3年後に発生する肺がんの予測をすることが可能になりました。
いまでは、世界中の多くの病院がこのアルゴリズムをビッグデータアプリストアのAPIから利用しています。 一回の予測は1ユーロで販売され、収益は数学者と病院のグループによって分配されています。1年につき1億を超えるAPIの呼び出しがあり、現在そのグループは別のヘルスケアの領域で、新たなビッグデータ・アプリの開発にとりくんでいます。
シナリオ 2: 自動車ビッグデータ・アプリストア
ある自動車メーカーは、グーグルマップとオープンソース自動車と AI の融合によって、自動車の付加価値となる部分が完全にデータ産業と化し、自動車産業が GAFAや BAT 企業による小さな工場とアルゴリズムによって牽引される事態を恐れていました。
その会社はすでに二回、自社内でデータサイエンティストのチームを組織することを試みていました、しかし最善のオープンソースの組み合わせ(OpenStack, HADOOP, Cloudera, Spark, Docker, etc)にもかかわらず、3年が経過してもほとんど進捗はありませんでした。その会社はすべてのビッグデータを大手 IT 企業にアウトソースしていました。けれども、最良のデータサイエンティストたちはすでに、GAFA や BAT といった企業に転職していました。結果として、その自動車メーカーは、大手IT企業の営業チームの遊園地となり、また、高額ライセンス費用のプロプライエタリ・ソフトの見本市になっていました。車両のすべての情報通信もアウトーソースされ、ほとんどのデータはすでに自社内では保持されておらず、手元に残ったデータもそれぞれまったく互換性のないフォーマットになっていました。
その自動車メーカーのあるエンジニアが、売上向上につながる、車両の故障を予知する新たなアルゴリズムを発見しました。 彼は大手IT企業が提供するビッグデータシステム上でそのアルゴリズムを実装しようとしましたが失敗しました。失敗の理由は、そのシステムのアーキテクチャの高額なライセンス費用と運用コストが、アルゴリズムによって得られる利益を上回っていたためです。
そのエンジニアはスタートアップを起業し、python スクリプトと scikit-learn の機械学習ライブラリをもちいて、数週間で最初の実装を完成させました。初期データは、アリババで購入した廉価な情報機器によって収集しました。プロプライエタリな車両データの解析はインドのエンジニアチームによって、事前に行っていたその自動車メーカーの法務部へのコンタクトより短い時間で行われました。
しかし、すでに動いているアルゴリズムこそありますが、車両の長距離走行のデータにアクセスする手段はありません。そのエンジニアは、Google と Tesla からの打診を受けていましたが、最後にもういちどだけ、その自動車メーカーの説得を試みました。話し合いは、新たな最高デジタル責任者とのあいだで行われました。二者間で信頼上の問題はなく、法制上の問題回避を行う努力を行ったにもかかわらず、ヨーロッパと日本の厳格なプライバシー保護法により、車両のデータの複製の提供をスタートアップに対して行うことは出来ませんでした。
そのエンジニアは最終的に、その自動車メーカーに「ビッグデータ・アプリストア」 の構築を提案し、すべてのデータを embulk を利用して複製しました。アルゴリズムを効率的に走らせるために、データは、大手IT企業が提供する環境ではデータ本来の形では利用できなかった、 ndarray と呼ばれるデータ構造で直接保持されます。また、scikit-learn を効率的に利用するために、python も直接もちいられています。そのアルゴリズムのコードは「データの複製」を行うことなく「ビッグデータ・アプリストア」にアップロードすることが出来ました。
そのビッグデータ・アプリストアは、それぞれ16TB のSSDを持つ8つのサーバの上で 3ヶ月で作成されました。その自動車メーカーのビッグデータ・アプリストアの python コードの実行は、最終的に 1% の売上向上と、より高い顧客満足度をもたらし、その利益はスタートアップと自動車メーカの間でシェアされました。
ビッグデータ・アプリストアの構造と仕組み
ビッグデータ・アプリストアは 、 Wendelin の技術を用いて、期間は 3ヶ月以内、予算は 5万ユーロ(およそ580万円)以内で立ち上げることができます。
ビッグデータ・アプリストアは以下の構成要素で出来ています:
- 高信頼のデータ収集と集約 (データのビッグデータ用データレイク(データ貯水池)への取り込み)
- 高性能で拡張可能なストレージ (データ解析ライブラリを用いたデータ処理)
- データ解析ライブラリ (機械学習を含む)
- 並行処理 (巨大なデータの処理を迅速に行うために)
- アウト・オブ・コア処理 (大きな機械学習のモデルを扱うために)
- ルールベースのデータアクセス制御 (アプリの分離)
- アプリ登録ワークフロー (アプリの登録のために)
- API 申請ワークフロー (アプリのAPI公開のために)
- 会計処理 (CPUとデータの使用量、また APIの呼び出し回数を計量するために)
- 請求処理 (さまざまな利害関係者とユーザーに請求するために)
Wendelin では、すべての部品は同じテクノロジーと同じ言語: python にもとづいています。また、Wendelin はデータサイエンティストの最大のコミュニティである PyData を最大限活用しています。Wendelin のデータはデータ本来の形式である ndarray として扱われ、一切のデータ変換を必要としません。そして、独自のアウトオブ・コア・ライブラリである wendelin.core をもちいることで、データセットのサイズに制限を課すことがありません。
もし、他の誰かが 同じようなアプリストアを、混在する複数のテクノロジ(例えば、Java, Python, Spark, HDFS など)の上で構築しようとした場合、その複雑性は結果的に、配信までの長い時間、高いメンテナンス費用、各種APIの変更によりもたらされる頻繁な不安定性と、それらのオーバーヘッドによる低い性能の可能性をもたらします。例として、Python と Spark の組み合わせは、様々な種類の処理のオーバヘッドと最適ではないメモリ管理により、ミッションクリティカルシステムにおいて深刻な問題を引き起こすことが知られています。
さらには、「ルールベースのデータアクセス制御」は wendelin の中で、直接的に プログラミング言語 python の中に組み込まれており、これはいまだに他のアプリストアでは実現されていないユニークな機能です。 「Restricted Python」技術は、ビッグデータ・アプリストア上に公開されたアプリの、すべてのソースコードの、すべての行の、すべてのデータアクセスに対する追跡が可能であることを保証します。この技術により、アプリストアのアプリでは、他のアプリの秘密を盗もうとする行為はブロックされ、にもかかわらず、複数のアプリ間で、ひとつの環境とひとつのデータベースを共有することができるのです。
結論
大企業の「ビッグデータ・アプリストア」が3ヶ月以内で構築できること、そして、幾千ものスタートアップをまねくことで、ビッグデータを最大限生かして、新しい A.I と機械学習のアプリを作ることができます。また、その収益をビッグデータの保有者と解析アルゴリズムの作者でシェアすることで、スタートアップと産業の間にある「データ格差」を埋めることができ、そして、「ビッグデータ・アプリストア」の活用によって GAFA (Google Apple Facebook Amazon) や BAT (Baidu Alibaba Tencent) と、うまく競い合うことができます。