6ワークロード データサイエンス編【2】 DataRobot

Snowflakeプラットフォームにせっかくデータを集めたとしても、活用されなければ宝の持ち腐れである。貯めたデータを活用する上で重要なワークロードであるデータサイエンスについて、引き続き理解を深めていこう。今回はSnowflakeのエリートテクノロジーパートナーであり、データサイエンスが誰にでも使えるよう門戸を開いた代表的存在であるDataRobotで金融チーム ディレクター 兼 リードデータサイエンティストとして活躍する小川 幹雄氏に解説いただく。データサイエンスを始めるときに気をつけるべきこと、代表的な手法である機械学習、近年のテクノロジーの進化、データサイエンスにおけるデータマネジメント、さらにはDataRobotとSnowflakeとの連携まで、重要なエッセンスを凝縮した内容をご紹介いただこう。

解説者:DataRobot Japan 株式会社 金融チーム ディレクター 兼 リードデータサイエンティスト
小川 幹雄氏

LinkedIn:こちらから>>

DataRobotで金融チームのディレクター兼リードデータサイエンティストをしています小川幹雄と申します。 主に金融機関様向けのデータサイエンスプロジェクトの支援を担当しており、DataRobotのコミュニティ活動も積極的に行っています。 DataRobotコミュニティ活動の一環で、コミュニティラジオ企画でも縁のあったSnowflakeのKTさんからご相談を受けて、本稿の執筆をさせていただきました。この記事の中ではデータサイエンスのビジネスにおける位置づけを紹介していきながら、データサイエンスには何が求められるのかについて説明していきたいと思います。

  • DataRobotのキャラクター Snowflake コラボ

■DataRobotとは

DataRobotという言葉を初めて聞いた、名前を耳にしたことがあるという方々に向けて概要をご紹介させていただきます。 DataRobotはAutoMLというソフトウェアカテゴリを創出したスタートアップ企業で、現在はAutoMLを含む、AI・機械学習プロジェクトを行う上で必要となる機能を包括的に提供するエンタープライズ向けプラットフォーム「DataRobot」を提供するソフトウェアベンダーです。カバー領域がAutoMLからAIプラットフォームに広がるなかでも、基本コンセプトとしては自動化やノーコードという部分に主軸をおいてきました。 DataRobotを利用することによって、高度な統計知識や機械学習システムの構築経験がない方でも直感的な操作でAI・機械学習プロジェクトを行うことができます。またDataRobot導入企業のデータサイエンス課題を直接支援する実行部隊を大規模に備えるために、世界で初めてカスタマーフェイシングデータサイエンティスト(CFDS)という、データサイエンティストがお客様の課題を支援する役割を担う、今では当たり前のポジションを最初に作った企業です。

■データを価値につなげるデータサイエンス

ビジネスにおけるデータサイエンスの役割はデータから価値を創出することです。特定の工程だけを行うことに注力するのではなく、最終的にビジネス価値を出せるデータサイエンスになっているかが重要になります。 データサイエンスには、

●データを貯める
●分析する
●アクションを起こす

という要素があります。データサイエンスに対して、決まったデータの上で分析していくというイメージを持たれている方が多いかと思いますが、どのようなデータを戦略的に取得して貯めていくべきかを計画することや、分析した結果をどのように活用していくかを考えることも重要な要素となります。そのため、データサイエンスはデータ活用全体のストーリーを描く必要があります。ただ、未だ多くの企業が分析を始めてアクションを起こすことに躊躇し、ストーリーがないまま、データをただ貯めることばかりに意識を囚われています。このような場合においては、せっかく貯めたデータも、貯めるためのコスト以上の価値を出せない無用な長物となってしまいます。

ストーリーなしにデータを貯めることがなぜ良くないのかについて、データサイエンスを料理に例えて考えてみましょう。データは素材、分析は調理、アクションは提供と置き換えます。ビジネスにおけるデータサイエンスはデータから価値を出すものなので、趣味の料理ではなく、利益を出すための料理=レストランなどでの料理となります。レストランでとりあえず食材を買ってくるという経営者はいないと思います。どんな料理を提供したいか、ニーズがあるのか、調理できる環境や場所を考え、素材のコスト等、全体を考えてから行動に移すはずです。良い素材が入ったから買うというのは、ある程度自明な調理の方向性が決まっているから買うのであって、長年経験を積んだ上級者の選択です。これからデータサイエンスを始めるまさにレストラン経営者初心者の方こそ、全体のコンセプトをしっかりと練ってからデータサイエンスに取り組むことが重要です。

  • データサイエンス のストーリーの考え方

