すべてのプロダクト
Search
ドキュメントセンター

:ノートブックの作成と使用

最終更新日:Oct 29, 2024

データサイエンティストは、クラウドネイティブのAIスイートを使用してJupyterおよびVisual Studio (VS) Codeノートブックを作成し、機械学習アルゴリズムを開発およびデバッグし、モデルトレーニングのためにこれらのアルゴリズムをContainer Service for Kubernetes (ACK) クラスターに提出できます。 クラウドネイティブAIスイートを使用すると、オープンソースのJupyterLab、カスタムJuypterノートブックイメージ、またはカスタムVS CodeノートブックイメージをACKクラスターにデプロイしてAI開発環境をセットアップし、クラウドネイティブAIスイートの構成をACKの権限管理システムと統合できます。 このトピックでは、クラウドネイティブAIスイートを使用してノートブックを作成および使用する方法について説明します。

前提条件

ノートブックの紹介

  • クラウドプラットフォームに統合できる機械学習実験環境を提供します。 この環境では、オンプレミスのマシンで機械学習モデルを開発できます。

  • データセットをコピーして処理するツールを提供します。 これにより、処理されたデータを永続ストレージに送信できます。 ビッグデータツールを使用してデータセットを処理することもできます。

  • モデルテストやデータの前処理などの機械学習プロセスの環境を提供します。 この環境では、機械学習ジョブのコードを作成およびデバッグし、コードをDockerイメージにパッケージ化して、イメージをクラスターまたはリモートのContainer Registryリポジトリにプッシュできます。

ステップ1: ノートブックを作成する

  1. AI開発者コンソールにログインします。 詳細については、「AI開発者コンソールへのログイン」をご参照ください。

  2. AI Developer Consoleの左側のナビゲーションウィンドウで、ノート.

  3. On theノートページをクリックします。ノートブックの作成.

  4. では、ノートメッセージ,ノートブックの構成、および高度な設定セクション、パラメータを設定し、ノートブックの作成.

    create_notebook

    • [ノートブックメッセージ] セクション:

      1. ノートブック名ノートブックイメージ、および名前空間を設定します。 選択した名前空間は、クラスター管理者がAI開発用に作成した名前空間である必要があります。 デフォルトのノートブックイメージまたはカスタムノートブックイメージを選択できます。 要件に基づいて他のパラメーターを設定します。

        説明
        • ノートブックイメージを指定したら、要件を満たすノートブックイメージを選択します。 JupyterノートブックではJupyterノートブックイメージを選択し、VS CodeノートブックではVS Codeノートブックイメージを選択する必要があります。 そうしないと、ノートブックは通常どおり機能できません。

        • カスタムノートブックイメージは、現在のクラスターでのみ使用できます。 カスタムノートブックイメージを他のクラスターやユーザーに共有することはできません。

      2. Workspace PVCをオンにします。 [ターゲットPVC] ドロップダウンリストから、ワークスペースに関連付けられている永続ボリューム要求 (PVC) を選択します。

      3. [トークン] スイッチをオンにして、ノートブックにカスタムトークンを挿入し、セキュリティを強化します。 Jupyterノートブックのみがこの機能をサポートしています。

      4. ノートブックタイプを指定して、イメージの起動方法を選択します。 異なるタイプのノートブックは異なる環境を必要とする。 たとえば、ノートブックタイプJupyterに設定されている場合、Jupyterノートブックが作成されます。

    • では、ノートブックの構成セクション、セットCPU (コア),メモリ (GB)、およびGPU (カード番号).

    • [事前設定] セクションでは、ノートブックの [ラベル][注釈][NodeSelector] 、および [許容度] を設定できます。

  5. ノートブックが作成されたら、ノートページをクリックし、作成したノートブックをクリックして詳細情報を表示します。

ステップ2: Jupyterノートブックを使用する

Jupyterノートブックの作成と使用

  1. On theノートページにあるJupyterノートブックをクリックします。ランニング 状態.

  2. 表示されるページで、Python 3で、ノートセクションにアクセスします。

    説明

    ノートブック作成ページでは、ACKが提供するノートブックイメージはPythonのみをサポートしています。 他の言語を使用する場合は、Dockerファイルからカスタムノートブックイメージを構築できます。 詳細については、「カスタムノートブックイメージの作成」をご参照ください。

    23

  3. Arenaを使用して、ノートブックでジョブを送信します。

    方法1: Arena CLIを使用してジョブを送信する

    24

    方法2: Arena SDK for Pythonを使用してジョブを送信する

    25

VSコードノートブックの使用

  1. On theノートページでノートブックを選択します。ランニング 状態その名前をクリックします。

  2. VSCodeページでは、オンプレミス環境と同じVSコードのような開発エクスペリエンスを提供します。 クラスターのkubeconfigファイルがノートブックに挿入され、環境変数をカスタマイズできます。

    image..png

