昨今、自社のデータを活用して、分析やAI開発に取り組もうとしている企業は多い。しかし、それらの試みが一足飛びに上手く行くケースはほとんど見ない。データ活用プロジェクトにおいては、さまざまな観点から用途に合わせた事前準備が必要となるためだ。
事前準備におけるエンジニアリング業務を担うのが「データエンジニア」という職種だ。データサイエンティストがAI開発を行う際や、データアナリストがデータ分析を行う際に、すぐに作業に取り掛かれるような環境を整備することがデータエンジニアの役割となる。
そこで今回は、株式会社富士通クラウドテクノロジーズのデータエンジニアである尾崎健太氏に、データ活用プロジェクトにおける必要な事前のプロセスについて、同氏による実際の案件での経験も踏まえて寄稿してもらった。
適切なデータ活用のためには「用途に応じた整形」が必要
Photo by Markus Spiske on Unsplash
AI開発やデータ分析を行う際には、利用するデータがきれいに整った状態であることが必須条件となります。データエンジニアの業務において、データの整形は、必ずどのような案件でも求められる重要なタスクと言えます。
たとえばAI開発案件の場合、利用するデータのなかに欠損している値や、表記揺れしている文字列が存在している場合、整形を施さなければ、AIの精度が著しく低くなってしまいます。
また、データ可視化のためのダッシュボードを開発するような案件では、表示を高速化するために、元のデータをそのまま使うのではなく、情報を集約した必要最小限なデータテーブルを作成する必要があります。このように、用途に適した形でデータを事前に整形することが、データ活用プロジェクトのプロセスにおいては大切になります。
データの整形を完了するためには、このようなエンジニアリング業務だけではなく、関係者とのコミュニケーションによる調整も必要となります。
ほとんどの案件においてよくあるケースは、お客様からお預かりしたデータの一部において意味が不明瞭であり、確認のためのやり取りが発生することです。AI開発やデータ分析においては、利用するデータの取捨選択が非常に重要となるため、不明な点は担当者に都度確認を取りながら進めていきます。
また、データ可視化の案件においては、担当者が確認したい指標やディメンションを作成するために、どのデータを利用する必要があるか事前に確認することが、認識の相違が生じたまま開発が進行することを防ぐためにも、大切なプロセスとなります。
事前に多くのデータを収集できることがプロジェクト成功の鍵
Photo by NASA on Unsplash
より効果的なアウトプットを行うために、新しくデータを収集して追加する作業もデータエンジニアリングにおける重要な作業です。
具体的には、オープンデータを活用し、AIや分析の精度向上を図ることが多いです。APIが公開されている情報であれば、比較的容易にそれらのデータをプロジェクトに取り込むことができます。そうでない場合はWeb上に公開されているページやファイルをスクレイピングして情報を収集します。しかし、それらの作業には大変多くの工数が必要となります。
そのような課題を解決するため、富士通クラウドテクノロジーズでは取得に手間がかかる情報を、すぐにデータ分析が可能な形式で提供するサービスを行っています。
コスト最適化のためには、データ基盤に関する知識も重要
Photo by Annie Spratt on Unsplash
データそのものを扱う業務だけではなく、データ基盤の選定や構築も、データエンジニアの重要な仕事です。
たとえば、分析や可視化のプロジェクトにおいては、データ集約基盤としてデータウェアハウスを構築する事が多いです。このようなケースでは、プロジェクトの初期段階で、今後予想される利用状況に適したサービスを選択することが非常に重要となります。「いつも使っているクラウドサービスだから」などの安易な理由で選択をしてしまうと、後々、利用数が増えてきた際に負荷に耐えられなくなり、プロジェクト全体のボトルネックとなるケースがあります。
一方、AI開発や、AIアプリケーションを稼働させるプロジェクトにおいては、演算を行うためのコンピューティング基盤の選定が必要となります。直近で私が携わった案件では、AIモデルの定期的な更新や、アプリケーションの無停止メンテナンス、コンピューティングリソースのコスト最適化など、多くの要件が求められました。
さまざまなサービスを実際に利用しながら検討をしましたが、最終的にはKubernetesというインフラ運用を効率的に実現する技術を活用したクラウドインフラ基盤を選定しました。
社内でデータエンジニアを育成することが大切
さまざまな案件に携わるなかで思うことは、社内にデータエンジニアをひとりでも育成した方が良いということです。「試してみたい」と思ったことを、簡易的な形であれ、すぐに実行できる人が存在しているか否かで、データ活用プロジェクトを推進するスピード感やコストが大幅に変わってくると思います。
たとえば「簡単なデータ可視化を行いたい」と思った場合にも、開発会社に依頼をする場合、要件定義、見積もり、発注など多くの手順を踏む必要があり、すぐに結果を確認することはできません。また、実際にダッシュボードを作ったはいいものの、数週間使ってみたところで、ほかの指標も確認する必要があることがわかり、さらに追加発注が必要になるという事態も往々にして発生します。
このような無駄なコストを抑えるためにも、アイデアを速やかにプロトタイプとして形にできるデータエンジニアが在籍しているかどうかが、大きな違いになると思います。
そうは言っても、すぐにデータエンジニアを採用したり、育成したりするのはなかなか難しいかと思います。弊社はエンジニアリングの提供だけでなく、コンサル支援も行っていますので、計画の初期段階からお手伝いをさせていただくことができるかと思います。データ活用プロジェクトでお悩みの方はぜひご相談ください。
(執筆・尾崎健太、編集・高島圭介)