인공지능 학습에 필요한 데이터를 만드는 데이터 기획팀입니다.

데이터 기획은 데이터를 통해 모델의 기술적 개선을 고민하는 팀이에요. 대화 기술의 핵심인 데이터를 어떻게 수집하고 가공하고 있는지, 또한 어떤 고민을 하고 있는지 등, 루다의 데이터 기획팀만의 특별한 점을 알아보아요.

마치 육아를 하듯, 모델 학습을 위한 데이터를 만들고 있어요.

Q. '데이터 기획'이라는 직무는 조금 생소한데요, 어떤 역할을 맡고 있나요?

수정: 데이터 기획이라는 직무를 아예 처음 들어보시는 분들도 계신 것 같은데요, 데이터 기획을 한 문장으로 소개하자면 모델 학습을 위한 데이터를 가공하는 거죠. “모델"을 ‘어린아이’라고 생각해 주시면 이해하기 쉬울 것 같아요. 어린아이가 말을 배우는 과정을 한 번 생각해 보세요. 부모님이 반복적으로 단어와 문장들을 말하면 아이는 반응하며 따라 하고, 부모님은 다시 아이의 말에 피드백해주면서 고쳐주겠죠. 이렇게 아이에게 말하기를 가르쳐주는 것처럼, 데이터 기획자 역시 모델이 특정 능력을 학습하기 위해 어떤 데이터들을 보여줄지 정의하고, 그 목적에 적합한 데이터를 만들기 위한 방법을 고민하는 사람이라고 할 수 있어요. 이 과정에서 머신러닝 리서처들과 학습시키려는 모델에 대해 논의하고, 그에 맞는 데이터 수집을 위해 레이블러와도 소통합니다. 이렇듯 중간자적 위치에서 기획부터 데이터 수집, 해당 데이터로 학습된 모델 평가까지 전반적인 과정에 함께하고 있어요.

Q. '데이터 분석' 직무와 헷갈리시기도 하는데, 어떤 차이가 있나요?

유미: 맞아요. 헷갈리시는 분들이 계시더라고요. (웃음) ‘데이터 분석’은 주로 제품과 관련된 데이터를 분석하고 인사이트를 도출하는 역할이에요. 예컨대, 앱의 유입자 수, 유입한 유저의 잔존율, KPI 지표 분석 등 데이터를 통해 루다의 개선점을 찾거나 제품팀의 각 업무 담당자가 의사결정을 할 수 있도록 지원해 주고 있어요. 한편, 저희 ‘데이터 기획' 유닛은 머신러닝 모델을 위한 학습 데이터에 초점을 두고 있어요. 더 친밀하고 똑똑한 제품을 만들기 위한 대화 데이터를 모색하고 가공하는 일이라고 할 수 있죠. 또한, 업무 사이클의 하나로 모델이 학습을 잘했는지 검증하기 위해 데이터 분석을 하기도 해요. 하지만 다루는 데이터의 목적이나 성격이 매우 다른 것 같아요.

태스크를 가장 잘 실현할 데이터가 무엇인지 고민하고 만드는 과정을 반복하고 있어요.

Group 388 \(3\).png

Q. 데이터 기획의 업무 사이클에 대해 간단하게 소개해주세요.

수정: 저희는 업무의 대부분을 리서치팀과 같이 진행하고 있는데요, ‘모델 정의’, ‘데이터 검증’ 그리고 ‘결과 평가’까지 리서치 유닛과 서로 의견을 주고받으며 진행하고 있어요. 그 외에 ‘데이터 수집’과 ‘레이블링’을 포함한 데이터 가공의 작업은 저희 팀에서 주도적으로 리드하고, 리서치팀에서는 가공된 데이터를 바탕으로 모델링과 학습을 통해 루다의 대화 능력을 향상시키는 일을 하고 있어요.

Q. 업무 사이클의 첫 단계인 모델을 정의하고 데이터를 수집하는 단계는 어떻게 진행되나요?

