目次


わずか数分で機械学習モデルをデプロイする

コードを 1 行も作成せずに、Watson Machine Learning を利用して数分で機械学習モデルを作成してデプロイする方法を学ぶ

Comments

複雑な機械学習モデルをデプロイする際の大きな課題は、モデルをトレーニングしてデプロイするために必要なランタイム環境の構築に費やさなければならない労力の大きさにあります。このプロセスの速度を上げ、簡単にすることを目的としたサービスを提供しているのが、IBM Cloud です。このチュートリアルでは、Watson Machine Learning (WML) サービスを利用してコードを 1 行も作成せずに、機械学習モデルを IBM Watson Studio プラットフォーム上にデプロイする方法を説明します。Watson Studio を使用すれば、クラウド上に用意された計算能力を利用して、複雑な機械学習モデルのトレーニング時間を短縮できます。一方、WML を利用することで、コードを作成することなくトレーニング済みモデルをデプロイできます。

Watson Machine Learning は、データに最適なモジュールを作成した後、それらのモデルをオンラインにデプロイするために使用できるクラウド・サービスです。さらに、Spark MLLib と Scikit-Learn で作成したカスタム・モデルをインポートすることも、モデルを自動的に選択してトレーニングすることもできます。つまり、機械学習を普及させるために、一般開発の経験を問わず、誰でも簡単にモデルをデプロイできるようになっているのです。

IBM の Watson Studio (以降、「Watson Studio」と略称) は、クラウド上でデータ中心のソリューションを開発する際に必要となるツールをすべて揃えたデータ・サイエンス・プラットフォームです。Watson Studio では Apache Spark クラスターを利用して、複雑な機械学習モデルを開発するために必要な計算能力を提供します。また、アセットを作成する言語としては、Python、Scala、R を選択できます。さらに、Watson Studio 上にインストール済みのオープンソース・フレームワークをアセットの作成に利用できます。Watson Studio を使用すれば、プロジェクトのワークスペースから離れることなく、デプロイ済みのモデルとフローを管理することもできます。

学習の目的

このチュートリアルの目的は、開発スキルがなくても機械学習モデルを作成してデプロイできる簡単な方法を紹介することです。WML を利用すれば、データ・セットをインポートしてモデル・タイプを選択し、複数の推定器を実行してデータに最適な推定器を選択できます。モデルはオンラインにデプロイできるので、(一緒に作業している開発者を含め) どこからでもモデルを呼び出すことができます。

前提条件

ここではデータ・セットとして従業員レコード一式を使用し、特定の従業員に離職の可能性があるかどうかを予測します。このデータ・セットは Kaggle 上に用意されています。これは、人工的に作られた架空のデータです。

このデータを使用するには、その前に、データを少々クリーンアップする必要があります。列のいくつかは有用なものではなく、実際のところ、モデルのパフォーマンスを低下させます。任意のエディターを使用して、EmployeeCountEmployeeNumberOver18StandardHours の各列を削除してください。なぜ EmployeeNumberを削除するのかというと、単なる従業員番号であり、結果に何の影響も与えないからです。EmployeeCountOver18StandardHours はすべてのエントリで同じ値 (それぞれ 1、Y、80) なので削除します。

また、IBM Cloud アカウントをまだ作成していない場合は、新しく作成する必要もあります。さらに、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 時間です。

手順

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

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

Machine Learning サービスを追加する

  1. 新しく作成されたプロジェクトのダッシュボードで、「Add to project (プロジェクトに追加)」ドロップダウン・メニューをクリックし、「Model (モデル)」を選択します。 モデルを追加する画面のスクリーンショット
    モデルを追加する画面のスクリーンショット
  2. モデルの名前を入力してから「Associate a Machine Learning service instance (Machine Learning サービス・インスタンスに関連付ける)」をクリックします。これにより、新しいページが開きます。このページを使用して、新しい Watson Machine Learning サービス・インスタンスを作成します。また、Watson に自動的に分類子を選択させたいのでない限り、分類子をカスタマイズできるよう、モデルの作成方法として「Manual (手動)」を選択してください。「Create (作成)」をクリックして先へ進みます。 AWML サービス・インスタンスを追加する画面のスクリーンショット
    AWML サービス・インスタンスを追加する画面のスクリーンショット

モデルを作成する

  1. 表示されるモデル・ページで、「Add Data Asset (データ・アセットの追加)」をクリックします。 データ・アセットの追加を開始する画面のスクリーンショット
    データ・アセットの追加を開始する画面のスクリーンショット
  2. 「Load (読み込み)」バーをクリックし、前に編集した変更後の .csv ファイルを参照します。アップロードが完了するまで待ってください。 データ・アセットを読み込む画面のスクリーンショット
    データ・アセットを読み込む画面のスクリーンショット
  3. データ・ファイルを選択し、「Next. (次へ)」をクリックします。
  4. 「Column Value to Predict (予測する列値)」項目では、「Attrition (自然削減)」を選択します。これが、予測の対象とする値です。「Feature Columns (特徴列)」では、「All (すべて)」を選択します。これは、デフォルトで選択されているはずです。以上の項目で、それぞれ関連する列、従業員の事前削減を予測するために使用する列を指定します。「Technique (手法)」では、「Binary Estimator (バイナリー推定器)」を選択します。この手法は、「はい/いいえ」または「1/0」の値を予測しようとしていることを意味します。データをクリーンナップしていなかったとしたら、EmployeeCountEmployeeNumberOver18StandardHours を除くすべての列を選択しなければならないことに注意してください。 モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット
  5. 「Add Estimators (推定器の追加)」をクリックし、すべての推定器を選択します。これにより、モデルはすべての推定器をトレーニングすることになるため、推定器のパフォーマンスを比較して、最良のパフォーマンスを発揮した推定器を最終的な分類子として選択できます。
  6. 「Next (次へ)」をクリックし、すべての推定器がトレーニングと評価を完了するまで待ちます。 モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット

モデルをデプロイする

  1. トレーニングが完了したら、パフォーマンスに最も優れた推定器を選択し、「Save (保存)」ボタンをクリックします。 モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット
  2. 新しいデプロイメントを作成するために、「Deployments (デプロイメント)」タブをクリックします。 モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット
  3. 「Add Deployment (デプロイメントの追加)」をクリックし、デプロイメント名前を入力して「Save (保存)」をクリックします。これにより、モデルがインターネット上にデプロイされて一般公開され、API を介してアクセス可能になります。 モデル・ページのスクリーンショット
    モデル・ページのスクリーンショット

おめでとうございます!Watson Machine Learning を利用してモデルのデプロイを完了しました。

まとめ

オンライン上のモデルをテストするには、デプロイメントをクリックし、「Test (テスト)」タブを選択します。注目すべき点として、「Implementation (実装)」タブに表示されているコード・スニペットによって、モデルをアプリケーションに組み込む方法がわかります。

モデル・ページのスクリーンショット
モデル・ページのスクリーンショット
モデル・ページのスクリーンショット
モデル・ページのスクリーンショット

このガイドでは、コードを 1 行も作成せずに、Watson Maching Learning を利用してモデルを作成し、IBM Watson Studio にデプロイしました。IBM Watson Studio は単なる開発プラットフォームではありません。Watson Studio は、コミュニティー主導のコラボレーション・プラットフォームでもあります。Watson Studio を使用すれば、プロジェクトを他のユーザーと共有して、特定のノートブック上で共同作業を行うことができます。


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


コメント

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cognitive computing, ビジネス・アナリティクス
ArticleID=1065492
ArticleTitle=わずか数分で機械学習モデルをデプロイする
publish-date=04182019