■データサイエンスにおける機械学習の位置づけ

最近はデータサイエンス=機械学習となっていることが多々あります。データから価値を出すことをデータサイエンスと考えたときには機械学習以外の手法もたくさん存在しますが、技術革新によって機械学習の敷居が大幅に下がり、また既存手法に対して効果が出やすいことから機械学習が中心の時代となっています。

イメージとしては数年前にクラウドが世の中に浸透し始めたときに似ています。クラウドが出始めた初期は、クラウドに懐疑的な組織も多く、オンプレミス(自前のデータセンター活用)への信仰が強く存在していました。それがクラウドファーストという言葉が生まれ、あらゆるシステムをまずはクラウドで考えるという動きが出てきました。今ではクラウドファーストという言葉をわざわざ使っていることは少なくなり、当たり前のようにクラウドが使われている時代になっています。AIファーストという言葉はクラウドファーストに比べると一般企業まで浸透していませんが、データサイエンスにおいてもデータサイエンスファーストやAIファーストのような言葉が今後当たり前になるかもしれません。

■機械学習の敷居の変化、AutoMLの登場がデータマネジメント基盤との親和性をもたらした

機械学習は過去に何度かブームが訪れていますが、今回のブームは過去最大かつそのまま定着に向かっているものだと感じています。過去のブームは機械学習による「可能性」に焦点を当てたブームでしたが、今回のブームは「手軽さ」に焦点があたっていることが大きいと感じています。

機械学習のロジックを論文からプログラミングに落とし込み、本当にゼロから開発するデータサイエンティストは、今のデータサイエンティスト全体の母集団からは圧倒的に少数派だと思います。多くが便利なライブラリを利用していますし、AutoMLの登場によってプログラミングに抵抗がある方ですら、機械学習システムを構築できる時代になりました。

昔は正しく機械学習アルゴリズムにインプットできる形にデータを整形する(特徴量の作成)のも一苦労でした。数値型に対しての正規化やカテゴリ型のエンコーディング、テキスト型のベクトル化などデータマネジメントの主力となっていたRDBMSとは管理面でもSQLの実行速度面でも相性が悪い、数学・統計的な知識を必要とする変換処理が必須でした。結果として、データサイエンティストは機械学習独自の変換処理を多く実施する必要があるがゆえに、RDBMSで組まれたデータマネジメント基盤とは別環境に、独自の分析環境を持つことを好みました。

そこにAutoMLが登場したことによって、様々な機械学習のための工程が自動化される中で、RDBMSと相性の悪かった数学・統計的な知識を必要とする変換処理も自動化されました。これによりデータサイエンティストの分析環境は従来のデータマネジメント基盤と親和性の高い状態に戻りました。AutoMLを使う場合には、数学・統計的な知識を必要とする変換処理を任せられるため、データサイエンティストはドメイン知識を中心とした特徴量エンジニアリングに時間をかけることができます。ドメイン知識を中心とした特徴量エンジニアリングの処理はRDBMSとも相性が良いものが多いことから、データマネジメント基盤と機械学習の親和性が重要視されるようになりました。

  • 機械学習、説明図版

■機械学習とデータマネジメントで気をつけるべきこと

データサイエンスの説明のパートでも全体のストーリーがないまま進めることの危険性に触れましたが、機械学習とデータマネジメントの関係において具体的に陥りやすい失敗についても紹介していきます。

機械学習(教師あり学習)はデータを教師として学習してモデルを作成し、推論を行うという動きを基礎としますので、正しく学んでほしいデータを学習させるというのがとても重要になります。たとえば、「保険営業をかけるために半年以内に保険を契約してくれる顧客を見つけたい」というテーマを機械学習で解く場合を考えていきます。この場合、過去に引っ越しをしたとき、家族構成が変わったとき、転職したときなど様々なライフステージの変化が保険契約のトリガーとなります。学習データを作るために、過去の顧客データの様々な断面から半年以内に保険を契約してくれたかどうかのデータを抽出します。

