생물.컴퓨터.통계

AI의 의학도전 (20)-데이터의 연금술: AI는 어떻게 고품질 합성데이터를 만들어내는가

프로페서 H 2025. 1. 6. 13:55

 

LLM 기반 Synthetic Data 연구

https://arxiv.org/html/2406.15126v1

 

On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey

On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey Lin Long1, Rui Wang1, Ruixuan Xiao1 Junbo Zhao1, Xiao Ding2, Gang Chen1, Haobo Wang1 1Zhejiang University, China  2Harbin Institute of Technology, China Correspondence: wanghaob

arxiv.org

 

  • 제목: On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey
  • 저자: Lin Long, Rui Wang, Ruixuan Xiao 외
  • 소속: Zhejiang University, Harbin Institute of Technology
  • 교신 저자: Haobo Wang (wanghaobo@zju.edu.cn)

배경 및 문제의식

  • 데이터 품질과 양의 중요성:
    • 딥러닝 모델의 성능은 고품질 데이터에 크게 의존.
    • 기존 데이터는 비용, 희소성, 개인정보 문제 등으로 제한적.
    • 인간 데이터는 편향성과 오류 가능성 존재.
  • LLM의 기회:
    • LLM은 인간 수준의 유창한 텍스트 생성 가능.
    • 사전 학습을 통해 방대한 지식을 축적.
    • 생성 과정의 유연성과 제어 가능성을 제공.

Synthetic Data의 역할

  • LLM 기반 데이터 생성의 장점:
    • 맞춤형 데이터셋 제작 가능.
    • 모델 학습 효율성과 제어 가능성 향상.
  • 응용 분야:
    • 모델 사전 학습, Fine-Tuning, 모델 평가.
    • 수학, 코드, Instruction 데이터 등 다양한 도메인.
  • 데이터 품질의 중요성:
    • 고품질 Synthetic Data는 모델 학습 성능을 극대화.
    • Hugging Face에서 300개 이상의 Synthetic Dataset 사용.

연구 목적

  • 현황 분석 및 통합 프레임워크 개발:
    • Synthetic Data 생성, 관리(Curation), 평가(Evaluation)의 워크플로우 정립.
    • 기존 연구의 공통 아이디어와 차이점 정리.


 

Requirements for High-Quality Synthetic Data (𝒟₍gen₎)

고품질 Synthetic Data를 생성하기 위해서는 Faithfulness Diversity라는 두 가지 주요 요구 사항을 충족해야 한다.

  • Faithfulness는 데이터가 논리적이고 문법적으로 일관성을 가지며 신뢰할 수 있는 감독(supervision)을 제공하는 것을 의미한다. 그러나 LLM의 Hallucination(사실 오류)과 불균형한 지식 분포(fat-tailed knowledge distribution)는 생성 데이터에 사실 오류, 잘못된 레이블, 무관한 내용 등의 문제를 일으킬 수 있다. 특히 복잡하거나 전문성을 요구하는 데이터를 생성할 때 이러한 문제는 더욱 두드러진다.
  • Diversity는 생성된 데이터가 텍스트 길이, 주제, 글쓰기 스타일 등에서 다양성을 가지며 현실 세계 데이터를 효과적으로 모방하는 것을 뜻한다. 이는 모델의 과적합과 편향을 방지하기 위해 필수적이다. 그러나 LLM의 내재적 편향으로 인해 생성된 데이터가 단조롭고 다양성이 부족해 실제 응용에서의 활용도가 제한될 수 있다.
  • 이 두 가지 요구 사항은 대부분의 연구에서 해결해야 할 핵심 과제로 간주되며, 후속 워크플로우에서는 이를 극복하기 위한 다양한 방법론이 소개될 예정이다.

데이터 생성

LLM을 활용한 Synthetic Data 생성은 프롬프트 엔지니어링과 **다단계 생성(Multi-Step Generation)**으로 구분할 수 있다. 이 중 프롬프트 엔지니어링은 생성 데이터의 품질과 다양성을 향상시키는 핵심 요소로, 작업 명세(task specification), 생성 조건(generation conditions), **컨텍스트 예시(in-context demonstrations)**의 세 가지 요소로 구성된다.

