금융 도메인 언어모델 학습을 위한 합성데이터 생성 기법 Part3: Cosmopedia
Sep 18, 2024
이 글은 Hugging Face Team의 'Cosmopedia: how to create large-scale synthetic data for pre-training' 블로그 글 기반으로 언어모델 학습을 위한 합성데이터 생성 기법을 설명하고 있습니다.
해당 기법으로 원라인에이아이가 생성한 데이터들은 허깅페이스 HAE-RAE Hub에서 확인하실 수 있습니다.
특정 도메인 학습데이터는 원라인에이아이 AI팀에게 문의주시기 바랍니다.
금융 도메인 언어 모델 학습을 위한 합성데이터 생성 기법
본 시리즈는 금융 분야에서 활용할 수 있는 인공지능 언어 모델의 학습을 유명 합성데이터 생성 기법을 다룹니다. 합성데이터 생성 기술 3가지를 살펴보면서 합성데이터의 중요성, 다양한 생성 기법, 그리고 이를 통한 언어 모델의 학습 효과 등을 세부적으로 탐구할 것입니다. 각 포스팅은 이론적 배경부터 실제 적용 사례까지 폭넓게 다루어, 본 시리즈를 통해 금융 분야의 AI 전문가들과 관심 있는 독자들에게 유용한 인사이트를 전달하고자 합니다.
Timeline
SELF-INSTRUCT: Aligning Language Models with Self-Generated Instructions (Link)
WizardLM: Empowering Large Language Models to Follow Complex Instructions (Link)
Cosmopedia: how to create large-scale synthetic data for pre-training (현 포스팅)
끊임 없이 변화하는 세상에서의 LLM 학습
앞선 포스팅에서 SELF-INSTRUCT와 Evol-Instruct로 사람의 도움 없이 AI 모델이 자동적으로 instruction data를 생성하고 스스로 발전시킬 수 있다는 것을 확인하였습니다. 하지만 이 방법론의 포커스는 fine-tuning data를 생성하는데 맞춰져 있기 때문에 pre-training data를 제작하는데는 사용될 수 없습니다. 그렇다면 pre-training data를 제작하기 위해서는 어떤 방법이 사용될 수 있을까? Huggingface Team에서 공개한 ‘Cosmopedia’는 pre-training data 제작에 대한 해결책을 제안해줍니다.
Cosmopedia
[Cosmopedia: pre-training을 위한 대규모 합성 데이터셋]
Cosmopedia는 LLM을 사전 훈련하기 위해 데이터셋의 사이즈를 수천 개에서 수백만 개의 샘플로 확장하는 데 중점을 둔 프로젝트입니다. 이는 기존의 합성 instruction-tuning 데이터셋 생성 방법과는 달리, 대규모 사전 훈련 데이터셋 생성에 따른 고유한 도전 과제들을 다루고 있습니다.
Cosmopedia는 합성 데이터로 학습되어 좋은 성능을 보여주었던 Phi 시리즈에 영감을 받아서 오픈소스 언어 모델을 활용하여 다양한 합성 교과서, 블로그 포스트, 글, 기사 등의 텍스트 데이터셋을 생성하였습니다.
[Cosmopedia Method]
Prompts curation
Phi-1.5 리포트에서 20,000개의 토픽에 대해 약 200억 개 토큰 분량의 합성 데이터셋을 제작하였던 것처럼, 연구진들은 3천만 개 이상의 파일과 약 250억 토큰 분량의 합성 데이터셋을 제작하기 위해 다음의 방법을 결합하여 사용하였습니다.
(왼쪽) Cosmopedia prompt 생성을 위한 데이터 소스 분포 (오른쪽) Curated Source 내의 데이터셋 분포
Curated Sources
Stanford, Khan Academy, OpenStax, WikiHow와 같은 신뢰할 수 있는 교육 소스에서 추출한 주제를 활용하여 LLM이 학습할 가치 있는 다양한 주제를 다룹니다. 여기에 다양성을 추가하기 위해 대상 청중과 스타일의 다양성을 활용하는 전략을 채택하여 단일 주제를 여러 번 재사용하되, 대상 청중(예: 어린이 vs 대학생)과 생성 스타일(예: 학술 교과서 vs 블로그 포스트)을 변경하는 방식을 채용하였습니다.
Web Data
웹 데이터를 활용하여 대규모 프롬프트를 생성하는 방법입니다. 이 방법은 RefinedWeb과 같은 대규모 웹 데이터셋을 145개의 클러스터로 분류하고, Mixtral 모델을 사용하여 각 클러스터의 주제를 식별한 후, 교육적 가치가 있는 112개의 주제만을 선별하여 사용합니다. 최종적으로, 선별된 웹 샘플을 기반으로 교과서 스타일의 텍스트를 생성하도록 AI 모델에 지시하여 2300만 개의 프롬프트를 구축했으며, 이는 전체 Cosmopedia 프롬프트의 80% 이상을 차지하고 있습니다.
Instruction datasets and stories
모델의 상식과 기초 지식 향상을 위해 다양한 instruction 데이터셋을 기반으로 일상 지식과 기본 상식을 포함한 이야기를 생성합니다. 이 과정에서 스토리텔링에 부적합한 카테고리는 제외되었으며, 결과적으로 생성된 Cosmopedia의 클러스터 분포는 웹 데이터의 클러스터와 유사한 양상을 보여, 다양성과 포괄성을 달성했음을 시사합니다.
Cosmopedia 클러스터
[Cosmopedia Technical Stack]
Textbooks Generation
앞선 과정을 통해서 다양한 고품질의 소스 데이터가 수집되었습니다. Cosmopedia는 수집된 소스 데이터를 Mixtral-8x7B-Instruct-v0.1 모델을 활용하여 다수의 H100 GPU에서 약 10k GPU hours 동안 데이터를 재생성하였습니다.
Benchmark Decontamination
합성 데이터 생성만큼이나 중요한 것이 벤치마크 decontamination입니다. 이는 학습 데이터에 포함되어 있을 수 있을지도 모르는 벤치마크 데이터를 제거하는 작업을 의미합니다. Cosmopedia는 이러한 문제를 해결하기 위해 다음과 같은 방법을 활용하였습니다.
10개의 토큰이 오버랩되는 경우 decontamination 후보로 지정합니다.
후보로 지정된 샘플 중에서 다음의 조건을 만족하는 샘플 제거. 조건: (일치 문자열 길이)(벤치마크 샘플 길이) > 0.5
Training Stack
Cosmopedia 데이터셋을 이용하여 Llama2 구조의 1B LLM을 학습시킨 결과, 비슷한 사이즈의 TinyLlama 1.1B와 Qwen-1.5-1B와 비슷한 수준의 성능을 보여주는 것을 확인할 수 있습니다.
Cosmopedia Conclusion
Cosmopedia와 같은 대규모 합성 데이터셋 생성 방법론을 금융 도메인에 접목시키면, 다음과 같이 금융 도메인의 다양한 영역을 포괄하는 대규모 합성 데이터를 생성할 수 있습니다.
신뢰할 수 있는 금융 교육 자료 활용 데이터: 고품질의 금융 교육 자료를 바탕으로 고품질의 금융 교육 컨텐츠를 생성합니다.
금융 웹 데이터 클러스터링: SEC 파일링, 금융 뉴스, 전문가 블로그 등의 웹 데이터를 클러스터링하여 다양한 금융 주제를 식별하고, 이를 바탕으로 데이터를 생성할 수 있습니다.
금융 특화 지시 데이터셋: 투자 분석, 리스크 관리, 규제 준수 등 금융 전문가들의 일상적인 업무를 반영한 데이터셋을 구축할 수 있습니다.
Cosmopedia 방법론을 활용한 합성 데이터 생성 방식은 fine-tuning data를 생성하는 SELF-INSTRUCT와 Evol-Instruct와 달리 고품질 소스 데이터를 수집하여 pre-training 데이터로 재생성하였습니다. 이러한 방식으로 생성된 데이터셋은 모델이 금융 도메인에 대해 전반적으로 이해할 수 있도록 만드는 사전 학습 데이터가 될 수 있습니다.
하지만 언제나 그렇듯 합성 데이터를 제작할 때는 몇 가지 중요한 고려사항이 있습니다. 데이터 소스의 민감성과 규제 준수 문제, 데이터의 최신성 유지, 그리고 편향성 방지 등이 주요 과제가 될 것입니다. 또한, 생성된 합성 데이터의 품질과 신뢰성을 지속적으로 검증하고 개선하는 과정이 필요할 것입니다.
결론적으로, Cosmopedia 방식의 대규모 합성 데이터셋 생성 방법론을 금융 분야에 적용하는 것은 금융 AI의 성능과 적용 범위를 크게 확장시켜서 금융 서비스의 혁신, 리스크 관리 개선, 그리고 더 나은 금융 의사결정 지원 등 다양한 측면에서 긍정적인 영향을 미칠 것으로 기대됩니다. 이는 최종적으로 더욱 강력하고 신뢰할 수 있는 금융 AI 시스템을 구축할 수 있도록 만들 것입니다.
시리즈를 마치며..
금융 AI 언어 모델을 위한 합성 데이터셋 생성 방법에 대한 포스팅 시리즈를 마무리하며, 이 분야의 중요성과 잠재력을 다시 한번 확인했습니다. 금융 산업에서 AI의 역할이 점점 더 커지고 있는 만큼, 고품질의 학습 데이터 확보는 그 어느 때보다 중요해졌습니다. 이 시리즈를 통해 우리는 다양한 합성 데이터 생성 기법들을 살펴보았고, 각 방법의 장단점을 분석했습니다.
이러한 방법들은 단순히 데이터 부족 문제를 해결하는 것을 넘어, 금융 AI 모델의 성능과 신뢰성을 크게 향상시킬 수 있는 잠재력을 가지고 있습니다. 특히 개인정보 보호와 데이터 보안이 중요한 금융 분야에서, 합성 데이터의 활용은 혁신적인 해결책이 될 수 있습니다. 그러나 동시에 우리는 이러한 기술의 한계와 잠재적인 위험성에 대해서도 항상 주의를 기울여야 합니다. 생성된 데이터의 품질과 현실성을 지속적으로 검증해야 하며, 실제 데이터와의 균형을 잘 맞추는 것 또한 중요합니다.
우리 회사는 이러한 최신 연구를 바탕으로 금융 특화 합성 데이터 생성 파이프라인을 개발하였습니다. 이를 통해 고객사 여러분은 양질의 학습 데이터를 손쉽게 확보하고, 더욱 정교한 금융 AI 모델을 개발할 수 있을 것입니다. 금융의 미래를 함께 만들어갈 파트너를 찾고 계시다면, 주저하지 마시고 연락 주시기 바랍니다. 함께라면, 우리는 금융 AI의 새로운 지평을 열어갈 수 있을 것입니다.