機械学習の受託案件を通じて気づいた5つのこと

こんにちは。データサイエンスチームのtmtkです。
この記事では、機械学習の受託案件に関する5つの知見をお伝えします。

はじめに

当社NHN テコラス株式会社は、ITインフラの会社です。データセンターでのホスティングサービスであるマネージドホスティングサービスAWSのリセールサービスなどを取り扱っています。
当データサイエンスチームでは、ビッグデータ活用サービスとしてデータ分析の受託業務を行っています。この記事では、このサービスで受託した案件の経験から得た機械学習の受託案件に関する知見をお伝えします。

機械学習の受託案件を通じて得た5つの知見

1.Apache Sparkでの開発に需要がある

Apache Sparkは分散コンピューティング用のソフトウェアです。これを使うと複数のサーバからなるコンピューティングクラスタにデータ処理を高速に実行させることができます。当データサイエンスチームでは、技術スタックの一つとしてApache Sparkを採用しているため、チームメンバーのほとんどがApache Spark上でプログラムを開発することができます。
ビッグデータ活用の機運が高まっている現在、ビッグデータ処理プログラムの基盤であるApache Sparkによるソフトウェア開発の需要はかなり高まっていますが、それに対応できる開発者は十分育っていないようです。Apache Sparkによるデータ処理プログラムを実装したいが、実際に実装できるエンジニアが足りないという声をよく聞きます。

2.技術者とビジネスマンの両方の視点をもつ企画者が重要

機械学習や統計学などの技術的な知識に明るく、かつビジネスもわかる人材が非常に重要です。
AI開発のご相談をいただいたとき、それが原理的に難しいご相談であることがあります。たとえば、訓練データなしに予測ができるAIが作りたい、といったご要望です。そのようなご要望をいただいたとき、技術的に可能なことと不可能なことを専門家でなくてもわかるように説明できる人が必要です。また実現不可能な夢を技術によって解決可能かつビジネス的に意味のある問題に変換できる人がいないと、プロジェクトを先に進めることができないということが往々にして起こります。

3.統計モデリングも活用できる

ディープラーニングの隆盛にかくれてあまり目立っていない気もしますが、統計モデリングも重要かと思います。たとえば、BtoCの小売業のような業界から販促イベントを打ったときの売り上げ増加量の予測を行いたいというご相談がありましたが、これは状態空間モデルによる統計モデリングで解決できる可能性が高いです。また、他社事例にはなりますが、このスライドではマッチングサービスの「タップル誕生」のKPIが統計モデリングで分析されています。
これらの分析手法はディープラーニングとちがって説明力・説得力が高いため、企業の意思決定にすぐにでも活用することができるでしょう。ディープラーニングの流行が落ち着いた後に注目されるかもしれません。

4.データが足りないときの判断が必要

機械学習のご相談をいただき、めでたく実証実験段階に進んでも、データが足りずに思うような性能の機械学習モデルを作れない場合があります。より正確にいえば、ほとんどの場合でデータが足りないという結論に至る実感があります。
そのため、思うように性能が出ないときに、

  • データのサンプルサイズ(行数)が足りないために性能が出ないのか?
  • データの変数(列数)が足りないために性能が出ないのか?
  • モデルの選択が悪いために性能が出ないのか?

などの考察をして、知識と経験によって考えながら、次のアクションを決定する能力が必要になります。
また、データを増やすという決定をする場合、精度などの性能に関する要件やデータ収集にかかるコストを考慮しつつ、どのようにデータを増やすべきか決定する必要もあるでしょう。

5.ディープラーニングが遅い問題への早めの対処

ディープラーニングの訓練や推論に時間がかかることは有名です。処理時間が長いという問題を解決するために、GPUやTPUの活用などのさまざまな工夫がとられています。
ディープラーニングによってAIを作成した場合、AIを実用化するためのコンピューティング環境が問題になります。普通のCPUサーバにデプロイしてしまうと画像1枚の推論に1秒程度かかりますし、GPUサーバを用意すると最低でも1時間あたり1ドル程度はかかります(AWSの場合)。利用料が1時間あたり1ドルだとすると、100円/ドル×1ドル/時間×24時間/日×30日/月 = 72000円/月 となって、1ヶ月に約7万円かかる計算になります。これでは手軽に導入できません。
AWSから昨年Amazon Elastic Inferenceがリリースされるなど状況は改善しつつありますが、ディープラーニングによるAIを実用化したい場合はコンピューティング環境を早めに検討しておく必要があります。

まとめ

この記事では、機械学習受託案件で得た知見をお伝えしました。

あなたにおすすめの記事