日本の科学技術計算コミュニティが目指すべき姿 ―SciPy Japan 2019レポート

4月23~24日、東京でSciPy Japan 2019が開催されました。SciPyはNumPy、matplotlib、Jupyterなど科学計算系のPythonパッケージの開発者やユーザー向けコミュニティで、本場アメリカでは、2002年から毎年カンファレンスが開催されています。今回は日本で初めてSciPyのカンファレンスが開催されましたが、5か国から90名が参加する盛況ぶりでした。現在、多くの注目を集めているTensorFlowやChainerなどのディープラーニング用のPythonパッケージのほか、Jupyter NotebookやApache Arrow、Daskなどの技術トピックにふれる発表もあり、濃厚な2日間となったカンファレンスの内容をレポートします。

1日目:初心者向けチュートリアル
「Hands-on TensorFlow 2.0」

1日目のチュートリアルは、TensorFlowのハンズオンの入門コースとNumpyに関する応用コースの2つが行われました。

入門コースではGoogleのJosh Gordon氏とAmit Patankar氏が講師となり、Collaboratory(Colab)を使ったTensorFlow(TF)の基本的な使い方を学びました。ColabはGoogle Cloud Platform(GCP)上に実装されたJupyter Notebook(Notebook)の開発環境で、Gmailアカウントを持っていれば誰でも無料で利用できます。

TensorFlowのハンズオン
TensorFlowのハンズオン

Colabは、

  • 初期設定でGCP上にNotebookの開発環境が構築されているので、環境構築の手間が省ける
  • 多くのデータセットがGCP上に用意されており、大量のデータセットを自分の開発環境にダウンロードする手間が省ける
  • GCPの潤沢な計算能力を使って、ディープラーニングの演算ができるので、モデル生成にかかる処理時間を大幅に短くできる

といった特徴があり、TFを使ったディープラーニングを学ぶのに優れたツールです。このほかTFの演算を可視化するTensorBoardやCSVデータを可視化するFacetsといったツールも紹介されました。

TensorBoardのGUI
TensorBoardのGUI

ディープラーニングを使ったデータ解析では、環境構築、データの前処理、モデルの検証など、覚えるべき項目が多く、初心者がつまづきやすいのですが、これらの基本を学習する際にColabのようなツールが役立つでしょう。

TFによる画像認識の例として、PoseNet のライブデモを行うGordon氏
TFによる画像認識の例として、PoseNet のライブデモを行うGordon氏

このチュートリアルは、昨年アメリカのAustinで開催されたSciPy 2018でも行われましたが、テキストが充実している上、講師の説明が丁寧な印象を持ちます。テキストは以下のURLで、ネット上に公開されているので、チュートリアルに参加できなかった人も、内容を確認できます。

1日目:応用チュートリアル「Advanced Numpy」

応用コースでは、オーストラリアのMonash大学のJuan Nunuz-Iglesias氏がNumpyパッケージの使い方の基礎から応用についてチュートリアルを行いました。バイオイメージングを専門とし、Scikit-Imageのコア開発者であるNunuz-Iglesias氏、⁠エレガントなSciPy」⁠オライリー・ジャパン)の著者でもあります。チュートリアルでは、GitHub上で公開されているJupyter Notebookのレポジトリを使いながら、NumPyの持つさまざまな機能が紹介されました。

キーノート
「f(x) = a + bi: Your (x) future, f, depends on atoms (real) and bits (imaginary: cyber)」

1日目のキーノートには、JSRの小柴満信社長が登壇しました。同社は樹脂の材料設計や製造プロセスの管理など、科学計算やデータサイエンスが必要とされる業務に積極的にPythonを導入し、デジタルトランスフォーメーションに挑戦しています。従来、モノづくりを中心としていた製造業は、より高い価値を生むために、構造転換することが求められています。アトム(atoms:現実)の世界とビット(bits:仮想、虚実)の世界を掛け合わせたものから未来(future)が創られるというコンセプトで、今後の産業界がどのように変化していくかが語られました。

具体例として同社が出資した3Dプリンティングのスタートアップ、Carbonの事例が紹介されました。Carbonは3Dプリンターのチャンバー内の樹脂の動きを流体解析シミュレーションによって最適化し、デザイン性に優れ、強度の高い3Dプリンティングを実現しています。アディダスのランニングシューズなどの製造に使われており、すでに量産に入っているそうです。

キーノート講演をするJSR小柴社長
キーノート講演をするJSR小柴社長

このあとさまざまなテーマについてのトークセッションが行われました。

1日目:トークセッション
「Chainer: a deep learning framework for fast research and applications」

Preferred NetworksのCrissman Loomis氏がディープラーニングのフレームワーク、Chainerの概要を紹介しました。ChainerはCuPyというモジュールを使うことで、NVIDIAのGPU上で並列計算処理を実行することが可能です。Chainerにはコンピュータビジョン向けのChainer CV、強化学習(Reinforcement Learning)向けのChainer RLといったモジュールがあるほか、NumPyと互換可能なChainerXというモジュールも開発されています。

Chainerの概要を説明するPreferred NetworksのLoomis氏
Chainerの概要を説明するPreferred NetworksのLoomis氏

1日目:トークセッション
「Scaling Your Python Interactive Applications with Jupyter」

