CodeZine(コードジン)

特集ページ一覧

AIを有効活用するために必要なこと――準備工程の複雑さをDatabricksが解決する【デブサミ2020】

【14-E-5】【データエキスパート必見!】 AI 3分クッキング

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/04/09 12:00

 「Software Ate The World, Now AI Is Eating Software(ソフトウェアは世界を食べた。今、人工知能がソフトウェアを食べようとしている)」これは、Web版のForbesで2019年8月29日に掲載された記事のタイトルである。AIは今後、利用の拡大が望まれる技術だ。しかし、期待が寄せられる一方、AIの活用はなかなか進んでいない。その要因としては、機械学習の実行環境の準備や各種データの抽出、フォーマットの変換など、準備工程が複雑であることが挙げられる。このセッションではDatabricks Japan株式会社のグティエレス・パウロ氏が、AIの現状やDatabricksのソリューションを用いたAI活用法について披露した。

Databricks Japan株式会社 ソリューション・アーキテクト グティエレス パウロ氏
Databricks Japan株式会社 ソリューション・アーキテクト グティエレス パウロ氏

AIが実現するビジネスインパクトは非常に大きい

 「Software Is eating the World」

 「ソフトウェアが世界を食いつくす」という意味を持つこの言葉は、WebブラウザのNCSA MosaicやNetscape Navigatorの開発者であるマーク・アンドリーセンが2011年に提唱したものだ。まさに、先見の明があったという他ないだろう。

 アンドリーセンの予測は現実化した。現代においては、ほぼ全ての業界においてデジタル化の波が訪れている。ここ数年ほどの間で、ユニコーンのソフトウェア企業も膨大な数に達した。まさに、ソフトウェアは世界を食べたのだ。「そして今後は、AIがソフトウェアを食べていくと言われています」とパウロ氏は切り出す。

 AIとは、コンピューターが人の動きや振る舞いをまねる技術のことを指す。AIの構成要素のなかに機械学習があるが、これは統計的手法を用いて機械に何かを経験・学習させ、性能を向上させる技術のことだ。さらに、機械学習の構成要素のなかにディープラーニングがある。この技術は、マルチ・レイヤーのニューラルネットワークを用いたコンピューテーションを行うといった特徴を有する。

 現在、AIはどのような領域に利用されているのだろうか。

 例えば、自動運転が挙げられる。アメリカではTeslaやWaymoなどの企業が、同領域における研究を積極的に行っている。工業生産の領域においては、製品の品質チェックやロボティクスのチューニングなどにAIが活用されている。Eコマースにおける需要予測なども、AIの得意とする領域だ。他にも、ヘルスケアや金融、小売り・CPG、メディア・エンターテインメントといった数多くの業種において、AIの導入が進められている。

 世界の名だたる企業が、AIやデータ活用によるビジネスインパクトの大きさをうたっている。例えばMcKinsey社は「AIにより、2030年までに世界のGDPは13兆ドル増加する」と述べた。IDC社は「世界中に存在するデータは、2025年には175ゼタバイトに達する(2018年の約5倍)」と提唱している。同領域においてイノベーターになることは、ITの世界において優位性を獲得することと同義なのだ。

 だが、AIはまだまだ導入障壁の高い領域である。Gartner社は「2020年における、AIの全ユースケースのうち約80%は、専門家だけしか取り組むことができない」「2022年までに、数あるAI研究のうち約5分の1しか成功しない」と発表している。

 なぜこれほどまでに、AIを用いたプロジェクトを成功させるのは難しいのだろうか。パウロ氏はその理由を、下図を用いて解説する。

機械学習における技術的課題
機械学習における技術的課題

 「AIや機械学習において最も難しいのは、アルゴリズムを書くことではありません。機械学習において必要な工程のうち、コードが占める割合は上図の緑色の部分だけです。むしろ、データの収集・確認や特徴抽出、インフラの準備、マシーンのリソースマネジメント、分析ツールの利用などにかかる工数が多くを占めています。つまり、機械学習を始めるために準備すべきことが非常に多いのです」(パウロ氏)

Databricks社のソリューションは準備工程の複雑さを解消する

 こうした課題を解決してくれるのが、ビッグデータ分析基盤を提供するDatabricks社のソリューションだ。同社の提供する統合分析プラットフォームはAWSとAzure上で動作し、煩雑な前準備なしにすぐに利用できる。「分散処理を用いたデータの集計・整形」「クラスタリングや予測モデルの構築」「分析結果の可視化」といった作業を、簡単に実現できるようにしてくれるのだ。

 パウロ氏はここから、「AI 3分クッキング」と題したデモンストレーションを開始。Databricks社の統合分析プラットフォームを用いることで、どれほど簡単に機械学習のモデルを作成できるかを解説していった。

 分析に用いたデータセットは、自転車のライドシェアリングに関する情報だ。天気や季節、時間帯、平日・休日などといった各種項目をもとに、需要予測をするモデルをパウロ氏はつくり上げていく。機械学習に必要なステップは以下の7つ。このうち「データ収集」「データの前処理」については、本家の3分クッキングにちなんで「下ごしらえ済み」の状態からスタートしていった。

  1. データ収集
  2. データの前処理
  3. モデル選定
  4. 学習
  5. 評価
  6. ハイパーパラメータの調整
  7. 推論

 デモンストレーションで用いられたのは、同社の「Notebooks」というサービスだ。マジックコマンドを用いることで、PythonやSQL、R、シェルスクリプト、Scalaなどのプログラムを「Notebooks」上で一元的に実行可能になっている。SQLでデータ取得した結果をPythonに受け渡すことや、Scalaで形態素解析した結果をRに受け渡すことも、全て「Notebooks」内で完結させることができる。

 また、分析に必要なクラスターの作成・管理も「Notebooks」を通じて実施可能だ。オートスケーリングや不要クラスターの自動停止などにも対応しているため、クラスターのパフォーマンス最適化を行うことも容易である。

 パウロ氏は「Notebooks」の各種機能を用いて、データの取り込みや前処理、モデル選定といった機械学習の各種プロセスをスムーズに実施していく。「AI 3分クッキング」という名の通り、短時間のうちに需要予測の結果を算出し、オーディエンスに披露した。

 分析結果を表やグラフの形式で可視化することも、「Notebooks」を用いれば簡単に実現できる。観客は一様に、興味深そうな様子でデモンストレーションを眺めていた。

Databricksが開催する各種ワークショップ
Databricksが開催する各種ワークショップ

 「Databricksに興味を持っていただいた方は、ぜひ私たちと直接お会いしましょう。Databricksではビジネスユーザー向け、データエンジニア向け、データサイエンティスト向け、データアナリスト向けに、上図のワークショップを定期的に開催しています。私たちの技術が、みなさんのお役に立てればうれしいです」(パウロ氏)

 特定の技術を一般社会に普及させるには「利用のハードルをいかに下げるか」が要となる。例えば各種フレームワークの登場なしには、Webアプリケーション開発はこれほど一般的にはならなかっただろう。

 Databricks社のソリューションは、いわばAIや機械学習におけるフレームワークのような存在だ。準備工程の複雑さを解消することで、利用者がより「本質的な課題」に向き合うための手助けをしてくれる。同社のプラットフォームを活用し、より先進的なデータ活用を推進してみてはいかがだろうか。

お問い合わせ

 Databricks Japan株式会社

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5