일단 어제 회의에서 역할을 분배했던 대로 Data를 맡았던 팀원이 Backend및 Frontend 구현에 대한 초기 버전을 가지고 왔다.
여기서 수정할 부분이 몇 가지 존재했다.
1. Backend 부분에 모델을 미리 Load시켜 놔서 모델 Load되는데 드는 많은 시간을 줄여야 한다.
2. Frontend의 흐름성이 좋지 않다.
3. Backend 부분의 구현이 하나도 되어 있지 않다(모델 Load부터 되어 있지가 않았음)
그래서 Frontend 부분에 대한 수정을 먼저 팀원에게 맡기고 나는 Backend에 대한 구현을 하기로 하였다.
Summarization Model은 모델이 가벼워서 Load하는데 드는 시간이 짧지만, T2I 모델은 너무 커서 Load하는데 시간이 너무 낳이 필요하다.
따라서, 팀 회의 결과 미리 모델을 Backend에서 상시 Load 된 상태로 만들고, Request가 올 때 마다 Load되어 있는 모델에 통과시키기만 하면 되도록 Backend를 구현하도록 하였다.
Summarization Model은 Huggingface에 올라와 있기 때문에 간편하게 Load가능하였지만, T2I Model은 간편한 Load가 불가하였다.
T2I 팀에서 .ckpt 파일을 Huggingface에 Porting하려 하면 에러가 발생한다는 것이다.
T2I 팀의 정확한 과정은 모르고 대략적인 진행 현황정도만 파악하고 있는 나로서는 이를 해결할 수가 없었고, 차선책으로 가장 잘 Fine-Tuning된 모델 데이터를 가지고 있는 팀원의 IP 주소 및 Key를 공유하여 ssh를 통해 접근 후, 해당 Model 정보를 Local에 가지고 와서 활용하기로 하였다.
(아직 Fine-Tuning이 완벽하진 않기 때문에 이렇게 하기로 결정만 함)
T2I Model에는 영어로 Input이 들어가야 하기 때문에, 우리는 한글로 Summarization 구문을 만들면 이를 Papago API 키를 활용하여 요약하고, 이 값을 T2I Model에 넣기로 결정하였다.
이를 위해 번역 API를 활용할 필요가 있었고, 우리는 Papago API를 활용하기로 하였다.
Papago API를 활용한 번역 코드는 이미 팀원 한 명이 만들어 놓았어서 이 코드를 읽고, 필요한 부분을 가지고 와 Backend에 메서드로 넣어줬다.
Backend 구현을 끝내고, Frontend 부분과 연동시켜 일단 영어 Summary까지는 잘 반환하는 것을 볼 수 있었다.
그래도 확실히 이전에 Backend를 공부했던 만큼 구현하기가 그렇게 까다롭지는 않았던 것 같다.
역시, 아는 것이... 힘인가..? ㅋㅋㅋㅋㅋ
저번에도 느꼈지만, 지금 내가 공부한 것이 나중에 어떻게 활용될지 모르니 일단 공부할 때 확실히 해두자