目次


IBM Watson Studio 上に Python ノートブックをデプロイする

ノートブックのデプロイ・プロセスを通して IBM Watson Studio で利用できる機能を学ぶ

Comments

複雑な機械学習モデル (例: tensorflow) をデプロイする際に大きな課題となるのは、これらのモデルの計算コストが非常に高く、モデルのトレーニングに相当な時間がかかることです。この課題に対処するソリューションとしては、GPU アクセラレーション、分散コンピューティング、あるいはこの 2 つの組み合わせが挙げられます。IBM Cloud では、GPU アクセラレーションと分散コンピューティングの両方を使用できるようになっています。このチュートリアルではモデルのトレーニング・プロセスを加速させるために、(Tensorflow を使用した) 深層ニューラル・ネットワークを IBM Watson Studio (以降、「Watson Studio」と略称) 上にデプロイします。Watson Studio では、機械学習モデルのトレーニングに、クラウド上に用意された計算能力を利用できるようになっています。したがって、トレーニングに数時間から数日かかるような複雑なモデルでも、トレーニング時間を数分にまで短縮できます。

  • Tensorflow: TensorFlow は、データ・フロー・グラフを使って数値計算を処理するオープンソース・ソフトウェア・ライブラリーです。このライブラリーには、開発者が複雑な深層ニューラル・ネットワークやその他の機械学習モデルを開発する際に必要となるツールが揃っています。TensorFlow を使用して深層ニューラル・ネットワークを構築するには相当な計算能力が必要になりまずが、Watson Studio を使用すれば、トレーニング時間を数時間から数分にまで短縮できます。Tensorflow の詳細については、このリンク先の Tensorflow の Web サイトをご覧ください。
  • Watson Studio: IBM の Watson Studio は、クラウド上でデータ中心のソリューションを開発する際に必要となるツールをすべて揃えたデータ・サイエンス・プラットフォームです。Watson Studio では Apache Spark クラスターを利用して、複雑な機械学習モデルを開発するために必要な計算能力を提供します。また、アセットを作成する言語としては、Python、Scala、R を選択できます。さらに、Watson Studio 上にインストール済みのオープンソース・フレームワーク (TensorFlow など) を利用してアセットを作成できます。

学習の目的

このチュートリアルの目標は、Python で作成されたノートブックを IBM Watson Studio にインポートして実行するプロセスを通して、Tensorflow を使用したニューラル・ネットワークのトレーニング時間をスピードアップさせる Watson Studio の価値を明かにすることです。このチュートリアルでは、Watson Studio で Apache Spark の分散コンピューティング機能を利用し、計算コストの高い複雑なニューラル・ネットワークを Python でデプロイします。手順の流れとしては、まず Watson Studio に登録し、Watson Studio 内で新しいプロジェクトを作成します。そのプロジェクトにノートブックをインポートして、最後にノートブックを実行します。

前提条件

IBM Cloud アカウントをまだ作成していない場合は、手順を開始する前に新しく作成する必要があります。また、IBM Watson Studio に登録する必要もあります。IBM Watson Studio に登録すると、インタラクティブなクラウド・ベースのコラボレーション環境にアクセスできるようになります。

  1. Web ブラウザーで、https://datascience.ibm.com にアクセスします。
  2. 右上にある「Sign Up (登録)」をクリックします。 「Sign Up (登録)」をクリックする画面のスクリーンショット
    「Sign Up (登録)」をクリックする画面のスクリーンショット
  3. 「Sign in with your IBM id (IBM ID でサインイン)」をクリックし、IBM Cloud 資格情報を入力してサインインします。 Sign in with your IBM id (IBM ID でサインイン)」をクリックする画面のスクリーンショット
    Sign in with your IBM id (IBM ID でサインイン)」をクリックする画面のスクリーンショット
  4. 画面上の指示に従って IBM Watson Studio への登録を完了します。「Get Started (開始)」ボタンが有効になったら、それをクリックします。これで、以下に示す Watson Studio ダッシュボードが表示されるはずです。 Watson Studio ダッシュボードのスクリーンショット
    Watson Studio ダッシュボードのスクリーンショット

所要時間

このチュートリアルの所要時間は約 1 時間かかります。

手順