カスタムノートブックイメージの作成

カスタムノートブックイメージを作成する前に、JupyterノートブックまたはVS Codeノートブックに最新のArenaコンポーネントバージョンをインストールする必要があります。 これにより、ノートブックでデモを実行できます。 Arenaコンポーネントのインストール方法の詳細については、「Arenaクライアントの設定」をご参照ください。

説明

カスタムノートブックイメージは、現在のクラスターでのみ使用できます。 カスタムノートブックイメージを他のクラスターやユーザーに共有することはできません。

カスタムJupyterノートブックイメージを作成する

さまざまな要件を満たすために、次の図に示すように、Jupyter notebookのノートブックページでカスタムJupyterノートブックイメージを作成できます。

28

次の手順を実行して、Dockerファイルを作成し、イメージをビルドできます。

説明

イメージにインストールされるjupyterlabのバージョンは3.0.0以降である必要があります。

FROM tensorflow/tensorflow:1.15.5-gpu
USER root
RUN pip install jupyter && \
    pip install ipywidgets && \
    jupyter nbextension enable --py widgetsnbextension && \
    pip install jupyterlab && jupyter serverextension enable --py jupyterlab
# Download and install Arena SDK for Python. 
RUN pip install arenasdk
# If you use other methods to install JupyterLab, you need to expose the Service through port 8888. 
EXPOSE 8888
USER jovyan

カスタムVSコードノートブックイメージを作成する

さまざまな要件を満たすために、次の図に示すように、VS Code notebookのノートブックページでカスタムVS Codeノートブックイメージを作成できます。

image..png

次の手順を実行して、カスタムDockerファイルを作成し、イメージをビルドできます。

FROM ubuntu:18.04
ユーザールート

RUN aptアップデート&& \
  	aptインストール-yカール

ランcd /opt && \
  	wget https://aliacs-k8s-cn-hongkong.oss-cn-hongkong.aliyuncs.com/arena/install.sh && \
    /opt/install.sh

イメージをビルドできるようにするには、選択したベースイメージに基づいてDockerファイルの内容を変更する必要があります。

ノートブックを画像として保存する

クラウドネイティブAIスイートのAI開発者コンソールでは、バージョン1.0.22以降のack-ai-dev-Consoleコンポーネントを使用すると、ノートブックをイメージとして送信してホストに保存できます。 これにより、ノートブックの開発環境を保存できます。

説明

この機能は、バージョン1.0.22以降のack-ai-dev-consoleコンポーネントを使用して作成されたノートブックインスタンスのみをサポートします。 この操作は、既存のノートブックインスタンスでは実行できません。

ノートブックをイメージとして保存するには、次の手順を実行します。

  1. Notebookでack-commit-agentコンポーネントのクライアントバイナリーツールをダウンロードします。 ツールをダウンロードするには、ここをクリックしてください。

  2. Notebookで次のコマンドを実行して、クライアントをグローバルに実行可能にします。

    chmod +x ack-commit-ctl
    mv ack-commit-ctl /usr/bin/
  3. このツールを使用して、ノートブックを画像として送信および保存します。 次の例は、イメージを送信する方法を示しています。

    ack-commit-ctl commit image-commit-sample:v0.1.0-test
    INFO[0000] container id: xxx
    INFO[0002] Container save success, image: image-commit-sample:v0.1.0-test

    ノートブックの送信後に前述の出力が表示される場合、ノートブックはイメージとして保存されます。

  4. 次のコマンドを実行して、イメージリポジトリのユーザー名とパスワードを指定し、イメージリポジトリにイメージをプッシュします。

    ack-commit-ctl push image-commit-sample:v0.1.0-test --username=username --password=password
    INFO[0000] Start pushing the image:  image-commit-sample:v0.1.0-test 
    INFO[0000] Waiting...                                   
    INFO[0003] Image pushed successfully: image-commit-sample:v0.1.0-test

    前の出力が表示されると、イメージはイメージリポジトリにプッシュされます。

保存したイメージの使用

  1. ack-ai-dev-consoleコンポーネントが1.0.21以降に更新されていることを確認してください。

  2. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  3. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [ポッド] を選択します。

  4. [ポッド] ページで、画像として保存されているノートブックのポッドを見つけ、ポッドの名前をクリックします。 ポッドの詳細ページで、ポッドがデプロイされているノードの名前を取得できます。

  5. [ノートブック] ページでノートブックを作成します。

    1. [イメージプルシークレット] セクションで、作成したノートブックイメージを選択します。 右側の [事前設定] セクションで、[NodeSelector] を設定します。 NodeSelectorのキーをkubernetes.io/hostnameに設定し、値を手順4で取得したポッド名に設定します。

    2. [ノートブックの作成] をクリックします。 ノートブックを作成できる場合は、保存された画像が使用されます。