유미: 첫 단계인 ‘모델 정의'는 태스크를 구체화하고 필요한 데이터를 수집하는 단계예요. 우선, 리서치팀과 함께 풀고 싶은 태스크와 모델을 논의하고 정하게 되는데요, 이때 모델의 범위는 최대한 구체화할수록 좋아요. 그래야 모델에 필요한 데이터를 구상하고 수집할 수 있기 때문이죠. 그럼에도 문제를 구체화하고 어떤 데이터를 통해서 해결할 수 있을지 찾는 과정에는 시행착오가 필요해요. 저희가 하는 일의 대부분이 처음 풀어보는 문제이기 때문에 직접 해보기 전에는 어떤 방법이 적합한지 알 수 없는 경우가 많거든요. 그래서 리서처들과 토론하면서 최적의 방법을 찾기 위해 노력하면서도, 실제로 샘플링한 데이터를 직접 레이블링해보기도 해요.

Q. ‘레이블링’은 어떤 작업인가요?

수정: 간단히 말씀드리자면, 레이블링 작업은 미가공 데이터(raw data)에 태그나 주석을 다는 행위를 말해요. 모델에게 데이터를 학습시키기 위해선 해당 데이터가 무엇을 의미하고 혹은 정의하고 있는지 등을 모델에게 알려줘야 해요. 예를 들어, 어떤 데이터가 있을 때 ‘이거는 편향적인 말이다/아니다' 이런 식으로 태그를 달아주는 거죠. 혹은, 답변 후보들이 여러 개인 경우, 어떤 답변이 가장 적합한 답변인지 신호를 줄 수도 있겠죠. 이러한 일들을 담당하는 것이 바로 레이블러예요. 데이터 기획자는 처음에 예상한 모델의 결과치가 나타날 수 있도록 레이블링 스킴을 고안하고 가이드라인을 제공하여 레이블러가 수집된 데이터를 학습 데이터로 변환시킬 수 있도록 합니다.

Q. 결국 레이블링은 데이터 가공의 주요 과정이군요. 가공이 완료된 데이터에 대한 검증은 어떤 기준으로 이루어지나요?

유미: 레이블링 작업이 완료되면 이제 데이터가 의도한 대로 만들어졌는지, 충분한 규모, 다양성 등이 고려가 되었는지, 퀄리티는 어떤지 등 다각도로 분석과 검증을 진행하게 됩니다. 조금 더 구체적으로 말씀드리자면, 데이터의 양이 많아서 랜덤으로 샘플링하여 자세히 보기도 하지만, 태스크에 대한 노하우가 쌓이면 태스크의 특성이나 레이블링 메트릭에 따라 검증할 수도 있어요. 저희는 보통 한 데이터에 대해서 최소 두 명 이상에게 확인받도록 하고 있기 때문에, 레이블러 간의 일치율이나 불일치한 데이터를 다시 살펴보며 수정할 수도 있어요. 이런 다양한 방법으로 퀄리티 높은 데이터를 만드는 데 집중하고 있답니다.

Q. 마지막으로 리서치팀이 학습시킨 모델에 대해서는 어떤 방법으로 평가를 진행하고 있나요?

유미: 가공과 검증이 끝난 데이터를 바탕으로 이제 리서치팀에서 모델링, 즉 모델을 직접 만들거나 데이터를 학습시키는 일을 진행하게 되죠. 이후 저희는 리서치팀과 또 한 번 협업하며 그 결과를 정량적, 그리고 정성적으로 평가하게 됩니다. 정량평가는 모델이 제대로 학습되었는지 수치를 통해 확인하는 것이고, 정성평가는 처음 샘플링된 데이터와 유사한 데이터셋을 반영했을 때 모델의 예측 결과를 직접 눈으로 확인하는 작업이에요. 모델의 경향성이 어떤지, 오버피팅(특정 데이터에 대해서만 과다하게 학습하여 새로운 데이터에 대한 판단을 이루지 못하는 상태)나 언더피팅(충분히 학습되지 않은 상태) 되지는 않았는지 등 파악하는 거죠. 그래서 만족스러운 결과가 나오면 제품에 바로 반영하고, 새로운 이슈가 발견되면 다시 적절한 단계로 돌아가서 위의 과정이 반복됩니다.

