Pages List
List view
서버 사용하기
서버 사용하기
기존 Server Guide
기존 Server Guide
MLXP 개요
MLXP 개요
Naver Cloud Platform
Naver Cloud Platform
MLXP 사용 유의점
- 사용이 끝난 Notebook은 반드시 stop을 눌러 자원을 반납해 주세요.
- 다중 GPU를 사용할 때에는 사용중인 Notebook을 꼭 확인해주세요.
(Resource가 부족하면 Notebook 실행이 안되거나, 다른 사람이 작업을 하지 못합니다.)
- CPU/RAM 할당은 본인 프로젝트 규모에 맞게 설정해주세요.
(권장치는 어디까지나 권장입니다.)
- 작업 전, 가상 환경과 interpreter가 잘 설정되어있는지 확인해주세요.
- 서버 Spec (1대당)
- CPU: 64C/128T
- 메모리: 2048G
- GPU: NVIDIA H200 x 8개
NoteBook 생성하기
MLXP 환경에서 코드를 작성하고 실행하는 곳이 Notebook입니다.
다른 부분은 신경쓰실 필요 없이, Notebook 생성만 해주시면 됩니다.
다른 부분은 신경쓰실 필요 없이, Notebook 생성만 해주시면 됩니다.
혹시 모를 상황을 대비하여 중요 코드는 따로 backup 해두시는걸 권장합니다.
노트북에서 하나의 프로젝트가 아닌 여러 프로젝트로 실험하고 싶으시면,
conda 환경을 추가로 만들어서 사용하셔도 무방합니다.
conda 환경을 추가로 만들어서 사용하셔도 무방합니다.
Kubernetes 환경에서 project는 개별적인 kubernetes namespace를 가집니다.
이 Namespace 공간에서, Notebook을 생성하면 Notebook은 개별 Pod을 가지며,
Pod안에서 container가 실행되어 사용자가 작업할 수 있습니다.
이 Namespace 공간에서, Notebook을 생성하면 Notebook은 개별 Pod을 가지며,
Pod안에서 container가 실행되어 사용자가 작업할 수 있습니다.
- Notebook Title
{자원}-{환경}-{이름}-{tag}
ex) gpu4-vsc-jhch-kidney / cpu-jpy-jhch-xai
꼭 위와 같은 규칙에 맞추어 사용해 주세요.
- 사용 용도
Jupyter Notebook으로 작업할 지, VSC를 통해 작업할지 정합니다.
(용도에 따라서 image가 변경됩니다. VSC가 편합니다.)
- Image
Container에 올릴 image를 선택합니다. 기본으로 제공하는 Image를 사용하면 됩니다.
- CPU/Memory
최소/최대 CPU 와 최소/최대 Memory 용량(GB)를 지정할 수 있습니다.
추천드리는 세팅은 다음과 같습니다. - Min 설정 : CPU 16 / RAM 128GB
- Max 설정 : CPU 32 / RAM 256GB
다만, 본인이 사용할 작업에 따라서 유연하게 설정해주시면 됩니다.
최소/최대 설정 의미
Kubernetes 의 스케줄러는 Requests값을 전달하고, 이 기준으로 WorkNode에 Pod가 들어갈 수 있는지 확인합니다.
최대를 지정하는 이유는, 메모리 누수나 다른 결함으로 인해 해당 Node의 모든 Resourece를 차지할수 있기 때문입니다.
또한, Pod에서는 Request된 자원들을 항상 100% 사용하는건 아닙니다.
최대를 지정하는 이유는, 메모리 누수나 다른 결함으로 인해 해당 Node의 모든 Resourece를 차지할수 있기 때문입니다.
또한, Pod에서는 Request된 자원들을 항상 100% 사용하는건 아닙니다.
- GPUs
쓸 GPU의 수를 지정합니다. H200의 단일 성능도 매우 뛰어나기 때문에, 1로 설정해주세요.
(큰 규모가 필요하다면 따로 교수님께 문의)
- Workspace Volume
자동으로 만들어진 volume에 대해서 삭제 버튼을 누르고, Attach existing volume을 눌러줍니다.
위 사진과 동일하게 설정해 주세요. Mouth path는
위 사진과 동일하게 설정해 주세요. Mouth path는
/home/irteam 이어야 합니다.- Data Volume
Data Volume은 따로 지정할 필요 없습니다.
- Advanced Settings
GPU를 사용하시는 경우, Configurations의 두개 모두 체크해주셔야 합니다.
CPU만 사용하시는 경우, Zone:private-h200-aimhi-0 부분만 체크해주세요.
CPU만 사용하시는 경우, Zone:private-h200-aimhi-0 부분만 체크해주세요.
작업 디렉토리 생성 &가상환경 만들기
Notebook을 생성한 이후, 조금 기다리면 Notebook을 이용할 수 있습니다. (좀 많이 걸립니다.)
connect 버튼을 눌러 Notebook에 접속합니다.
- 개인 폴더 생성
# mkdir {영어이름명} mkdir jhch # 폴더 생성 확인 ls # 작업 폴더로 이동 cd jhch
Terminal 창을 열어 작업을 위한 개인 폴더를 생성해줍니다.
- 작업 폴더로 이동
현재 상태에서는 좌측에 불필요한 폴더들이 보입니다. url 입력창에 방금 만든 폴더 경로를 입력해줍니다.
(url을 통해 작업할 공간을 옮겨다닐 수 있습니다.)
(url을 통해 작업할 공간을 옮겨다닐 수 있습니다.)
- 가상환경 경로 확인
작업 폴더에 conda 가상 환경을 만들어 주겠습니다. 먼저, 가상환경 생성 경로를 확인해주세요.
# conda create -n {영어이름명_env} python={사용할 파이썬 버전} conda config --show envs_dirs
사진처럼
사진과 다르게 나온다면 꼭 알려주세요.
/home/irteam/conda_envs 가 가장 상단에 있는지확인해주세요.사진과 다르게 나온다면 꼭 알려주세요.
- 가상환경 생성
# conda create -n {영어이름명_env} python={사용할 파이썬 버전} conda create -n jhch_env python=3.10
conda 가상환경을 생성해줍니다.
이렇게 나오면 됩니다.
- 최종 확인
가상환경이
/home/irteam/conda_envs/~ 에 잘 저장되었는지 확인해주세요.작업 중, CPU/GPU/RAM 과 같은 Resource가 더 필요한 경우가 있을 수 있습니다.
Notebook을 새로 만드신 후에, 해당 폴더로 이동 및 가상환경 활성화하여 사용해주시면 됩니다.
Notebook을 새로 만드신 후에, 해당 폴더로 이동 및 가상환경 활성화하여 사용해주시면 됩니다.
TensorBoard
MLXP는 Model의 학습 모니터링을 TensorBoard를 통해 제공하고 있습니다.
마찬가지로 추가버튼을 누르면 위와 같은 화면이 뜹니다.
- Name
Tensorboard의 이름을 지정합니다. - Notebook 생성시의 이름과 연결되도록, {이름}-{tag} 형태로 적어주세요.
- 추가 내용 필요시 {이름}-{tag}-{추가내용} 형태로 작성해주세요.
- Storage Type
Tensorboard의 로깅이 저장되는 장소를 정합니다. Volume으로 지정해주세요.
- Volume
Volume 이름은 public-workspace 로 지정해주세요. - Mountpath는 전체 경로가 아닌,
home/irteam이하의 경로를 지정해주면 됩니다.
ex) 전체 경로가home/irteam/jhch/logs라면,jhch/logs만 기입.
- Configurations
꼭 둘다 체크해주셔야 합니다.
Object Storage/NCloud Storage
엔드포인트를 지정해주면 됩니다.
현재 Object Storage/NCloud Storage 서비스는 따로 제공하지 않고 있습니다.
Volume으로 지정해주세요.
현재 Object Storage/NCloud Storage 서비스는 따로 제공하지 않고 있습니다.
Volume으로 지정해주세요.
Volume은 이미 세팅되어있습니다.
추가로 작업할 일은 없지만, 이해를 돕기위해 작성되었습니다.
추가로 작업할 일은 없지만, 이해를 돕기위해 작성되었습니다.
Volume 생성하기
좌측의 Volume 탭을 클릭 후, 파란색 추가 버튼을 누르면 사진처럼 뜹니다.
- Volume title
볼륨 이름을 정합니다.
- Size
Volume의 크기를 정합니다. 단위는 Gi입니다.
- Storage Class
어떤 종류의 Storage를 사용할지 정합니다.
DDN으로 설정하는게 보통이며, 간단하게 테스트나 실험할 용도로만 local-path를 지정하는것이 좋습니다.
- Access Mode
접근 방식을 정합니다. ReadWriteOnce / ReadWriteMany가 있으나, RWX로 지정합니다.
이후 생성 버튼을 누르면 됩니다.