데이터 생성 및 수집 방법 소개 #20
jjlee6496
started this conversation in
Seminar Materials
Replies: 1 comment
-
좋은 자료 너무 감사합니다 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
LLM의 성능은 학습 데이터의 품질과 다양성에 크게 의존합니다. 좋은 데이터셋을 만들기 위해서 고려해야 할 사항에 대해서 알아봅시다.
데이터 라이센스
1. CC(Creative Commons)1
CC는 디지털 콘텐츠의 공유와 재사용을 위한 국제 표준 라이센스 체계입니다.
CC 라이센스 종류
2. ODC(Open Data Commons)
Open Data Commons는 데이터베이스및 데이터셋에 특화된 오픈 데이터 라이센스입니다.
3. 기타 주요 오픈소스 라이센스
데이터셋 구축 시에도 참고할 수 있는 대표적인 소프트웨어 라이센스는 다음과 같다.
데이터 수집 방법
1. 웹 스크래핑/크롤링
국내 뉴스 포털, 커뮤니티, 블로그 등에서 데이터를 자동으로 추출하는 기술로, 대량의 데이터를 효과적으로 수집할 수 있습니다. 주요 도구는 다음과 같습니다2
활용 예시
유의 사항
2. API 활용
SNS 및 기타 서비스에서 제공하는 API를 통해 구조화된 데이터를 가져올 수 있습니다. 국내외에서 활용 가능한 대표적인 API는 다음과 같습니다:
활용 예시
유의 사항
3. 공개 데이터셋 활용
이미 구축되어 공개된 데이터셋을 활용하면 시간과 비용을 절약할 수 있습니다. 국내 및 국제적인 주요 플랫폼은 다음과 같습니다.
활용 예시
유의 사항
Synthetic Data Generation
딥러닝 분야에서 데이터의 양과 품질은 항상 중요한 문제로 대두되어 왔습니다. 대규모 언어 모델(LLM)의 발전으로 실제 데이터(real-world data)의 부족 문제를 해결하기 위한 데이터 중심적 접근법으로 합성 데이터 생성(synthetic data generation)이 주목받고 있습니다. TinyStories와 Phi 시리즈에서 양질의 데이터의 중요성을 강조하며 합성 데이터셋의 가능성을 보여왔고, HuggingFace에 2025년 3월 현재 기준 합성 데이터셋 태그에 1,528개의 데이터셋이 등록되어 있습니다.
새로운 데이터셋을 밑바닥 부터 만드는 것 보다, 라벨링 되어 있지 않거나 또는 적은 수의 seed 샘플인$\mathcal D_{sup}$ 을 활용한 데이터 증강을 수행합니다. 합성 데이터 생성 과정을 다음과 같이 표현 가능합니다:
합성 데이터는 인간이 직접 생성한 데이터의 한계(비용, 시간, 개인정보 문제 등)를 극복하면서도 모델 학습에 필요한 다양성과 품질을 제공할 수 있습니다.
데이터 생성 프로세스
LLM기반 합성 데이터 생성 프로세스는 다음 세 단계로 구분 할 수 있습니다.3
핵심 요구사항
합성 데이터를 만드는 이유는 평가지표와 align된 데이터 생성하는 것이고 고품질 데이터가 되려면 다음 요구사항을 만족해야 합니다:
이 두 요소는 현재 합성 데이터 연구의 주요 과제이며, 다양한 방법론을 통해 해결책을 모색하고 있습니다.
Generation
Prompt Engineering
LLM은 instruction-following 능력이 뛰어나기 때문에 합성 데이터를 만들기에 이점이 많습니다. 신뢰성과 다양성을 갖춘 데이터를 만들기 위해서 효과적인 프롬프트는 경험적으로 세가지 요소를 보통 포함하고 있습니다.
작업 명세(Task Specification)
LLM이 할 일을 명확하게 알 수 있도록 데이터 생성 맥락과 작업 목적을 명확히 설명합니다.
프롬프트 예시:
조건부 프롬프팅(Conditional Prompting)
다양한 속성 조합을 통해 생성 데이터의 다양성을 확보합니다.
크게 두 부분에 집중합니다:
조건 범위: 데이터 특성화에 사용되는 차원 정의
조건 값: 각 조건에 구체적 값 할당
프롬프트 예시:
맥락 내 학습(In-Context Learning)
프롬프트에 제공된 예시를 통해 LLM이 패턴을 인식하고 더 나은 데이터를 생성하도록 유도합니다. Few-shot 프롬프트가 이에 속하며, 주어진 몇개의 예시를 통해 사전 학습 단계에서 보지 못한 새로운 데이터 생성 함수를 학습 할 수 있습니다.
프롬프트 예시:
다단계 생성(Multi-step Generations)
복잡한 구조나 의미를 가진 데이터셋을 한 번에 생성하기 어렵습니다. CoT(Chain-of-Thought) 프롬프팅과 같은 방법이 있지만 아직 추론 기반 작업 분해에 대한 연구가 부족합니다. 다단계 생성 방식으로 전체 데이터 생성 과정을 더 간단한 하위 작업들로 분해하여, 각 단계에서 오류를 줄이고 더 높은 품질의 합성 데이터를 얻을 수 있습니다.
샘플 단위 분해(Sample-Wise Decomposition)
긴 텍스트나 복합 논리적 추론이 필요한 텍스트 데이터 생성에 효과적입니다.
프롬프트 예시:
다음 단계:
데이터셋 단위 분해(Dataset-Wise Decomposition)
데이터셋 단위 분해는 특정 속성을 가진 개별 데이터 생성을 넘어, 전체 데이터셋의 다양성과 도메인 커버리지를 확보하기 위한 장기적 스케줄링 방법입니다. 이는 다단계 생성의 각 단계에서 사용되는 조건들을 동적으로 조정하여 전체 데이터셋이 올바른 방향으로 성장하도록 합니다.
프롬프트 예시:

요약
참고하기 좋은 HF Dataset / Space
Hugging Face Korean Dataset4
HF Space
Synthetic Data Generator
Dataset-viewer
Footnotes
https://libanswers.ucalgary.ca/faq/200582 ↩
https://huggingface.co/blog/JessyTsu1/data-collect ↩
https://arxiv.org/abs/2406.15126?utm_source=pytorchkr&ref=pytorchkr ↩
https://github.com/songys/huggingface_KoreanDataset ↩
Beta Was this translation helpful? Give feedback.
All reactions