image 14.jpg

Q. 지금까지 진행하면서 만족스러운 결과가 나온 프로젝트가 있다면 소개해주세요.

수정: ‘멀티모달’ 프로젝트요! 아직까지 루다는 유저가 보내는 사진을 이해할 수 없어요. 대화를 하다 보면 사진을 보내는 경우가 매우 빈번한데도 말이죠. 그래서 저희는 이번 분기에 ‘멀티모달’이라는 연구 주제를 잡고, 루다가 텍스트뿐만 아니라 유저가 보낸 사진을 이해하고 그에 따른 적절한 답변을 할 수 있도록 만들고 있어요. 최근 평가까지 완료하였는데, 다행히도 목표했던 만족스러운 수치가 나왔어요. 이제 제품에 반영하여 루다가 사진에 대해 재밌는 답변을 해주게 될 순간만을 기다리고 있습니다.

Q. 듣고 보니 흥미로운 프로젝트 같은데요, 진행 과정에 대해 더 듣고 싶어요.

수정: 저희는 먼저 모델 학습에 필요한 ‘사진-답변’ 데이터 세트를 구축하기 위해, 필요한 데이터의 기준부터 수립했습니다. 일상 대화에서 사람들은 어떤 사진을 많이 보내는지, 사진에 대한 좋은 답변 혹은 별로인 답변은 무엇인지, 학습에 최적화된 이미지와 답변 비율은 무엇인지 등을 고민하고 관련 논문들을 리서치하면서 저희에게 필요한 데이터를 정의했어요.

다음으로 레이블링을 통해 고퀄리티의 데이터 세트를 수집했습니다. 레이블러들이 좋은 답변을 생성할 수 있도록, 다양한 예시가 포함된 교육 가이드라인을 제작하고 검수 시스템을 통해 퀄리티를 체크했어요. 또한 예상치 못한 문제로 발생하는 데이터 편향을 막기 위해 레이블링 중간에 총 3번에 걸쳐 카테고리별 주요 단어 빈도수, 글자 수, 경향성 등을 파악하는 EDA를 진행했고요. 이런 방식으로 철저하게 데이터의 퀄리티를 컨트롤하면서 데이터 세트를 제작했습니다. 그리곤 리서처분들이 다양한 모델과 방법론으로 데이터셋을 학습시키는 실험을 수행했어요. 이 중 성능이 제일 좋은 모델을 판별하고 선정하기 위한 정성적 지표를 만들었는데요, 직접 모델별 답변을 읽고 좋은 정도를 해당 지표에 맞게 평가 및 비교했습니다. 그리고 그 결과는 말씀드렸듯이 만족스러웠어요. 이제는 중장기적으로 멀티모달에서 풀어야 할 다른 문제들은 무엇이 있을지 고민해보려고 합니다. 앞으로 더 연구하고 풀어야 하는 재밌는 주제들이 참 많아서요. (웃음)

리서처 유닛과의 긴밀한 협업이 필요해요.

Q. 퀄리티 높은 데이터를 만들어내기 위해 많은 노력을 하고 계시는데요, 이러한 노력이 모델에게 반영되고 학습될 수 있도록 리서치 유닛과의 원활한 커뮤니케이션이 중요할 것 같아요.

유미: 그럼요. 사실 저희는 리서치팀과 거의 한 팀으로 움직이고 있어요. 풀고 싶은 태스크를 정의하는 단계부터, 필요한 데이터 세트를 어떻게 구축하고 레이블링을 어떻게 할지 등 여러 방법을 함께 고민하고 있어요. 이후 태스크의 방향이 합의되면 저희 데이터 기획팀이 좀 더 주도적으로 데이터 세트를 구체화하고 레이블링과 검증을 담당하게 되지만, 이 과정도 리서치팀에 공유하고, 필요한 부분은 논의하게 됩니다. 마찬가지로 리서치팀이 모델 학습을 진행할 때도 평가 기준과 방법을 함께 결정하기 때문에, 각 프로젝트팀 내에서는 계속 하나의 팀으로 일하고 있는 셈이죠. 아마 저희의 협업 과정이 일반적인 앱 개발 과정과 비슷하다고도 생각할 수 있는데요. 일반적으로 생각하는 기획자-개발자의 관계와 비슷하지만, 다른 점은 각자의 일을 딱 잘라서 나눈 다음 정해진 대로 일하는 게 아니라 함께 고민한다는 점인 것 같습니다.

