랜덤워크의 시퀀스 생성 단계에서 갑자기,, 의문이 생겼다...
샘플링 안하면 어떻게 되는데...?
라는 생각이 계속 들었다.. GCN에서 노드와 엣지를 만들고 난 뒤, 시퀀스 데이터를 생성하는 단계에서 여러가지 방법론들을 배우며 시작되었다 ㅋㅋㅋ
모든 노드에서 시작되는 시퀀스를 생성하고, 한 시퀀스 당 길이를 설정하고, 한 노드 당 랜덤워크를 생성하는 횟수를 결정하고, BFS(넓이우선탐색)/DFS(깊이 우선탐색) 을 각각 어느정도로 적용할건지 설정하고.. 이런 방법론들을 배우면서 말이다.. 타 알고리즘들이랑 샘플링기법들 다 잘 배워놓고.. 정보 과잉의 문제점에 대해서도 잘 배워놓고... 모델 돌려놓고 오래 걸려서 발 동동 굴러보고도... 왜 갑자기 이러는지는 나도 모르겠다..
암튼 나 스스로에게 "GCN을 할 때 왜 샘플링을 해야 하는지 납득시켜줄게." 라는 것을 목적으로 포스팅을 좀 끄적거려 보면..
1. 대부분의 네트워크는 대규모의 노드를 갖고 있다..
ex. 페이스북 이용자 수..
2. 대규모 그래프를 가정해보자.
- 노드의 수가 100,000 개이고,
- 평균 이웃 노드 수가 10개,
- 랜덤워크 길이 4의
모든 가능한 랜덤워크 시퀀스를 생성한다면?
경우의 수 = 100,000×10^3=100,000 * 1,000 = 10^8 = 100억개의 시퀀스
3. 시퀀스 생성하고, 처리(임베딩벡터 생성) 까지 하는 데에 어느정도 비용이 들까. (가정)
(가정한 것이기 때문에 비용/용량 관련하여 구체적인 숫자는 다를 수 있음)
4. ..? 생각보다 낼만 한데?
- 임베딩계산은 전체 워크플로우의 첫 단계. (반복학습, 하이퍼파라미터 튜닝, 교차검증 아예 시작도 하기 전)
- ex. epoch 10번, 튜닝할 하이퍼파라미터 5개, 이렇게만 해도 최종 비용은 기본 비용의 약 50배 증가
- 따라서 15달러가 아니라 약 750달러가 될 수 있음.
- 더 복잡한 모델이라면 수천달러로 증가. (상방 뚫려있음..ㅎㅎ)
- 노드가 10만개보다 더 크다면? 랜덤워크 수 4 초과로 늘린다면..? 또한 상방이 뚫려있음.
- +단일 클러스터의 메모리 용량 초과할 경우, 메모리 스왑 및 데이터 이동시간 추가 발생, 저장공간도 병목현상 생길 수 있음
- 클라우드 서비스 비용은 자원 수료에 따라 변동될 수 있음..
5. 따라서 장기적으로 보았을 때 샘플링 제대로 안하면 큰일이 날 수있다.
(=샘플링을 제대로 못하는 엔지니어는 회사의 예산을 혼자 다 써 버릴수가 있다..!)
흠.. 충분히 납득이 된 것 같다.
사실 공부가 하기 싫어서 든 생각인 것 같다. 얼른 과제하러 가야겠다. 총총....
'대학원 일기' 카테고리의 다른 글
[성균관대 데이터사이언스융합] 기댓값과 분산의 성질을 왜 외워야 하는가.. (0) | 2024.10.08 |
---|---|
[인문학] 고명환 연사 초청 세션 (0) | 2023.11.07 |
[성균관대 데이터사이언스융합] 대학원 생활 이모저모 (3) | 2023.10.20 |
[성균관대 데이터사이언스융합] 논자시(논문제출자격시험).. 후기 (15) | 2023.10.12 |
[석사학위논문] 논문작성 팁 워크숍 요약 (0) | 2023.02.08 |