まずは、IBM Watson Studio を表示して、新しいプロジェクトを作成します。次に、作成したプロジェクトにノートブックをインポートします。続いて、サンプル Tensorflow が含まれるノートブックを実行します。最後に、次にとるべきいくつかのステップを紹介します。

新しいプロジェクトを作成する

  1. 「Projects (プロジェクト)」タブをクリックしてプロジェクトのリストを表示します。デフォルトのプロジェクトだけが表示されるはずです。 ランディング・ページのスクリーンショット
    ランディング・ページのスクリーンショット
  2. プロジェクト・リストの右上にあるプロジェクトの作成アイコンをクリックします。 プロジェクトの作成を開始する画面のスクリーンショット
    プロジェクトの作成を開始する画面のスクリーンショット
  3. プロジェクトの名前を入力します (例: ML Model)。画面上の指示に従って、Spark サービスと Object Storage サービスの新規インスタンスを作成します。コンテナーとは、オブジェクト・ストレージで使用するオブジェクトの集合のことです。「Create (作成)」をクリックして新しいプロジェクトを作成します。新しいプロジェクトが作成されると、そのプロジェクトのダッシュボードが表示されます。ここで、ノートブックの作成、データ・アセットのインポート、共同作業者の追加などの操作を行うことができます。 「New Project (新規プロジェクト)」ページのスクリーンショット
    「New Project (新規プロジェクト)」ページのスクリーンショット

新しいノートブックを作成する

  1. 新しく作成されたプロジェクトのダッシュボードで、「Add to project (プロジェクトに追加)」ドロップダウン・メニューをクリックし、「Notebook (ノートブック)」を選択します。 ノートブックを追加する画面のスクリーンショット
    ノートブックを追加する画面のスクリーンショット
  2. 新しい空のノートブックを作成することも、既存のノートブックをインポートするように指定することもできます。インポートする場合は、ファイルまたは既知の URL のいずれかを指定します。この例では、後者の方法を選びます。「From URL (URL から)」タブを選択し、ノートブックの URL として「https://github.com/aounlutfi/building-first-ML-model/blob/master/Complete.ipynb」と入力します。入力し終わったら、「Create Notebook (ノートブックの作成)」をクリックします。これで、インポートが開始されます。 URL からノートブックをインポートする画面のスクリーンショット
    URL からノートブックをインポートする画面のスクリーンショット

ノートブックを実行する

  1. ノートブックを実行するには、コマンド・リボンで「Cell (セル)」をクリックし、「Run all cells (すべてのセルを実行)」をクリックします。これにより、Watson Studio がノートブック内のすべてのコード・スニペットを実行します。データ・セットは 20,000 点の画像で構成されているため、ノートブックの実行が完了するまでに約 15 分かかります。 ノートブックを実行する画面のスクリーンショット
    ノートブックを実行する画面のスクリーンショット

別の方法として、メニューから「Play (再生)」アイコン (以下のスクリーンショットで強調表示されているアイコン) を選択して、単一のセルを実行することもできます。

セルごとに実行するためのアイコンを示す画面のスクリーンショット
セルごとに実行するためのアイコンを示す画面のスクリーンショット

次のステップ

Watson Studio は単なる開発プラットフォームではありません。Watson Studio は、コミュニティー主導のコラボレーション・プラットフォームでもあります。Watson Studio を使用すれば、プロジェクトを他のユーザーと共有して、特定のノートブックで共同作業を行うことができます。さらに、無料のノートブックやデータ・セットなど、コミュニティーによって作成されたコンテンツからメリットを得ることもできます。以下の図に、プロジェクトに共同作業者を追加する方法を示します。

共同作業者を追加する画面のスクリーンショット
共同作業者を追加する画面のスクリーンショット

まとめ

上記の手順を完了すれば、Watson Studio 上のどのフレームワーク (SklearnSpark MLLib など) からでもモデルをデプロイできるはずです。パソコン上に Python と Tensorflow をセットアップして、Tensorflow で提供しているサンプルを実行し、結果を比較してみてください。使用しているマシンのパフォーマンスによっては、トレーニングに数時間、あるいは数日かかることもあります。

さらに学習を進めるには、このトピックに関する以下の IBM コード・パターンをご覧ください。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=ビジネス・アナリティクス, Cognitive computing
ArticleID=1065469
ArticleTitle=IBM Watson Studio 上に Python ノートブックをデプロイする
publish-date=04112019