Vetex AI
- 학습 시키기
" Vertex AI의 세 번째 포스팅입니다 "
" 이전의 내용은 이전 포스팅을 참고해주세요 "
라벨링된 데이터를 통해 모델 학습
이전 포스팅에서 데이터를 라벨링하여서 AI가 사용하는 저장소에 라벨링된 데이터를 넣어두었습니다.
이제는 라벨링된 데이터를 학습시켜줍니다.
Vertex AI 는 AUTOML로 하이퍼파라미터 부터 다양한 설정을 모델이 판단하여 학습을 진행하기 때문에 우리가 설정할 수 있는 설정이 얼마 있지 않습니다.
일단 먼저 학습을 시켜주기 위해서 아래의 Vertex 데이터 세트에 접속합니다.
바로 Vertex 학습 메뉴로 이동하여도 무방합니다.
일단 데이터세트에 메뉴에 있다면 오른쪽의 새 모델 학습 버튼을 눌러줍니다.
그러면 모델 학습 창이 나오게 됩니다.
3가지 학습 방법을 제시합니다.
기본 방식은 AutoML 방식으로 이를 이용하면 구글에서 사용하는 모델로 최적의 방식으로 학습이 진행하게 됩니다.
3번째 방식은 숙련자가 다른 학습 애플리케이션을 사용하여서 Cloud의 컨태이너로 학습 모델을 돌리게 됩니다.
참고로 3번째 방식의 Train Model 설정 사항은 아래와 같습니다.
( 학습 방법, 모델 정보, 학습 컨테이너, 초매개변수, 컴퓨팅 가격 책정, 예측 컨테이너 )
저는 1번째 방식의 AutoML 방식을 사용하겠습니다.
AutoML 방식에서는 데이터 분할을 설정할 수 있습니다
Randomly는 랜덤 영상에 대한 Train과 Test를 몇대 몇 비율로 할것인지 설정할 수 있습니다.
Manual를 사용하면 Vertex의 메뉴얼된에 따라서Train , Test이 나누어져서 학습하게 됩니다.
Randomly에서 8대2의 비율로 학습을 진행하겠습니다.
학습이 시작되었고, 학습이 완료되면 현재 사용하는 구글 계정에 email에 완료됬다는 메일이 발송됩니다.
그래서 학습을 시켜놓고 다른 작업을 하다가 메일이 오면 다시 작업을 이어서 하면 되겠습니다 !
학습완료된 모델
학습이 완료되었습니다
문제가 생겼습니다. 모델이 너무 예측을 잘합니다.
"이게 왜 되지..?" 의 정석입니다.
제가 생각하기엔 학습셋의 수가 작은만큼 테스트 셋이 작아서 정밀도가 높게 나온 것 같습니다.
왼쪽편을 확인하면 학습한 영상 50개 , 테스트 영상 12개로 나와있는데 즉 12개 영상을 집중함, 집중못함으로 맞춘거겠죠?
일괄예측
이 모델이 제 얼굴을 집중하는지 , 안하는지 제대로 체크하는 방법으로는 일괄예측이라는 기능이 있습니다.
먼저 Vertex AI모델의 메뉴에서 "일괄예측"이라는 기능을 사용합니다. 그 후 좌측 상단의 +만들기 버튼을 눌러줍니다.
그러면 "새 일괄 예측"이라는 창이 뜨게 됩니다.
여기서는 만들어 둔 모델에 대한 새로운 일괄 예측을 실행할 수 있는데, 일괄 예측할 파일을 모델한테 가르쳐줘야 됩니다.
이 때 일괄 예측할 파일은 예측 모델이 생성되면서 생성된 cloud-ai-platform-xxx...이라는 storage에 저장하면 되고, 그 경로를 가르쳐줄 JSONL파일을 생성합니다.
그럼 학습모델은 JSONL파일을 확인한 뒤 그 파일이 가르키는 파일 정보(위치,세부정보 )등을 통해 모델에 넣어주게 됩니다.
제가 사용한 JSONL 파일입니다.
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민1.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민2.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민3.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민4.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민5.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민6.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민7.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민8.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
{"content": "gs://cloud-ai-platform-a83645d6-d770-4c76-bd4c-8b8ab77aba64/한재민9.mp4", "mimeType": "video/mp4", "timeSegmentStart": "0.0s", "timeSegmentEnd": "60.0s" }
content | 클라우드 모델 저장소의 위치한 "일괄 예측한 파일 경로" |
mineType | 데이터 타입 |
timeSegmentStart | 예측할 영상 시작시간 0.0s로 설정했기 때문에 파일의 예측은 0초부터 시작합니다 |
timeSegmentEnd | 예측할 영상 종로시간 INF : 영상 끝 까지 |
그렇게 일정시간이 경과하면 일괄예측이 완료됩니다.
완료된 일괄예측은 샷, 세그먼트, 간격 기준으로 바로 확인이 가능하고 Jsonl 형식으로 다운로드 하는 것도 가능합니다.
'Infra > Google Cloud Platform' 카테고리의 다른 글
[GCP] Vertex AI로 동영상 분류 모델 만들기 (0) | 2022.02.25 |
---|---|
[GCP] Vertex AI (0) | 2022.02.25 |