Jupyter Projectの開発者であるIBMのLuciano Resende氏が、Jupyter Notebookを活用した解析環境のスケーリングやセキュリティ対策について講演しました。金融や医療などの業界では、膨大なデータの計算を行う一方でセキュリティを維持することが欠かせませんが、一般のJupyter Notebookの環境では、計算リソースが限定され、スケーリングできない上、データのセキュリティを維持することも難しいです。それに対してクラスタシステム上で動作するJupyter Enterprise Gatewayは計算リソースの最適化、情報セキュリティの強化、マルチユーザ環境の提供といった機能を提供するWebサーバで、これらの課題を解決することができます。

Jupyter Notebookについて語るResende氏
Jupyter Notebookについて語るResende氏

レセプションパーティ

トークセッションの終了後、レセプションパーティーが開催され、多くの参加者で盛り上がりました。

乾杯のあいさつでSciPyの歴史を語るEnthoughtのEric Jones CEO
乾杯のあいさつでSciPyの歴史を語るEnthoughtのEric Jones CEO
レセプション会場の様子
レセプション会場の様子

2日目:初心者向けチュートリアル
「Introduction to Visualization」

2日目はPyCon JPの代表理事で、Pythonエンジニア育成推進協会(PythonED)の顧問理事も務める寺田学氏が、Pythonコーディングの基本からデータの可視化までを学ぶチュートリアルを行いました。Jupyter NotebookまたはColabを使いながら、Pythonの基本的な使い方を説明した上で、CSV、Excel、ウェブのデータを読み込んで整形、加工した上で、matplotlibを使ってグラフに表示する方法を説明しました。

PythonEDの寺田氏
PythonEDの寺田氏

応用チュートリアル「Advanced Machine Learning」

2日目の応用コースでは、Enthoughtのデータサイエンティスト、Alexandre Chabot-Leclerc氏がScikit-learnを使った機械学習の応用に関するチュートリアルを行いました。線形回帰やサポートベクターマシンなど、Scikit-learnに含まれる機械学習モデルの基本をおさらいした上で、pipelineやgridsearchなどの便利なツールやデータの特徴量抽出のコツを学びました。

EnthoughtのAlexandre Chabot-Leclerc氏
EnthoughtのAlexandre Chabot-Leclerc氏

2日目:オープニング

2日目の午後のオープニングトークは、カンファレンスのCo-Chairで、Enthoughtのエンジニアである高味空也氏が講演しました。

カンファレンスのCo-Chairの高味空也氏
カンファレンスのCo-Chairの高味空也氏

2日目:キーノート
「Looking Back on SciPy and to the Future of SciPy Japan」

2日目のキーノートでは、カンファレンスのメインスポンサーであるEnthoughtのCEO、Eric Jones氏が登壇し、SciPyのコミュニティの歴史を振り返った上で、今後の日本のコミュニティが目指すべき姿を提言しました。ディープラーニングの爆発的な普及にともない、バーチャルな世界での技術革新が急速に進みましたが、本当に社会を変えるのは、リアルな世界の技術革新です。モノに結び付いた技術は、物理、化学、生物、材料工学、機械工学など幅広い科学技術に関連しており、イノベーションの多くは異分野間のコラボレーションによって生まれます。欧米ではSciPyを含む科学技術計算のコミュニティが、企業、大学、研究機関で発達しているが、今後、日本のSciPyコミュニティを発展していくことを期待していると述べました。

Eric Jones, CEO, Enthought
Eric Jones, CEO, Enthought
若い頃のDavid Cournapeau氏
若い頃のDavid Cournapeau氏
Blackhallの発見にPythonが活躍した!
Blackhallの発見にPythonが活躍した!

1日目と同じく、キーノートの後はトークセッションが行われました。

2日目:トークセッション
「Progression of zero programming skilled scientist to python user」

東京工業大学の三木卓幸助教は、Pythonのパッケージを使ってタンパク質の分子構造を可視化する事例を紹介し、プログラミング経験のない科学者がどのようにPythonを使ったデータ分析スキルを学ぶべきかについて講演しました。

東京工業大学の三木卓幸助教
東京工業大学の三木卓幸助教

2日目:トークセッション
「Let’s enjoy the Python world using network analysis ~ Overlooking the reference relationship of PEPs with NetworkX」

続いて古木友子氏がPEP(Python Enhancement Proposal)の参照関係を、NetworkXを使って分析した事例を紹介しました。PEPはPythonの機能の拡張に関する提案のことで、PSF(Python Software Foundation)がインターネット上に公開して管理されています。グラフ構造を可視化することで、影響力のあるPEPがどのようなものかを分析しました。

古木氏によるPEPの分析
古木氏によるPEPの分析

まとめ

以上、日本で初めて開催されたSciPyコミュニティのカンファレンス、SciPy Japan 2019をレポートしました。本場のSciPyと同じく講演の動画が、後日、YouTubeで公開されるそうです。下記のURLでご確認ください。またカンファレンスの委員によると、来年もSciPy Japanを開催する予定だそうです。欧米で盛り上がっているように、日本でも科学技術計算分野のPythonコミュニティが発展していくことを期待したいと思います。本場アメリカの今年のSciPyカンファレンスは、7月にテキサス州オースティンで開催されますので、本場の雰囲気を味わいたい人はぜひ参加してみてください。

参加者全員で記念撮影
参加者全員で記念撮影
URL:https://www.scipy2019.scipy.org/
YouTube動画
URL:https://www.youtube.com/playlist?list=PLYx7XA2nY5Geu7wUH_6RhQM1KJkAxZllc

おすすめ記事

記事・ニュース一覧