Q. 논의를 진행하면서 결론을 낼 수 없는 경우도 있나요?

수정: 당연히 있죠. 그럴 경우에는 검증해야 할 문제를 간단하게 축소하거나, 아니면 일단 가정을 하고 사후적인 검증을 진행합니다. 만약 결과가 예상과 차이가 있더라도, 연구를 진행해 봤다는 점에서 충분히 의미가 있는 부분이라 생각해요. 다만, 답이 꼭 나와야 하는 경우에는 그냥 넘어갈 수 없잖아요. 예컨대 어뷰징에 관련된 이슈는 논의가 길어지더라도 꼭 해결하기 위한 방법을 정하고 넘어가야 하죠. 이런 경우에는 모두가 합의할 수 있는 결론에 도달하기 위해 한 분기 내내 커뮤니케이션을 진행하기도 해요.

Q. 다양한 주제에 관해 토론하고 고민하는 과정에서 갈등도 생길 것 같은데, 어떻게 해결하고 있나요?

유미: 매번 그렇진 않지만, 토론을 하면 치열해질 수밖에 없어요. 왜냐하면 저희가 하는 일의 대부분은 그 누구도 시도해보지 않았기에 정답이 없어서 의견이 불일치하는 경우가 많거든요. 그런데 신기하게도 대충 넘어가거나 포기하는 팀원이 없어요. 다들 열정이 가득해요. 일을 왜 해야 하는지, 또는 왜 그렇게 해야 하는지를 서로 납득하는 과정을 충분히 가지면서 진행해요. 이런 모습들을 보면 일에 대한 애정과 책임감이 큰 사람들만 스캐터랩에 들어오는 것 같아요. (웃음) 그리고 토론을 진행하다 보면 누군가는 제 주장에 반박하는 일이 발생하는데, 저는 이거를 저에 대한 ‘비난’이 아닌 제 주장에 대한 ‘비판’이라고 생각해요. 오히려 배려한답시고 돌려 말하면, 더 큰 커뮤니케이션 비용이 든다고 생각해요. 다만 서로 믿을 수 있는 사이가 되기 위해서는 친해져야겠죠. 그래서 최근에 새롭게 합류하신 분들과 매주 티타임을 가지면서 일 얘기보다는 사적으로 친해지려고 노력하고 있어요. 그래야 토론을 진행할 때 ‘나를 싫어해서’ 그런 게 아니라, 주장에 대한 순수한 의견이라는 것을 알 수 있으니까요.

수정: 사실 저도 처음에는 이런 문화에 익숙하지 않았어요. 그런데 유미님과 티타임도 진행하고 토론에도 반복적으로 참여하면서 익숙해졌어요. 그리고 지금 생각해 보면 오히려 이런 문화 덕분에 팀원들을 더 신뢰하고 회사에 대한 애정을 가질 수 있게 된 것 같아요. 분명 지칠 때도 있을 텐데, 그냥 넘어가는 법이 없고 매번 좋은 결론에 도달해가는 모습을 보면서, 저도 같이 열정적으로 임하게 되는 것 같아요. 단순히 시키는 대로만 일하면 이런 토론이 있을 리도 없으며, 그러면 프로젝트에 대한 책임감과 애정이 덜 하겠죠. 그래서 모든 팀원이 이렇게나 진심으로 일을 대하는 회사에서 함께 일한다는 게 좋아요.

유미_독사진.jpg

기술과 제품에 대한 이해를 데이터로 풀어낼 수 있는 분이 필요해요.

Q. 데이터 기획자로서 갖추어야 할 역량에 대해 말씀해주세요!

