커스텀 컨테이너를 사용하여 관리형 노트북 인스턴스 만들기

이 페이지에서는 커스텀 컨테이너를 노트북 파일을 실행할 수 있는 커널로 Vertex AI Workbench 관리형 노트북 인스턴스에 추가하는 방법을 설명합니다.

개요

관리형 노트북 인스턴스에서 사용할 커스텀 컨테이너를 추가할 수 있습니다. 그런 다음 커스텀 컨테이너를 노트북 파일을 실행할 수 있는 로컬 커널로 사용할 수 있습니다.

커스텀 컨테이너 요구사항

Vertex AI Workbench 관리형 노트북에서는 현재 Deep Learning Containers 컨테이너 이미지를 지원합니다.

자체 커스텀 컨테이너 이미지를 만들려면 Deep Learning Containers 컨테이너 이미지 중 하나를 수정하여 파생 컨테이너 이미지를 만들면 됩니다.

커스텀 컨테이너 이미지를 처음부터 만들려면 컨테이너 이미지가 다음 요구사항을 충족하는지 확인합니다.

  • 유효한 Jupyter kernelspec가 하나 이상 포함된 Docker 컨테이너 이미지를 사용합니다. 이렇게 노출된 kernelspec을 사용하면 Vertex AI Workbench 관리형 노트북이 컨테이너 이미지를 커널로 로드할 수 있습니다. 컨테이너 이미지에 JupyterLab 또는 Jupyter 노트북 설치가 포함된 경우 설치에 기본적으로 kernelspec이 포함됩니다. 컨테이너 이미지에 kernelspec이 없으면 직접 kernelspec을 설치할 수 있습니다.

  • Docker 컨테이너 이미지가 sleep infinity를 지원해야 합니다.

  • 관리형 노트북 실행자로 커스텀 컨테이너를 사용하려면 커스텀 컨테이너에 nbexecutor 실행이 포함되는지 확인합니다.

다음 예시 Dockerfile 텍스트는 Ubuntu 이미지를 기반으로 하고 최신 Python 버전을 포함하는 커스텀 Docker 이미지를 처음부터 새로 빌드합니다.

FROM --platform=linux/amd64 ubuntu:22.04

RUN apt-get -y update
RUN apt-get install -y --no-install-recommends \
python3-pip \
pipx \
git \
make \
jq

RUN pip install \
argcomplete>=1.9.4 \
poetry==1.1.14 \
jupyterlab==3.3.0

# Create a link that points to the right python bin directory
RUN ln -s /usr/bin/pythonVERSION_NUMBER /usr/bin/python

VERSION_NUMBER를 사용 중인 Python 버전으로 바꿉니다.

커스텀 컨테이너가 관리형 노트북에서 커널이 되는 방식

관리형 노트북 인스턴스는 인스턴스가 시작할 때 제공된 커스텀 컨테이너 이미지마다 컨테이너 이미지에서 사용 가능한 Jupyter kernelspec을 식별합니다. kernelspec은 JupyterLab 인터페이스에 로컬 커널로 표시됩니다. kernelspec을 선택하면 관리형 노트북 커널 관리자가 커스텀 컨테이너를 커널로 실행하고 해당 커널에서 Jupyter 세션을 시작합니다.

커스텀 컨테이너 커널이 업데이트되는 방식

Vertex AI Workbench는 다음 상황에서 커널의 최신 컨테이너 이미지를 가져옵니다.

  • 인스턴스를 만들 때.

  • 인스턴스를 업그레이드할 때.

  • 인스턴스를 시작할 때.

커스텀 컨테이너 커널은 인스턴스가 중지될 때 유지되지 않으므로 인스턴스가 시작될 때마다 Vertex AI Workbench가 컨테이너 이미지의 최신 버전을 가져옵니다.

인스턴스 실행 중에 컨테이너의 새 버전이 출시되면 인스턴스를 중지하고 시작해야 인스턴스의 커널이 업데이트됩니다.

커스텀 컨테이너 이미지 가용성

모든 사용자가 Deep Learning Containers 컨테이너 이미지를 사용할 수 있습니다. Deep Learning Containers 컨테이너 이미지를 사용할 때 인스턴스가 Deep Learning Containers 컨테이너 이미지를 커널로 로드할 수 있도록 인스턴스의 서비스 계정에 특정 역할을 부여해야 합니다. 권한 섹션에서 필수 권한과 권한 부여 방법을 자세히 알아보세요.

