세상에 없던 WorksOne 비즈니스 특화 고품질 한글 데이터셋 구축기
WorksOne과 고품질 데이터셋의 탄생
지난 4월 말, 크라우드웍스는 WorksOne(웍스원)이라는 이름의 SLM을 선보였습니다. 우리가 아니더라도 시장에 쏟아져 나오는 SLM은 많았습니다만, 굳이 WorksOne을 개발하여 선보이게 된 이유는 저희의 국내 고객사들이 SLM 도입 시 겪는 여러 불편함과 불만족 때문이었습니다.
1차적인 문제는 언어 격차에서 시작되었는데요. 대부분의 모델이 영어를 기반으로 구축되었기 때문에 한국의 문화나 환경, 언어를 이해하지 못해 답변 생성 시 할루시네이션이 생기거나, 어색한 번역체를 내놓아 답변을 얻더라도 재해석, 재작성을 해야하는 불편함이 있었습니다. 편리하자고 쓰는 모델인데, 모델이 내놓은 답변이나 답변의 의도를 또 해석해야 하다니 안타까운 일이었죠.
두번째 문제는 비즈니스에 특화된 모델이 없었다는 겁니다. 답변이 한국 기업이 선호하는 답변 형식, 잘 사용하는 동사 등 기업에서 선호하는 표현으로 나와줘야 하는데 그렇지 않아서 즉각적인 활용이 불가능해 효율성이 떨어졌습니다.
추가적으로 기업 내부 레거시 시스템과 쉽게 통합되고 확장되는 답변, 즉 지정한 키 값과 구조를 갖춘 Json 형식의 답변이 출력되어 추후 시스템 간의 데이터 교환이나 운용성 등을 향상시킬 수 있으면 좋겠다는 의견도 있었고요. 기업 내외부 데이터의 원활한 활용을 위해 RAG에 최적화된 SLM을 원했습니다.
이 모든 것을 만족시키는 모델을 만들자는 목표 아래 구축하게 된 SLM이 WorksOne입니다. 그리고 WorksOne이 제 역할을 할 수 있는 결정적인 이유는 바로 전문가가 한땀 한땀 구축한 1만 개의 고품질 한글 데이터셋에 있습니다.
1만 개의 고품질 WorksOne 데이터셋이 나오기까지
기업의 LLM 도입을 위해 파인튜닝 과정을 거쳐본 전문가들은 잘 알겠지만 만족스러운 성능을 구현하려고 할 때 가장 까다로운 부분은 효과적인 데이터셋을 구축하는 것입니다. 많이 시도하는 방법은 오픈된 데이터셋 중 적합한 것을 찾아 학습시키는 것인데, 적합한 내용의 데이터를 찾기도 어려운 데다가 찾더라도 퀄리티가 떨어져 할루시네이션이 생기는 경우도 많습니다.
이러한 문제를 해결하기 위해 Databricks의 모델 Dolly가 처음으로 직원들을 활용해 human-generated instruction dataset을 구축한 바 있습니다. 사람이 생성하고 검수한 데이터셋의 품질이 압도적으로 높다는 것은 저희도 이미 경험으로 잘 알고 있었습니다. 따라서 WorksOne도 Dolly 케이스와 마찬가지로 사람이 만든 데이터셋을 사용하고자 했습니다. Dolly의 데이터셋은 한국어로 번역되어 공개된 버전이 있으나 그대로 사용하지 않은 이유는 앞서 말씀드린 것처럼 언어 격차에서 생기는 문제와 국내 비즈니스 환경에 특화된 데이터셋이 아니라는 점 때문이었습니다. 하지만 Dolly Dataset과 Self-Instruct Dataset, 그리고 Evol-Instruct Dataset 등의 데이터셋 구축 방법들을 검토하고 참고해서 훌륭한 WorksOne 데이터셋을 만들 수 있었습니다.
크라우드웍스는 크라우드소싱을 통한 국내 최다 데이터 구축 프로젝트 경험과 노하우를 가지고 있습니다. 특히 파인튜닝을 위한 데이터셋 구축을 위해 필요한 자체 Fine-tuning Data Framework이 있어 체계적인 데이터셋 구축이 가능합니다.
우리는 먼저 초기 데이터셋 구축을 위해 여러 데이터셋을 검토하여 자주 쓰이는 질문 유형과 동사를 정리하여 답변 유형을 20가지로 분류, 정리했습니다. 답변 유형을 중요하게 생각한 이유는 WorksOne을 기업 사용자가 쓸 때 답변을 다시 고칠 필요없는 가장 적합한 형태의 모델로 만들기 위해서였습니다. 따라서 답변 유형은 Bulleted list, Markdown, Table, Json을 비롯해 보고서, 숫자, 백분율, 날짜 등 국내 비즈니스 환경에서 가장 많이 쓰일 법한 형태 위주로 정리되어 있습니다.
이어 학습 데이터를 설계했는데요. 답변 형식을 잘 지키는 데 초점을 맞춘 데이터셋 생성 및 RAG에서 활용성을 극대화하기 위해 주어진 Context에서 원하는 정보를 추출할 수 있도록 데이터셋 구조를 Instruction, Input(Context), Output 형태로 구성했습니다.
고품질 데이터를 만들 전문가를 찾아라
“진짜 단순한 작업이 아니에요. 데이터를 만들 ‘진짜 전문가’를 찾는 게 가장 큰 숙제였어요.”
데이터 설계가 끝났으니 이제 데이터를 생성해야 하는데요. 기업 내부에서 사용할 모델을 만드는 데 사용할 학습데이터를, 기업의 업무를 제대로 이해하지 못하는 사람이 만든다면 과연 제대로 된 답변을 얻을 수 있을까요? 자체 데이터셋을 만들기 전에 다양한 자동 생성 데이터, 오픈 데이터만을 활용해 파인튜닝을 진행해본 크라우드웍스 개발팀의 결론은 제대로 된 데이터셋을 새로 만들 ‘진짜 전문가’를 찾자는 것이었습니다.
크라우드웍스는 60만 명 이상의 데이터 작업자 풀이 있는데 그 중에서 비즈니스 특화 데이터셋을 생성할 수 있는 사람은 누구이고 어떻게 모집할 수 있을까요? 우리는 그간의 경험과 여러 번의 테스트를 거쳐 아래와 같은 조건을 정했습니다.
8~15년 경력의 베테랑 기획자 | 자체 검증(자격 시험)을 통과한 작업자 |
---|---|
경력 15년 이상의 대기업 기획 업무 담당자 (전산기획, 전략기획 등 보고서 다작성 경험자) | 비즈니스 기준의 언어 활용/표현력, 답변 유형 준수, 다양한 산업에서의 문서 작성 경험을 기반으로 하는 문서 구조화 능력 평가 |
까다로운 조건 때문에 처음 치뤘던 1차 검증 테스트에 참여한 사람은 60명, 이를 통과한 사람은 겨우 3명이었습니다. 하지만 힘들더라도 3명이 초기 데이터를 만들어보자는 목표를 세웠고, 이분들이 많은 노력을 기울여주신 덕분에 2차에서는 12명이, 차수를 거듭하며 더 많은 분들이 참여하여 한땀 한땀 고품질 데이터셋을 생성해 나갈 수 있었습니다.
데이터셋 구축에 참여해주신 데이터 작업자 분들 중에는 베테랑 기획자였지만 다양한 이유로 경력이 단절된 분들이 많았습니다. 이 분들은 단순한 데이터 작업 이상의, 좀 더 의미 있는 일에 보탬이 되고자 하는 의지가 강한 분들이었습니다. 그래서 까다로운 검증 과정을 거치는 데이터셋 구축에도 기업이 활용할 새로운 모델을 만드는 데 기여한다는 생각으로 더욱 적극적으로 참여해주셨습니다. 이분들을 통해 총 1만여 개의 학습 데이터셋, 테스트 데이터셋 480개의 만들었고, 데이터 중 중복 제거, 오답 수정, Json 답변의 완전성 검사 등의 검수 과정을 꼼꼼히 거쳐 무사히 고품질 데이터를 확보할 수 있었습니다.
고품질 데이터셋을 활용한 WorksOne, 성능은 어땠을까?
이렇게 어렵게 구축한 데이터셋을 활용한 WorksOne의 성능은 어땠을까요?
WorksOne은 매개변수 80억 개를 가진 오픈 소스 LLaMA-3-8B 모델을 기반으로 Evolve-Merge 방법을 통해 여러 모델을 병합해 단일 모델을 만드는 형태로 제작되었습니다. 이 모델의 효율적인 파인튜닝을 위해 LoRA(Low Rank Adaptation), QLoRA를 사용해 모델 학습을 진행했고요. WorksOne은 필요에 따라 성능 향상을 위해 자체 고품질 데이터 뿐만 아니라 공개된 여러 데이터셋을 검수 및 수정하여 대략 100만 개의 외부 데이터셋을 수집하고 테스트하여 일부 활용했습니다. 내외부 데이터를 단계적으로 활용한 2단계의 SFT 과정을 통해 모델 성능을 최적화할 수 있었습니다.
(*데이터 생성 이후의 WorksOne 모델 개발 과정 및 성능 검증에 관한 내용은 또다른 콘텐츠를 통해 자세히 다루려고 합니다.)
결론적으로 WorksOne은 자체 테스트 및 타 모델 비교 테스트를 통해 기업의 다양한 요구 사항 및 답변 형태를 충족하는 높은 수준의 결과물을 얻을 수 있었습니다.
[답변 테스트 예시]
크라우드웍스 SLM WorksOne과 데이터셋은 처음부터 오로지 기업이 비즈니스 상황에서 가장 효과적으로 활용하도록 만든다는 목표를 달성하기 위해 구축되었습니다. WorksOne에 활용된 자체 구축 데이터셋은 당초 판매 목적이 아니었으나, 전문가가 만든 비즈니스 특화 데이터의 가치를 알아본 기업들이 데이터셋에 대한 높은 관심을 보여 사용권으로 한정한 판매도 진행하게 되었습니다.
앞으로도 크라우드웍스는 AI와 데이터 구축 노하우를 바탕으로 기업 고객에게 최적화된 서비스와 솔루션을 제공하기 위해서 다각도로 많은 노력을 기울이겠습니다.