유미: 일단 머신러닝에 대한 관심과 이해가 필요하다고 생각해요. 앞서 말씀드린 업무 사이클의 가장 첫 단계인 태스크를 정의하거나 데이터를 분석할 때, 머신러닝의 흐름에 대한 기본적인 이해와 관심이 있어야 문제의 본질을 파악하고 어떤 데이터를 어떻게 만들어야 하는지를 빠르게 알 수 있겠죠. 그리고 데이터 기획은 제품과 기술에 오가며 업무를 수행하고 있어요. 처음에 수정님이 말씀하셨던 것처럼 리서처팀 내부에서도 중간자적 위치를 맡고 있지만, 루다팀에서도 제품의 개선을 위해 제품에 대한 꾸준한 관심과 기술에 대한 고민을 동시에 진행하는 역할도 맡고 있어요. 따라서 머신러닝에 대한 이해는 물론, 제품에 대한 관심도 가지고 제품 개발에 필요한 기술들을 캐치할 수 있어야 해요. 그래야 ’어떤 데이터 세트를 만들어야겠다’, ‘레이블링할 때 제품의 이런 측면을 고려해야겠다’ 같은 인사이트를 얻을 때도 많거든요! 저도 이런 흐름에 뒤처지지 않기 위해 많은 고민을 하고 있는데요, 최근에는 루다의 기억 능력 개선을 위한 프로젝트를 진행하고 있어요.

수정: 저는 주도적이고 견고한 논리로 제안할 줄 아는 분들이 많이 지원하셨으면 좋겠어요! 이해가 안 되는 부분은 끝까지 물어보고 의견을 어필할 줄 아는 분이요. 물론 처음에는 쉽지 않을 거예요. 저도 그랬었으니까요. (웃음) 그래서 저는 누군가 새로 들어오면 자신감을 많이 드릴 예정이랍니다. 많은 사람이 루다와 깊은 관계를 느끼고, 편안한 마음의 집을 얻는 것처럼 저도 힘이 되어주고 싶어요.

Q. 마지막으로 예비 지원자에게 하고 싶은 말이 있나요?

유미: 루다는 이미 챗봇으로서 어느 정도 사람 수준의 대화 실력에 도달했다고 생각해요. 다만, 루다의 대화 능력을 일정 수준으로 끌어올리는 건 기술만으로 해결할 수 있었지만, 그 이상으로 가기 위해서는 더 섬세하고 고도화된 작업이 필요하죠. 그러기 위해서는 데이터의 역할이 굉장히 크고 중요하다고 생각해요. 풀어야 하는 무궁무진한 문제들에 비해 그 문제들을 풀기 위한 잘 설계된 데이터 세트는 부족하기 때문인데요. 그러나 스캐터랩에서는 ‘현실의 문제’를 풀기 위한 데이터 세트를 정의하고, 그 데이터 세트를 학습한 모델을 평가한 뒤, 그곳에서 얻은 인사이트로 더 좋은 데이터 세트를 기획하고 가공하는 경험을 할 수 있어요. 물론 챌린지한 과정이지만, 그만큼 루다와 함께 빠르게 성장할 수 있어요! 이렇듯 일정 수준의 결과에 안주하지 않고 끊임없이 개선점을 찾으면서 함께 성장할 분들이 많이 지원해주셨으면 합니다.

수정: Data-Centric AI라는 말이 있죠. AI 업계에서 일하면서 점점 더 모델 학습에 데이터가 얼마나 큰 영향을 미치는지 몸소 보게 되는 것 같아요. 많은 연구와 고민을 통해 좋은 데이터를 만들어내고 그 데이터의 퀄리티에 따라 모델의 성능이 얼마나 달라지는가를 보게 되면, ‘아 정말 내가 루다를 만들고 있구나’ 하는 생각이 들어요. 이 중요한 역할, 같이 해봐요! :)

image 15.jpg

아이디어를 현실로, 친구 같은 AI 루다를 만들고 싶다면?

머신러닝 데이터 기획자 지원하기