「Open Source Forum 2019」開催 ― CI/CDの標準化やプロダクションAIのためのエコシステムなど解説

2020年3月10日(火)
高橋 正和

Linux Foundationはカンファレンスイベント「Open Source Forum 2019」を2019年12月16日に開催した。Linux Foundation会員を対象に毎年開催される、招待制のイベントだ。

本稿では、GoogleのDan Lorenc氏によるCD Foundationに関する講演と、KonduitのAdam Gibson氏によるプロダクションAIをデプロイするためのエコシステムについての講演をレポートする。

サプライチェーンセキュリティに
CD Foundationが果たす役割

GoogleのDan Lorenc氏は、「Standardization: The Key to Secure Cloud Native Software Delivery」と題し、オープンソースのサプライチェーンセキュリティを例に、CI/CDの意義と、その標準化のためのLinux FoundationのプロジェクトCD Foundation(CDF)について解説した。

GoogleのDan Lorenc氏

まずはサプライチェーンセキュリティについて。「常識的に、拾ったUSBメモリーを職場のPCに挿してプログラムを実行したりはしないだろう。しかしソフトウェア開発の場合はどうか」とLorenc氏。「たとえばnpm install expressすると126パッケージがインストールされる。これはけっこう怖い」と、依存パッケージの問題を提起した。

その事例として、Lorenc氏は2019年12月に発生した「PyPi TypoSquatting」事件を紹介。PythonのパッケージリポジトリPyPiで著名なパッケージとまぎらわしい名前の偽パッケージが登録され、実際にそれに依存しているコードが発見されている。そのほかにも、npmの著名なパッケージの乗っ取り事件や、Dockerイメージに暗号通貨マイニングが入っていた事件なども紹介した。

PyPi TypoSquatting事件

そのほか公開パッケージに関する事件

こうしたサプライチェーンセキュリティは、ソフトウェアデリバリーの問題の一つだとLorenc氏は言う。ソフトウェアデリバリーというと開発者から利用者に提供するまでの間のことだと考えられがちだが、より大きく見ると、依存パッケージもソフトウェアデリバリーの中に含まれるという意見だ。

「CI/CDのデリバリーパイプラインはオープンソースをセキュアにするのに最適な場所」とLorenc氏は主張する。そのためには、依存パッケージも同じ標準にのっとっている必要がある。

依存パッケージもソフトウェアデリバリーの中に含まれる、という意見

「CI/CDのデリバリーパイプラインはオープンソースをセキュアにするのに最適な場所」

そこで、CI/CDのメタデータを共有できるようにすることがLinux FoundationでCDFのやっていることだという。これにより、プロジェクトにベストプラクティスを適用し、ベストプラクティスを標準化し、標準をもとに自動化する、というサイクルを作れる。

標準化する対象は、パイプラインの定義や、どのバージョンのコンパイラを使ったかなどのツールチェーンの宣言、ソースの出所、メタデータの交換方法などだ。これらの要素を、外部のソフトウェアや自前のソフトウェア、プロダクション環境などいずれにおいても1つに統合する。

CD Foundation

CI/CDの標準化の意義

標準化する対象

CDFのプロジェクトとしては、まずCDパイプラインツールのTektonがある。そのほか、メタデータのクエリのGrafeasや、サプライチェーン記述のIn-Toto、ソフトウェア部品表のSBOM/SPXをLorenc氏は紹介した。

CDパイプラインツールのTekton

そのほかのCD Foundationプロジェクト

機械学習のプロダクション環境のための
AIエコシステム

KonduitのAdam Gibson氏は、「Definition of an Open Source AI Ecosystem」と題して、機械学習のプロダクション環境のためのAIエコシステムについて解説した。

Konduitは、Linux Foundationのプロジェクトではないが、プロダクション環境に機械学習モデルをデプロイするツールを開発している。なおGibson氏は、Javaの深層学習ライブラリであるDeeplearning4jや、行列演算ライブラリであるND4Jなどの開発者でもある。

KonduitのAdam Gibson氏

Gibson氏のいうAIエコシステムには、オープンソースの深層学習フレームワーク、ファイルフォーマット、オープンなアクセラレーター、オープンなメトリクスがある。

氏はまず、Konduitのエコシステムとして、Sparkなどの分散ランタイム、C++ランタイム、ファイルフォーマット、深層学習コンパイラ、ハードウェア、言語ごとのパッケージングなどを挙げた。

Konduitのエコシステム

その上でAIエコシステムを見たとき、まずオープンソースの深層学習フレームワークは、TensorFlowやPyTorch、Keras、Deeplearning4jなどいくつかが使われている。このイベントの少し前の12月上旬にChainerが開発を終了してPyTorchに移行したことにもGibson氏は言及した。

続いて、ファイルフォーマットには、データ保存の形式としてApache ArrowやProtocol Buffers、JSONなどをGibson氏は紹介。さらに深層学習フレームワークごとのデータ形式や、低レベルのRPCプロトコルであるgRPCなども紹介した。

ファイルフォーマットのAIエコシステム

オープンなアクセラレターとは、GPUやAI専用チップなどのアクセラレーターへの対応で、どんなワークロードでもどのチップでも動かせることを目指す。Gibson氏は、難しいこととして、クロスプラットフォームの演算や、対応が最新のアーキテクチャとは限らないことなどを指摘した。

オープンなアクセラレターのAIエコシステム

オープンなメトリクスとは、AI透明性のメトリクスのことであり、たとえばAIのバイアスなどのメトリクスが相当するという。Gibson氏は、PrometheusやStatsD、Grafanaといった可視化ツールを挙げ、世の中が変化する中で、機械学習モデルについてもDevOpsと同様に正確さやバイアスを可視化して監視し、モデルを更新していく必要があると語った。

オープンなメトリクスのAIエコシステム

* * *

OSSを利用したソフトウェア開発におけるサプライチェーンセキュリティは、静かに問題となっている事項で、GitHubなども取り組んでいる。これをソフトウェアデリバリーの中の問題として位置づけ、CI/CDのベストプラクティスを標準化しようというCDFの話は興味深かった。同様に、機械学習のプロダクション環境へのデプロイのために標準化を進めるKonduitのアプローチも興味深かった。

フリーランスのライター&編集者。IT系の書籍編集、雑誌編集、Web媒体記者などを経てフリーに。現在、「クラウドWatch」などのWeb媒体や雑誌などに幅広く執筆している。なお、同姓同名の方も多いのでご注意。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています