ニュース

NEC、Pythonを用いたデータ分析を高速化するソフト「FireDucks」の無償提供を開始

 日本電気株式会社(以下、NEC)は19日、プログラミング言語「Python」を用いたデータ分析において、標準的に使用されているテーブルデータ分析用ライブラリ「pandas」を高速化するソフトウェア「FireDucks」を開発したと発表した。データ分析に必要なデータの前処理を最大16倍高速化し、データ分析にかかる時間の大幅な削減とコンピューティングコストの低減に貢献する。

 NECでは、近年、POSやEコマースなどの売り上げデータや、金融取引のトランザクションデータなど、大量のデータが容易に取得できるようになったが、それらのデータから価値ある分析結果を導き出すためには、人工知能(以下、AI)や機械学習(ML)を使った、データサイエンティストによるデータ分析が必要になると説明。

 しかし、こうしたデータ分析には、実際にデータを分析する前に大量のデータを分析できる状態に整える“前処理"が必須となり、データサイエンティストは業務時間の約45%をデータの前処理に費やすと言われており、大きな課題となっているという。さらに、データの増加とAIやMLの高度化は、計算量の増加につながっており、計算コストの増加や、それに起因する消費電力の増加、CO2の排出量の増加も問題となっているとしている。

 NECは、プログラミング言語のPythonで、標準的なテーブルデータ分析用ライブラリとして使用されるpandasを高速化するソフトウェアとして、FireDucksを開発した。開発には、30年以上にわたるスーパーコンピューターの開発で培ってきた高性能プログラミング技術と高速化のノウハウが生かされており、また、NECはFireDucksのβ版を無償で一般公開することで、データサイエンティストの業務時間の短縮に加え、省電力化やCO2削減など、環境課題解決に貢献するとしている。

 FireDucksは、テーブルデータの分析で標準的なライブラリであるpandasを用いて作成されたソフトウェアプログラムを、最大16倍、平均約5倍高速化することが可能。これにより、データサイエンティストの業務時間全体の約30%を削減できるとしている。

 高速化を実現した主な理由は、“全コアの並列活用"と“処理の最小化"で、FireDucksはマルチコアCPUの全てのコアを利用し、大量のデータを並列かつ効率的に処理できる。プログラム通りの範囲や順番で処理を実行するのではなく、事前に処理全体の中から結果に必要となるデータを把握し、そのデータのみに処理を実行することで、処理の高速化を可能としている。

FireDucksによる処理最小化のイメージ

 また、pandasより速い処理速度を実現できるライブラリもあるが、プログラムの書き換えを含む複数のステップが必要となる。しかし、FireDucksはプログラムを一行書き換えるだけで、pandasを使っている時と同じように分析やコーディングが行えるため、導入が容易に行える。

 この技術を、トヨタテクニカルディベロップメント株式会社の実際の業務で使用したところ、自社製AIフレームワーク(Spicy MINT)を用いたデータ解析時間を60%削減、解析PCの稼働時間を76%削減といった結果が得られたという。

 NECでは、FireDucksのβ版を無償提供し、実際にデータサイエンティストに使用してもらうことで有効性を実証しながら機能改良を進め、2024年度中の事業化を目指すとしている。