ここで私がよく目にする問題は、住所や家族構成、職業などの属性データに関しては最新情報のみしか残っていないことです。こうなると、ある顧客は5年前に保険を契約してくれたという情報は契約年などから遡れるものの、5年前から半年前の間に引っ越しや、家族構成の変更などのイベントがあったのかまではわかりません。この状態で、機械学習で無理やり「最新の属性データが過去も固定されている」と学習させても、うまくいきません。保険を契約する前の状態のデータから学習してほしいにも関わらず、保険を契約した後の状態のデータを利用している形になってしまい、本来手に入らない未来のデータから学習したことになります。このようなデータの誤りをリーケージと呼び、リーケージがある中で作成した機械学習モデルは本番環境で役に立たないものとなります。

また別の注意点としてサンプリングバイアスがあります。一企業が使用するデータ自体は世の中全体のデータに対しては何らかのサンプリングバイアスが掛かっているものですが、ここで気をつけるべきことはデータ抽出の段階で過度なバイアスを掛けたデータを抽出してしまうことです。よくある問題としては、データをハンドリングしやすいので特に影響を考えずに直近数ヶ月のデータだけを抽出したというケースです。たとえば「トランザクションレンディング(取引情報から与信判断を行うこと)のための審査モデルを作成したい」と考えたときに、数ヶ月だけデータを選んで抽出してしまうと、その数ヶ月に過学習(過度に特定のデータにのみ学習すること)したモデルとなりうる可能性があります。この場合もリーケージと同様に本番環境で役に立たないものとなります。

これらの問題を防ぐには、データマネジメントの段階で正しいデータを保管し、簡単に使えるようにする環境が必要となります。複数断面のデータを正しく管理する機能や一定期間のデータを難なく扱えるデータマネジメントシステムのパワーが求められます。

■DataRobotとSnowflakeのパートナーシップの意義

AutoMLの登場によって、データマネジメントシステムと機械学習の親和性が重要になってきましたが、DataRobotにおいてもデータマネジメントシステムとの親和性を高めるために、Snowflakeを利用している場合には3つの連携機能を提供します。 1つ目は自動再学習機能と呼ばれるもので、DataRobotがSnowflakeと連携し、Snowflake内のデータを定期的に再学習する仕組みをGUIだけで構築することができるものです。機械学習においては最新のトレンドを定期的に学習することは重要なことですが、その再学習のワークフローを自動化することができます。

2つ目は自動特徴量探索のSnowflakeへのオフロード機能です。DataRobotでは複数のテーブルを設定することによって、それらを結合し、様々な集計パターンによって作られる特徴量を自動で生成する自動特徴量探索機能を設けています。ただ、様々な集計パターンを試すことによってDataRobot内の処理時間が伸びてしまう課題もありました。元のデータソースがSnowflakeの場合には、集計処理をSnowflake側にオフロードすることによって、集計処理が高速なSnowflakeのパワーによって短時間で処理を完了することができます。

そして最後はSnowflake側での予測実行(Snowflake UDF Scoring Code)です。機械学習とデータマネジメントの親和性が強くなるにつれて、データをわざわざ動かさずに機械学習の機能を使いたいという要望が出てきました。大規模データへの推論ではデータの移動に時間やコストがかかってしまうことやセキュリティ上の課題が発生することからデータを動かさずに推論ができればより様々な領域で機械学習を適用できる可能性が広がります。これまでもDataRobotではScoring CodeとしてJavaベースでコードを書き出す機能を持っていましたが、Snowflake UDF Scoring Codeでは、Scoring CodeをSnowflakeに登録し、Snowflake内で推論を完結することを可能にしています。

  • DataRobotとSnowflakeのパートナーシップ 説明図版

■まとめ

本稿では機械学習を中心としたデータサイエンスとデータマネジメントとの関係についてご説明しましたが、皆さんにとって新しい気付きはありましたでしょうか。

今回の企画の過去の記事を読ませていただきながら、データサイエンスのテクニカルな内容を中心としたものでなく、データサイエンスそのものについてやAutoMLによって変化したデータマネジメントとの関係性を中心に記事を書きたいと思い、私なりに執筆しました。

DataRobot社は創業から今まで、顧客の成功を最大の価値とするという理念の基、データサイエンスの可能性を信じながら、企業が正しいデータサイエンスを手がけられるように支援していくことを大切にしています。

今後データサイエンス・機械学習に取り組みたい、さらなる高度化を目指したいと思われた場合、ぜひSnowflakeとDataRobotへお気軽にご相談ください。

■関連リンク
>>DataRobot x Snowflakeで実現 データによるビジネス価値の最大化

※本記事はSnowflake、DataRobot Japanから提供を受けております。

[PR]提供:Snowflake