1. 프롬프트 엔지니어링

LLM의 명령 수행 능력은 데이터 생성 과정에서 높은 제어 가능성을 제공한다. 프롬프트는 이 능력을 극대화하기 위해 설계되며, 이를 자연어 형태의 템플릿으로 통합한다. 이러한 프롬프트는 다음과 같은 수식으로 표현된다:

 

p(𝒯,𝒟)←E(etask,econdition,edemo).

여기서 작업(𝒯)과 지원 데이터셋(𝒟)은 프롬프트 설계의 핵심 요소다.

Task specification (작업 명세)

  • 작업 명세: 생성 작업의 목표와 맥락을 정의하는 구성 요소로, 명확한 지침을 제공해 LLM의 성능을 향상시킨다. 예를 들어, "당신은 {역할}입니다"와 같은 간단한 서두는 명확한 시나리오를 설정하여 더 나은 데이터를 생성하도록 돕는다.
    • 도메인 전문 지식이 요구되는 경우, 용어의 복잡성과 맥락 이해를 돕기 위해 외부 지식 그래프를 활용하거나 도메인 주제를 파악해 반영하는 방식(Xu et al., 2023b)이 효과적이다.
    • 또한, 텍스트 유형, 레이블 유형, 레이블 토큰 표현의 삼중항(triplet) 정의(Yoo et al., 2021)는 전문 지식이 필요한 작업에서 유용하다.

작업 명세는 LLM의 데이터 생성 능력을 극대화하기 위한 중요한 구성 요소로, 적절한 설계를 통해 생성 데이터의 품질과 신뢰성을 높일 수 있다. 이를 통해 생성된 데이터는 다양한 응용 과제에서 효과적으로 활용될 수 있다.

 

조건 기반 프롬프트 (Conditional Prompting)

앞서 언급한 바와 같이, LLM을 활용한 Synthetic Data 생성의 주요 과제 중 하나는 충분한 다양성을 확보하는 것이다. 단순히 특정 작업에 대해 LLM에 데이터를 생성하도록 요청하면, 높은 디코딩 온도를 사용하더라도 반복적인 출력이 나타날 가능성이 크다(Gandhi et al., 2024; Liu et al., 2024). 이를 해결하기 위해 조건 기반 프롬프트(Conditional Prompting)가 널리 사용되며, 이는 생성하고자 하는 데이터의 특정 속성을 명확히 정의하여 LLM에 전달하는 전략이다.

조건 정의와 다양성 확보

조건 기반 프롬프트의 핵심은 속성-값(condition-value) 쌍으로 데이터를 정의하는 것이다:

 

e_{\text{condition}} = \{(c_1, v_1), (c_2, v_2), \ldots, (c_n, v_n)\}.

 

이 조건 값 조합을 활용하면 "인위적으로 정의된" 다양성을 자동으로 확보할 수 있다(Gunasekar et al., 2023; Li et al., 2023b). 이러한 접근은 데이터셋의 다양성과 커버리지를 제어할 뿐 아니라, 특정 요구 사항에 맞는 더 좁고 집중된 콘텐츠를 생성할 수 있도록 한다(Li et al., 2023c).

조건 기반 프롬프트의 주요 연구 주제

