9개 팀과 경쟁하여 2등 수상했다. 좋은 결과에 반해 과정이 마음에 들지 않아 후기 겸 회고로 복기해본다.
Microsoft에서 협업 파트너 Kainos 와 함께 Healthcare AI Hackathon을 개최하고 싶어하여 여름부터 기획단이 꾸려진 바 있었다. 재직중인 회사(NHS England)에서 본 과제를 데이터 사이언스팀으로 할당하면서 기회가 닿아 대표단으로 참여하게 되었다. 이번 복기 과정은 기획팀으로 참여했던 과정을 제외하고 참가자 대표로 9개 팀 중 하나를 맡아 리딩한 경험을 대상으로 한다.
이틀 동안 약 20시간이 주어진 해커톤에서 사용했던 플랫폼은 https://ai.azure.com/이다. Open AI의 LLM 모델들을 플러그인하여 prompt flow를 디자인하고 개발할 수 있는 서비스다. Microsoft에서 본 서비스를 이용하기 위해 필요한 사전지식 트레이닝 및 당일 멘토 지원을 하였고, Kainos에서 subscription 설정 및 data index 설정 등 세부적인 해커톤 인프라 운영을 담당하였다. (Microsoft는 11월 18일 AI Studio를 Foundry로 리브랜딩한다고 하였다. 기존 서비스 명을 이용한 조회가 아직 가능하지만 새해부터는 바뀔 것으로 예상한다.)
당일 참석한 팀원들 구성은 (주요 능력치 기준으로) 데이터 엔지니어 1, 프론트 1, 벡엔드 1, 프롬프트 1 이렇게 총 4명이었다. 내 역할은 벡엔드로 prompt flow 설계부터 디플로이까지였다. 시작 쿼리는 프론트 담당자가 구성한 웹 app에서 설정한 user input 파라미터를 받아오도록 하였고 중간 과정에 엔지니어가 설계한 프롬프트를 삽입, LLM 모델 실행 결과를 다시 웹 app으로 리턴할 수 있게 넘기는 게 실행과제였다. 모든 단계별 목표를 달성해 좋은 평가를 받았다. 특히 여러 가지 언어를 지원하게끔 (한국어 포함) 구성한 부분은 Gen AI 서비스 개발에 유력한 이점을 어필할 수 있는 부분이어서 가산점을 얻었다.
회고할 위기 관리 내용 첫번째는 적은 리소스로 인한 역할 분배 한계다. 처음에 현업 직책 기준으로 그래쥬에잇(신입) 프론트 개발자가 있어 streamlit 활용을 원할하게 할 수 있는 데이터 과학자와 페어하도록 했는데 신입이 중도하차를 하며 리소스 관리 예측에 실패했다. 남은 친구가 주로 헤맨 지점은 Azure AI Stuio에서 생성된 API 플러그인하는 부분이어서 Microsoft 측에서 차출된 멘토에게 지원받을 수 있게 리소스 연결을 해 주었고 기타 테크니컬 부분을 그 친구가 책임감 있게 하드캐리하면서 성공적으로 마무리 되었다.
두번째는 구성원 역량 판단 부분이다. 데이터 엔지니어 역할을 맡은 친구가 해커톤 플랫폼이나 Gen AI 모델 관련 기본 서비스 개발 플로우에 배경지식이 없어 해커톤에서 필요한 자신의 역할 내용을 이해하지 못하는데 발생하였다. 이 부분은 모든 9개 팀에서 공통적으로 발생한 것을 레트로 세션에서 확인할 수 있었다. Azure AI Studio는 우리가 현업에서 전혀 사용하지 않는 도구로 (그렇기 때문에 Microsoft 측에서 세일즈/마케팅 차원에서 해커톤을 스폰서해주면서 PoC레벨 서비스 아이디어를 개발하게끔 한 목적) 데이터 엔지니어가 플랫폼 노출된 시간이 극히 적은 상태로 업무를 수행해야 하는 제약 상황이 있었다. GPT 모델 사용 (유료) 예산을 데이터 사이언스팀에서만 가지고 있었고 max 15명으로 한정된 사전 트레이닝 capa 때문에 소속 리더 9명만 교육을 받았기 때문이기도 하다. 초반 아이디어톤에서 이러한 한계점들이 분명하게 드러났고 이를 완화시키기 위해서 나는 아주 간단한 RAG 데모를 통해 우리 팀 전체가 같은 출발선에 설 수 있게끔 지원했다. 일반 챗 GPT 검색에서 몇 가지 NHS 특수 요약어들을 질문해보고 헬스케어 배경에 맞지 않는 답을 한다는 것을 보여 준 다음, 해커톤 기획팀에서 사전 구축해 놓은 데이터 index를 연결하여 prompt flow를 구성하였을 때 우리 질문이 찾고자 하는 배경에 맞게 답을 한다는 결과로 비교해 보여주었다. 하지만 해커톤 기획팀에서 사전 준비한 벡터 임베딩이 온전하지 않은 한계도 있어서 (위 데모 영상에서도 드러나듯이) 답변 출처에 대한 레퍼런스 링크가 제대로 디코딩되지 않는 문제를 주어진 시간안에 해결하지 못했다. 같은 위기상황에 상대적으로 (타 팀에 비해) 선방한 것으로 점수를 얻었다.
마지막 세번째는 프롬프트 구성이 완전히 잘못된 데서 발생하였다. (전체를 살펴야 하는 리더로써) 프롬프트 엔지니어링을 과소평가한 잘못이 있었다고 생각한다. 둘째날 점심시간이 거의 다 되어 모두의 진척사항을 하나로 합치는 시점에서야 프롬프트가 우리가 증명하고자 하는 문제현상 해결 방향과 다르게 설정된 것을 감지했다. 또한 해당 프롬프트는 우리가 제한한 데이터 레퍼런스로 검색 범위를 충분히 좁히지 못했다. 때문에 일반 대중에 노출된 퍼블릭 정보들을 여기저기 가져오면서 할루시네이션이 발생하였다. 프론트나 백엔트 개발에 비해 중요도를 낮게 본 결과라고 할 수 있겠다. 결국 점심 때부터 오후 4시 최종 발표 직전에 직전까지 프롬프트 재 구성에 시간을 쏟아야했고 마지막 Evaluation 과정까지 상당히 쫓긴 마무리를 해야 했다. 만족스럽지 않은 과정이었지만 최종 결과가 좋았던 것은 발표 당시 스토리 구성을 잘 하면서 프롬프트 오류에서 나온 부분을 다소 커버할 수 있었기 때문이다. 충분히 모델 성능을 평가하고 증명하지 못한 우리팀의 한계가 (실제 현업 기준보다 훨씬) 낮은 비율로 평가 항목에 들어가 위기를 면할 수 있었다.
많은 배움을 얻을 수 있었던 해커톤이었다. 기획팀 참여 과정에서 얻었던 교훈들도 회고 시간을 따로 마련하려고 한다. 여유가 좀 더 난다면 Microsoft와 Kainos 측에서 멘토 역할로 참여한 엔지니어들이 일하는 방식을 엿보고 느꼈던 부분에 대해서도 추가 글을 쓸 수 있지 않을까 싶다. 우리팀 멘토는 학위 졸업 후 프로페셔널 3년 차 근무 중인 직원이었다. 나 또한 영국석사 졸업 후 비슷한 연차의 커리어를 가지고 있지만 최신 기술 트렌드 개발을 리딩하고 현업 과제에 적용하는 측면에서는 느슨한 공기업 근무 환경에서 3년을 보냈기 때문이다. (서비스 플랫폼에 대한 익숙함 정도를 떠나) 문제 해결과정에서 어떤 부분들은 역시 글로벌 기업 현직자들이 좀 더 집요하게 본다는 인상을 받았고 좋은 자극이 되었다. 해커톤 복기 기록을 마친다.
'글또9기10기:영국직장:데이터과학' 카테고리의 다른 글
글또 10기 | 런던 데이터과학자 연차별 직무 구분 (6) | 2024.12.27 |
---|---|
글또 10기 | Palantir 데이터분석 경연 복기 (4) | 2024.12.21 |
런던직장: 설계협의 (0) | 2024.11.20 |
런던직장: 출근길 낭만 (2) | 2024.11.19 |
런던직장: 주말공부3 (2) | 2024.11.18 |