자체 커스텀 컨테이너 이미지를 사용하려면 Artifact Registry에 있어야 하며 컨테이너 이미지가 공개적으로 사용 가능해야 합니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks and Artifact Registry APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks and Artifact Registry APIs.

    Enable the APIs

인스턴스를 만드는 동안에 커스텀 컨테이너 추가

커스텀 컨테이너를 관리형 노트북 인스턴스에 추가하려면 인스턴스를 만들 때 커스텀 컨테이너 이미지를 지정해야 합니다.

관리형 노트북 인스턴스를 만드는 동안 커스텀 컨테이너를 추가하려면 다음 단계를 완료합니다.

  1. Google Cloud 콘솔에서 관리형 노트북 페이지로 이동합니다.

    관리형 노트북으로 이동

  2. 새로 만들기를 클릭합니다.

  3. 이름 필드에 인스턴스의 이름을 입력합니다.

  4. 리전 목록을 클릭하고 인스턴스의 리전을 선택합니다.

  5. 환경 섹션에서 커스텀 Docker 이미지 제공을 선택합니다.

  6. 다음 방법 중 하나로 Docker 컨테이너 이미지를 추가합니다.

    • Docker 컨테이너 이미지 경로를 입력합니다. 예를 들어 Deep Learning Containers의 가속기로 TensorFlow 2.12 컨테이너 이미지를 사용하려면 us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310을 입력합니다.
    • 선택을 클릭하여 Artifact Registry에서 Docker 컨테이너 이미지를 추가합니다. 그런 다음 컨테이너 이미지가 저장된 Artifact Registry 탭에서 프로젝트를 컨테이너 이미지가 포함된 프로젝트로 변경한 후 컨테이너 이미지를 선택합니다.
  7. 필요에 따라 인스턴스 만들기 대화상자의 나머지 부분을 완료합니다.

  8. 만들기를 클릭합니다.

  9. Vertex AI Workbench가 자동으로 인스턴스를 시작합니다. 인스턴스를 사용할 수 있으면 Vertex AI Workbench에서 JupyterLab 열기 링크를 활성화합니다.

Deep Learning Containers 컨테이너 이미지에 대한 권한 부여

Deep Learning Containers 컨테이너 이미지를 사용하지 않는 경우 이 섹션을 건너뜁니다.

인스턴스의 서비스 계정에 Artifact Registry에서 Deep Learning Containers 컨테이너 이미지를 로드하는 데 필요한 권한을 갖게 하려면 관리자에게 인스턴스의 서비스 계정에 인스턴스에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 인스턴스의 서비스 계정에 필요한 권한을 부여할 수도 있습니다.

커스텀 컨테이너에서 실행할 노트북 파일 설정

JupyterLab을 열려면 새 노트북 파일을 만들고 커스텀 컨테이너의 커널에서 실행되도록 설정한 후 다음 단계를 완료합니다.

  1. 관리형 노트북 인스턴스 이름 옆에 있는 JupyterLab 열기를 클릭합니다.

  2. 관리형 노트북 인증 대화상자에서 버튼을 클릭하여 인증 코드를 가져옵니다.

  3. 계정을 선택하고 허용을 클릭합니다. 인증 코드를 복사합니다.

  4. 관리형 노트북 인증 대화상자에서 인증 코드를 붙여넣고 인증을 클릭합니다.

    관리형 노트북 인스턴스가 JupyterLab을 엽니다.

  5. 파일 > 새로 만들기 > 노트북을 선택합니다.

  6. 커널 선택 대화상자에서 사용할 커스텀 컨테이너 이미지의 커널을 선택한 후 선택을 클릭합니다. 용량이 큰 컨테이너 이미지는 커널로 표시되는 데 시간이 다소 걸릴 수 있습니다. 원하는 커널이 아직 없으면 몇 분 후에 다시 시도하세요. 노트북 파일을 다른 커널에서 실행할 때마다 커널을 변경할 수 있습니다.

    새 노트북 파일이 열립니다.

다음 단계