조건 기반 프롬프트의 주요 연구 주제는 다음과 같다:

  1. Conditioning Scope(무엇을 만들지 정하는 기준)
    • 초기에는 "긍정/부정" 같은 분류 라벨만을 사용하는 것이 일반적이다. (Gao et al., 2023a; Ye et al., 2022a)
    • 그러나 이런 단순 분류가 어려운 데이터가 많은 것이 현실이다.
    • 최근에는 주제, 글 길이, 문체 등 더 세밀한 기준을 사용하는 것이 추세이다. (Xu et al., 2023b; Yu et al., 2023b)
    • 대표적으로 Eldan과 Li(2023)는 무작위로 선택한 3개 단어를 포함하도록 하여 더 다양한 결과를 만들어내는데 성공하였다.
  2. Conditioning Values(구체적으로 어떤 내용을 넣을지)
    • 초기에는 이미 존재하는 분류나 라벨에서 선택하여 사용하는 것이 표준이었다. (Ye et al., 2022a)
    • 그러나 참고할 예시가 없는 경우에는:
      • 외부 지식 데이터베이스에서 예시를 검색하거나 (Xu et al., 2023b; Josifoski et al., 2023)
      • AI 언어 모델로 다양한 예시를 생성하는 방식을 사용한다. (Ding et al., 2023b)
    • Ding et al.(2023b)은 "개념 트리"라는 방식으로 주제를 세분화하여 더 다양한 내용을 생성하는데 성공하였다.
    • 또한 글의 기본 틀(템플릿)에 무작위 요소를 포함시켜 다양성을 높이는 것도 효과적인 방법이다. (Meng et al., 2022)

이러한 방식들을 통해 AI는 더 다양하고 풍부한 내용을 생성할 수 있게 되었다.

요약

조건 기반 프롬프트는 LLM이 생성하는 데이터의 다양성과 신뢰성을 향상시키는 효과적인 방법이다. 조건 범위와 값의 세밀한 설계를 통해 단순한 생성 방식을 넘어 보다 구조화되고 목표 지향적인 데이터 생성을 가능하게 한다. 이를 통해 데이터셋의 커버리지 문제를 해결하고, 특정 응용 목적에 부합하는 결과물을 확보할 수 있다.

 

In-Context Learning

LLM의 내재된 편향으로 인해 단순한 작업 명세(Task Specification)와 조건 기반 프롬프트(Conditional Prompting)만으로는 항상 원하는 결과를 얻기 어렵다. 이를 해결하기 위한 간단하지만 효과적인 전략은 **In-Context Learning(ICL)**을 활용해 몇 가지 예제를 제공하는 것이다. 이는 LLM에게 암묵적인 인간 가이던스를 제공하는 역할을 하며, 실세계 데이터의 패턴을 이해하도록 돕는다. 연구에 따르면, LLM의 뛰어난 ICL 능력 덕분에 소수의 예제만으로도 생성 데이터의 신뢰성을 크게 향상시킬 수 있다(Li et al., 2023c).

Few-Shot 상황과 Self-Instruct 접근법

  • 적용 방식
    • 예시가 있는 경우(Few-shot): 기존 데이터의 예시를 직접 사용한다.
    • 예시가 없는 경우:
      • Self-Instruct나 Self-Prompting 방식으로 AI가 스스로 예시를 만든다.
      • 이를 통해 AI는 자체적으로 또는 교사 모델로부터 학습할 수 있다.

예제 품질과 선택 전략

ICL의 효과는 프롬프트 길이 제한과 데이터의 일관성 문제로 인해 제공되는 예제의 품질에 크게 좌우된다.

  • Sudalairaj et al. (2024)는 Self-Instruct(Wang et al., 2023e)에서처럼 예제를 무작위로 선택하면 데이터의 다양성과 품질이 저하될 수 있다고 지적한다. 이를 해결하기 위해 특정 측면에 집중된 예제를 선택하여 LLM의 장기적이고 드문 지식을 더 잘 활용하는 방식을 제안한다.
  • Liu et al. (2022b)와 Su et al. (2023)은 임베딩 공간에서 코사인 유사도를 기반으로 일관된 샘플을 우선적으로 선택하는 방법을 사용한다.
  • Ye et al. (2022b)는 정량화된 영향 점수(Influence Score)를 사용해 가장 정보량이 많은 샘플을 선택하여 생성 과정을 조율한다.
  • He et al. (2023)은 각 샘플에 대해 설명을 작성하도록 LLM에 요청한 뒤 이를 프롬프트에 통합하는 방식을 제안한다. 이 접근법은 유용한 추가 정보를 제공할 뿐만 아니라, 이후 Chain-of-Thought 생성과도 잘 맞아떨어진다.

