Hugging Face Synthetic Data Generator
Hugging Face는 사용자가 자연어 프롬프트를 통해 대규모 언어 모델(LLM)을 사용하여 맞춤형 데이터셋을 생성할 수 있도록 설계된 노코드 애플리케이션인 Synthetic Data Generator를 출시했습니다. 이 도구는 실제 세계의 데이터를 모방하는 인공 정보를 생성하는 프로세스를 단순화하여, 사용자가 코드 작성 없이도 기존 데이터셋을 확장하거나 강화함으로써 데이터 제한 문제를 극복할 수 있도록 돕습니다.
핵심 기능 및 파이프라인
Synthetic Data Generator는 합성 데이터 파이프라인을 통해 사용자의 맞춤형 프롬프트를 사용 가능한 데이터셋으로 변환합니다. 이 프로세스는 distilabel 프레임워크와 무료 Hugging Face 텍스트 생성 API를 기반으로 작동합니다.
지원되는 데이터셋 작업
이 도구는 현재 두 가지 주요 유형의 데이터 생성을 지원합니다:
- Text Classification: 이 프로세스는 두 가지 LLM 기반 단계로 구성됩니다: 다양한 텍스트를 생성한 다음 해당 텍스트에 레이블을 할당하는 것입니다. 이에 대한 예로는 합성 뉴스 기사를 8개의 클래스로 분류하는
argilla/synthetic-text-classification-news데이터셋이 있습니다. - Chat Datasets: 이러한 데이터셋은 지도 미세 조정(SFT)에 사용되어 LLM이 채팅 인터페이스를 통해 상호작용할 수 있도록 합니다. 예로는 고객 지원 시나리오를 위해 설계된
argilla/synthetic-sft-customer-support-single-turn데이터셋이 있습니다.
무료 Hugging Face API를 사용할 경우, 이 도구는 일반적으로 텍스트 분류에는 분당 약 50개의 샘플을, 채팅 데이터셋에는 분당 20개의 샘플을 생성합니다.
3단계 생성 프로세스
애플리케이션은 프롬프트에서 완성된 데이터셋으로 이동하기 위한 간소화된 워크플로를 사용자에게 안내합니다:
- 데이터셋 설명(Describe Your Dataset): 사용자는 목표와 원하는 어시스턴트의 유형을 예시 사용 사례와 함께 상세히 제공합니다.
- 구성 및 정제(Configure and Refine): 도구가 설명을 바탕으로 샘플 데이터셋을 생성합니다. 사용자는 시스템 프롬프트와 작업별 설정을 조정할 수 있으며, 결과가 만족스러울 때까지 샘플을 저장하고 다시 생성하며 반복할 수 있습니다.
- 생성 및 푸시(Generate and Push): 사용자는 데이터셋 이름, 조직, 생성할 샘플 수 및 "temperature"(생성물의 창의성을 제어)를 정의합니다. 최종 결과물은 Argilla와 Hugging Face Hub에 직접 저장됩니다.
검토, 큐레이션 및 모델 학습
데이터 품질을 보장하기 위해, 이 생성기는 AI 엔지니어와 도메인 전문가를 위한 협업 도구인 Argilla와 직접 통합됩니다. 이 통합을 통해 사용자는 시맨틱 검색과 결합 가능한 필터를 사용하여 합성 데이터셋을 탐색하고 평가할 수 있습니다. 큐레이션이 완료된 데이터셋은 모델 학습을 위해 Hugging Face Hub로 다시 내보낼 수 있습니다.
학습 단계의 경우, Hugging Face는 AI 모델을 만들기 위한 노코드 도구인 AutoTrain 사용을 권장합니다. 사용자는 작업(예: Text Classification)을 선택하고 데이터셋 소스를 제공하여 Hugging Face CPU 하드웨어에서 모델을 학습시킬 수 있습니다.
고급 사용자 지정 및 배포
기술적 사용자를 위해 Synthetic Data Generator는 파이프라인을 확장하고 맞춤화할 수 있는 몇 가지 고급 옵션을 제공합니다:
성능 및 정확도 튜닝
도구를 프라이빗 Space로 복제하고 환경 변수를 수정함으로써 사용자는 다음을 수행할 수 있습니다:
- 모델 변경: 기본값인
meta-llama/Llama-3.1-8B-Instruct에서meta-llama/Llama-3.1-70B-Instruct또는 OpenAI 모델(예:BASE_URL을https://api.openai.com/v1/로 설정하여gpt-4o사용)로 전환할 수 있습니다. - 처리량 증가: API 제공업체의 제한에 따라 분당 생성되는 샘플 수를 늘리기 위해
BATCH_SIZE(기본값 5)를 더 높은 값으로 조정할 수 있습니다. - 프라이빗 통합:
ARGILLA_URL및ARGILLA_API_KEY를 구성하여 프라이빗 Argilla 인스턴스에 연결할 수 있습니다.
로컬 배포 및 오픈 소스
이 도구는 Apache 2 라이선스로 출시되었으며 GitHub에서 사용할 수 있습니다. 로컬 수정 및 적응을 위해 pip install synthetic-dataset-generator를 통해 Python 패키지로 설치할 수 있습니다.
향후 로드맵
Hugging Face는 다음과 같은 새로운 기능을 Synthetic Data Generator에 추가하기 위해 적극적으로 노력하고 있습니다:
- 검색 증강 생성(RAG) 지원.
- "LLMs as a Judge"를 사용한 맞춤형 평가.