호돌찌의 AI 연구소
article thumbnail

ui의 어느위치에 어떤 기능들이 있는지 한번 알아보겠습니다. 

저번 글 처럼 minikube를 실행하고, port forwarding하여 .localhost:8080에 접속하겠습니다

kubectl port-forward svc/istio-ingressgateway -n istio-system 8080:80

 

** 아래와 같이 접속이 나지 않는 경우가 있었는데, kill PID 를 수행하고 나니 정상적으로 kubeflow에 포트포워딩 되는 것을 알았습니다. 참고 : https://blog.serialexperiments.co.uk/posts/kubernetes-port-forward-already-in-use/

 

 

 

 


 

1. 메인페이지 UI

왼쪽 탭은 기능들이 구성되어있습니다.(각각의 Tab들에 대해 설명을 하나씩 설명할 예정입니다.) 메인 대시보드에서 왼쪽부분 quick shortcut은 자주 쓰이는 부분을 바로 이동할 수 있게 구성되어있습니다. 가운데 부분은 최근 자주 사용한 것들, 우측에는 공식 document 링크들이 존재합니다. activity 부분은 해당 유저의 현재 네임스페이스의 활동 로그들을 볼 수 있습니다.

 

2. Notebook

new notebook 버튼 눌러서 메타정보를 유저로부터 받아서 생성할 수 있습니다. 

- 이름 test, 이미지는 기본적으로 제공해주는 이미지도 있고 커스텀 이미지 주소를 불러서 설정하여 사용할 수 있습니다. (여기에서는 가장 가벼운 이미지 사이즈인 scipy를 활용할 예정입니다.)

- cpu, gpu도 따로 설정이 가능합니다. cpu 부분은 integer가 아닌, 소수 단위로도 지정이 가능합니다. 

- workspace volume, Data volumes : 기본적으로 주피터노트북은 pod이기 때문에 stateless합니다. 따라서 주피터노트북 작업을 하여도 사라질 수 있습니다. 따라서 영구히 보존하기 위해서는 mount point 지정하여 활용하여야합니다

- Configurations : 어떠한 민감정보나 환경 변수들을 노트북에서 불러와서 사용이 가능합니다.

- Affinity/Tolerations : 여러 종류의 노드(어떤 노드는 메모리가 많고, 어떤 노드들은 gpu가 많고 등등 노드마다 기능이 다르게 구성했을 때를 가정)들로 구성했을 때, 특정 노드에만 스케쥴링할 수 있습니다.

configurations, affinity/tolerations 부분은 건드리지 않고 그대로 두고 LAUNCH를 눌러 진행합니다.

connect 부분이 활성화가 되면 접속이 가능합니다. 이미지를 pull 받는데 시간이 좀 소요가 됩니다.

 

접속하면 주피터랩이 생깁니다. 실제로 잘 패키지가 import되는 것을 알 수 있습니다. 

 

 

3. Tensorboard

object store : amazon s3 등 연결하여 사용합니다. 다루지 않을 예정입니다. 

 

4. volumes

쿠버네티스 관점에서는 PVC 리소스를 뜻합니다. new volume 하면 나만의 volume을 생성이 가능합니다. 다루지 않을 예정입니다. 

 

5. models

버전 1.4에서 추가된 탭인데, kfserving 시에 활용이 가능하며 많은 기능을 제공을 현재로써는 해주지 않습니다. 다루지 않을 예정입니다. 

 

6. experiments(AutoML)

katib experiments를 관리할 수 있습니다. 추후에 자세히 다룰 예정입니다.

 

7. experiments(KFP)

여러 kubeflow pipeline을 실행한 결과를 실험단위, 데이터단위, 모델 단위 등으로 논리적인 단위로 유저가 그룹짓기 위한 공간. pipeline을 run할때에는 반드시 kfp run의 실행결과를 어떤 experiements에 저장할 것인지를 넘겨주어야하기 떄문에 미리 생성이 되어있어야합니다. 그래서 미리 experiments를 create 해보겠습니다.

메타 정보인 이름과 description 만 입력합니다. 

Pipeline과 Experiment를 선택할 수 있습니다. Pipeline에 대해서는 추후에 자세히 다룰 예정입니다. 

 

 

 

 

 

 

 

 

8. pipelines

튜토리얼 pipeline이 존재하고 소스코드를 눌러 확인이 가능합니다. 튜토리얼 Pipeline이 5개 정도 있는데, 특정 Pipeline은 parameter를 요구하고, 요구를 하지 않는 Pipeline도 있습니다. 

 

DSL - Control structures Pipeline과 같은 경우에는 Parameter를 요구하지 않는다. 

 

parameter를 요구하는 Pipeline의 예시

 

 

 

create Run을 눌러보면 메타정보들을 입력하고, 실험을 입력합니다. run에 parameter가 있으면 따로 입력을 해줍니다. start를 누릅니다. 

 

 

 

 

 

9. Runs 

KFP 실행 한 결과를 여기에서 볼 수 있습니다.  위에서 start 누른 pipeline을 Runs 페이지에서 확인이 가능합니다.

 

이 부분은 container가 생성 중이라 Pending상태라서 세부내용을 확인을 하지 못한 상태

좌측 Graph 부분은 DAG형태로 볼 수 있습니다. Components 별로 성공/실패 여부도 알 수 있고, 걸리는 시간도 알 수 있고 로그 등을 알 수 있습니다.

 

 

10. Recurring Runs

Run type을 one-off, Recurring을 정할 수 있는데 특정 파이프라인을 시작시간과 끝낼 시간을 정하여 주기적으로 실행하여서 보고 싶을때 설정하여 볼 수 있는 곳입니다.

 

11. Artifacts, execution

이번 글 시리즈에서는 다루지 않을 예정입니다.

 

12. Manage Contributors

 이 탭은 회사같은 경우에 여러 사람들이 협업하면서 kfp 결과나 주피터 결과들을 공유하고 싶을 떄 활용이 가능합니다. 공유할 유저의 계정정보를 반영하면 타 namespace로 접근하여 타인의 작업물을 구경할 수 있습니다. 

화살표 부분에 namespace를 생성

 

 

생성하고 나서 왼쪽상단에 타인의 namespace를 볼 수 있다

 

 

다음 글 부터는 Pipeline을 다루겠습니다. 

 

 


https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 


profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!