요약

In-Context Learning은 적절한 예제를 제공함으로써 LLM이 더 정확하고 신뢰할 수 있는 데이터를 생성하도록 돕는 중요한 전략이다. 예제의 품질과 선택 방법은 생성 결과의 다양성과 신뢰성을 크게 향상시키며, Self-Instruct 및 Chain-of-Thought와 같은 추가적인 기법과 결합될 때 더욱 효과적이다.


 

다단계 생성(Multi-Step Generation)의 이해

  1. 기본 개념
    • 복잡한 데이터는 한 번에 생성하기 어렵다. (Cui and Wang, 2023)
    • 따라서 전체 과정을 여러 작은 단계(T1, T2, ..., Tk)로 나눈다.
    • 각 단계는 이전 단계의 결과를 활용해 더 나은 결과를 만든다.
  2. 두 가지 주요 접근법 

A. 샘플 단위 분해

  • 긴 텍스트나 대화 같은 복잡한 데이터를 작은 부분으로 나눠 생성한다. 이 경우, 다음과 같이 각 부분을 결합하여 최종 데이터셋을 구성할 수 있다:
  • 예시:
    • 대화 생성 시 사용자와 AI의 역할을 번갈아가며 수행 (Ding et al., 2023b)
    • Chain-of-Thought 방식으로 생각 과정을 단계별로 표현 (Wei et al., 2022)

B. 데이터셋 단위 분해

  • 전체 데이터셋의 다양성과 품질을 높이는데 초점
  • 주요 방법들:
    • 이전 단계 결과를 평가해 부족한 부분 보완 (Wang et al., 2023b)
    • 기존 데이터를 확장하여 다양성 증가 (Honovich et al., 2023b; Shao et al., 2023)
    • 트리 구조를 활용해 데이터를 체계적으로 생성 (Wan et al., 2023)
  1. 장점
    • 복잡한 작업을 더 쉽게 처리할 수 있다.
    • 각 단계에서 품질 관리가 가능하다.
    • 최종 결과물의 신뢰성이 높아진다.

이러한 다단계 접근법은 AI가 더 복잡하고 정교한 데이터를 생성하는데 핵심적인 역할을 한다.

 


데이터 정제(Data Curation)의 이해

  1. 배경과 필요성
    • AI가 생성한 데이터(Dgen)에는 다음과 같은 문제가 있을 수 있다:
      • 잘못된 정보 (AI의 환각 현상으로 인한)
      • 쓸모없는 데이터
      • 유해한 내용
    • 이러한 저품질 데이터는 모델 학습에 나쁜 영향을 미친다.
  2. 주요 정제 방법 

A. 고품질 샘플 필터링

  • 가치 있는 데이터만 선별하는 과정
  • 방법:
    • 자동 필터링: AI 출력물의 신뢰성 평가
    • 휴리스틱 접근: 수동으로 품질 기준 설정
    • 모델 평가: 기존 모델로 데이터 유용성 판단

B. 레이블 강화

  • 데이터 분류 정보의 품질을 높이는 과정
  • 방법:
    • AI를 통한 재분류
    • 여러 모델의 교차 검증
    • 추가 정보(메타데이터) 포함 
  •  효과
    • 노이즈와 오류 제거
    • 데이터의 신뢰성 향상
    • 모델 학습 품질 개선

이러한 데이터 정제 과정은 AI 모델이 높은 품질의 데이터로 학습할 수 있게 하는 필수적인 단계이다.

 

 

powered by chatGPT 4o + claude 3.5 sonnet

 

https://kili-technology.com/large-language-models-llms/how-to-build-llm-evaluation-datasets-for-your-domain-specific-use-cases

 

How to Build LLM Evaluation Datasets for Your Domain-Specific Use Cases

Assessing and benchmarking LLMs makes it easier for data science teams to select the right model and develop a strategy to adapt it faster. Here's a guide to building an LLM evaluation dataset.

kili-technology.com