Notebook Serversを使って機械学習モデルを作成する

連載3回目となる今回は、Notebook Serversを使って、機械学習モデルを作成します。

張替 清音(はりがえ きよなり)

2021年11月26日 6:00

はじめに

前回は、Kubeflowの内部構造の解説と構築を行いました。今回は、Kubeflowのコンポーネントの一つである「Notebook Servers」を使ってJupyter notebookを作成し、その環境上で機械学習モデルを作成するところまでを解説します。なお、本稿の後半部分で解説する機械学習モデルの開発のステップやハンズオンで利用するサンプルは、次回以降に解説するTensorFlow Extended (TFX) を使った機械学習パイプラインの構築にもつながる内容となっているため、おさえておくことをお勧めします。

「Notebook Servers」について

Kubeflowのコンポーネントの一つである「Notebook Servers」は、Jupyter notebookの作成と管理が行える機能を提供しています。管理画面(WebUI)から簡単な設定を行うだけで、Jupyter notebookの作成や利用することができ、ユーザーごとに複数管理することができます。Jupyter notebookはローカル環境においてもAnacondaなどのパッケージを利用することで簡単に導入できますが、「Notebook Servers」を利用するメリットとしては以下の点が挙げられます。

  • 環境の再現性を高められる:「Notebook Servers」はコンテナ化されたJupyter notebookを前提に作成を行うため、あらかじめインストールが必要なパッケージや設定を含めた環境をコンテナイメージとして管理できます。ノートブック(.ipynbファイル)とセットで管理することで、開発時の環境を再現しやすくできます
  • ユーザー間で共有できる:複数のユーザーで利用できる共通の基盤上にJupyter notebookを作成できるため、データ分析や可視化した結果、開発中のモデルなどを共有し共同作業を行うことが可能です。
  • モデルの開発と運用を共通の基盤で実施できる:「KFServing」や「Kubeflow Pipelines」といったモデルのデプロイや運用を行うためのKubeflow のコンポーネントとシームレスに連携することが可能です。

手元の環境で試行錯誤した結果、ようやく高精度なモデルが作成できたとしても、いざ本番環境で稼働させようとした際に、「別の環境では再現ができない(結果が大きく変わってしまう)」や「チーム内で共有したいが簡単に共有できない」「(デプロイ先の環境や運用基盤の違いなどにより)すぐに本番環境で利用できない」といった問題が発生してしまうと、その価値を発揮させることが困難になります。「Notebook Servers」を利用することで、機械学習モデルの開発者が試行錯誤や共同作業ができる環境だけでなく、開発したモデルの本番稼働に近づけることも可能になります。

Jupyter notebook 環境を作成する

それでは、「Notebook Servers」を使って、Jupyter notebookを作成していきます。概略は以下のとおりで、すべてGUIで行うことができます。

  1. 「Kubeflow UI」にアクセス
  2. Jupyter notebook(ノートブックサーバー)の作成
  3. 必要なライブラリのインストール

それでは、まず「Kubeflow UI」にアクセスしてJupyter notebookを作成していきましょう。なお、本連載の第2回で解説した構築手順に沿ってKubeflowを構築済みの方は、記事内に記載されている「ポートフォワーディング」の手順が実施済みであることが前提となっています。

1. Kubeflow UIにアクセス

Kubeflow UIの左側にあるパネルの中から、「Notebook Servers」をクリックします。

図1-1:Kubeflow UI

図1-1:Kubeflow UI

ノートブックサーバーの管理画面に遷移しますので、画面上部にある「+ NEW SERVER」をクリックして新規ノートブックサーバーを作成します。

図1-2:ノートブックサーバー管理画面

図1-2:ノートブックサーバー管理画面

2. Jupyter notebook(ノートブックサーバー)の作成

作成するノートブックサーバーの名前やメモリ等の設定を行います。ノートブックサーバーはコンテナイメージ(Docker Image)から作成します。今回は標準で選択できるコンテナイメージを使用します。

図1-3:ノートブックサーバー設定画面

図1-3:ノートブックサーバー設定画面

本稿で使用するノートブックサーバーの設定は下記のようになります。ここで記載のない項目についてはデフォルト設定のままで問題ありません。

項目名設定値備考
Nameexample-notebookノートブックサーバーの名前
Imagegcr.io/kubeflow-images-public/tensorflow-2.1.0-notebook-cpu:1.0.0ノートブックサーバーのDocker Image
CPU2ノートブックサーバーの CPU個数
Memory5.0Giノートブックサーバーのメモリ容量
※Notebook Servers側の入力規則に従い、単位は「Gi」で設定します

設定が完了したら、画面下部にある「LAUNCH」ボタンをクリックしてノートブックサーバーを作成します。

数分待つとノートブックサーバーの作成が完了します。作成できたら「CONNECT」をクリックしてノートブックサーバーに接続します。

図1-4:ノートブックサーバー管理画面

図1-4:ノートブックサーバー管理画面

ノートブックに接続するとJupyter notebookのUIに遷移します。

図1-5:Jupyter notebook の UI

図1-5:Jupyter notebook の UI

3. 必要なライブラリのインストール

機械学習モデルを開発するために必要なライブラリをインストールします。まずはノートブックを作成するため、画面右上にある[New]→[Python 3]をクリックします。

図1-6:ノートブックの環境選択

図1-6:ノートブックの環境選択

今回必要なライブラリとしてTensorFlow Extended(TFX)、scikit-learn、witwidget、alibi、seaborn、boto3をインストールします。ノートブックのセルにライブラリインストールのコマンドを入力し実行します。

!pip install tfx==1.2.1 scikit-learn==0.24.2 witwidget==1.8.1 alibi==0.6.0 seaborn==0.11.2 boto3==1.20.5 --user

上述のコマンドの実行結果は、以下のようになります。

図1-7:ライブラリインストール結果

図1-7:ライブラリインストール結果

画面上部の「restart the kernel」(赤枠)のボタンをクリックし、ノートブックの環境を再起動します。

図1-8:restart the kernel ボタン

図1-8:restart the kernel ボタン

再起動確認ポップアップが表示されますので、「Restart」ボタンをクリックします。

図1-9. 再起動確認ポップアップ

図1-9. 再起動確認ポップアップ

これで機械学習モデルを開発する環境の準備ができました。次は機械学習モデル開発の各ステップの概要を解説した後に、このJupyter notebookを使った実際の操作を解説していきます。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30