https://arxiv.org/abs/2405.17712
Abstract
사전 훈련된 대규모 언어모델 (LLM) 의 광범위한 지식과 추론 능력을 활용하여 테이블 형식 데이터셋의 누락 데이터 문제를 해결하는 새로운 전략인 Contextual Language model for Accurate Imputation Method (CLAIM) 을 소개한다. 주로 수치 추정에 의존하는 기존의 대치 방법과는 달리, CLAIM은 문맥적으로 관련된 자연어 디스크립터를 활용하여 누락된 값을 채운다. 이 접근 방식은 데이터셋을 본질적으로 LLM 기능에 더 부합하는 자연어 문맥형 형식으로 변환하여, 먼저 결측값 디스크립터를 생성한 다음, 보강된 데이터셋에서 LLM을 fine-tuning하여 Downstream task 의 성능을 개선하는 등 LLM의 이중 사용을 용이하게 해준다.
다양한 데이터셋과 누락 패턴에 대한 평과 결과, CLAIM이 기존 대치 기술들보다 우수한 성능을 보였다. 또한 누락된 데이터에 대한 문맥별 디스크립터와 일반 디스크립터의 효과에 대한 조사에서는 데이터 대치를 위한 LLM을 향상시키는데 있어 문맥 정확도의 중요성을 강조한다. 문맥별 디스크립터와 일반 디스크립터의 예를 들어 보면, 의료 데이터셋에서 환자의 진단 정보가 누락된 경우, 단순히 '데이터 없음'이라고 채우는 것이 아니라, 해당 환자의 다른 건강 정보나 역사를 바탕으로 가장 가능성 있는 진단을 예측하여 그 정보를 기반으로 누락된 값에 '급성 기관지염 가능성 높음'과 같이 구체적이고 맥락에 맞는 설명을 제공하는 방식이다. 이 결과는 데이터 분석 및 머신러닝 모델의 신뢰성과 품질을 획기적으로 개선하여 누락된 데이터르 처리하는 데 보다 미세하고 효과적인 솔루션을 제공할 수 있는 CLAIM의 잠재력을 강조한다.
Introduction
'Well! I've often seen a cat without a grin,' thought Alice; 'but a grin without a cat! It's the most curious thing I ever saw in all my life!'
Lewis Carroll, Alice's Adventures in Wonderland (1865)
문맥을 인식하지 못하는 누락된 데이터의 추정이 어떻게 현실을 무시하고 Downstream task의 무결성을 손상시킬 수 있는지에 대한 강력한 실제 사례는 이전에 강조된 바 있따. 이 사례는 개인의 연령을 포함한 테이블 형식의 인구통계 데이터를 처리하기 위해 개발된 예측 머신러닝 모델이 누락된 연령항목으로 인해 문제에 직면한 시나리오를 설명한다. 이 대치 전략은 여러 프로그래밍 언에에서 정수를 초기화 할대, 일반적으로 사용하는 기본값인 0으로 누락된 연령 값을 대체하는 방법을 사용했다. (zero imputation) 이 접근 방식은 실수로 모델이 실수로 연령이 지정되지 않은 개인을 "유아"로 분류하여 잘못된 결과를 초래한다. 문맥을 인식하지 못한 누락된 데이터의 대치로 인해 머신러닝 모델에서 이러한 유형의 편향이 발생한다.
이러한 사례들은 누락된 테이블 데이터를 추정하기 위한 보다 정교하고 현실에 부합하는 방법에 대한 연구를 불러일으켰다. 정규 분포를 가정할 경우 평균이나 중앙값과 같은 단순한 통계적 대체로도 충분할 수 있지만, K-Nearest Neighbors (KNN). 랜덤 포레스트 또는 딥러닝 기반 생생 모델도 다른 전략이 될 수 있다. 이러한 머신러닝/딥러닝 방법은 일반적으로 어떤 속성의 누락이 다른 특징의 관찰 가능한 값과 상관관계가 있다고 가정한다. 그러나 이는 몇가지 의문을 제기하게 한다: (1) 만약 누락된 데이터가 관찰 가능한 값과 독립적이라면 어떨까? 또는 (2) 데이터의 누락이 관찰되지 않은 변수에 의해서만 영향을 받는다면 어떨까? 결국 결측값이 외부 요인이나 다른 관측 데이터에 기인하지 않는 시나리오에서는 결측값을 정확하게 추정하는 방법을 연구하는 것이 관건이다. 현재까지 보편적으로 효과적인 것으로 입증된 단일 대체 방법 (Single imputation) 없으며, 이는 실제로 발생하는 누락 데이터 시나리오의 복잡성과 다양성을 강조한다.
사전학습된 대규모 언어 모델의 기능을 활용하여 테이블 형식 데이터셋의 누락 데이터 문제를 혁신적으로 해결하는 새로운 접근 방식을 소개한다. Contextual Language model for Accurate Imputation Method (CLAIM) 은 주로 수치적 방법을 통해 누락된 값을 추정하는 기존의 추정 기법과는 다르다. 대신 CLAIM은 LLM의 광범위한 지식과 추론 능력을 2단계 프로세스에서 활용한다.
먼저, LLM을 활용하여 결측값에 대한 문맥 관련 자연어 디스크립터를 생성하여 데이터 셋을 자연어 문맥화 형식으로 효과적으로 변환한다. 이러한 변환은 데이터를 LLM의 고유한 강점에 맞게 조정하여 처리 기능을 더 잘 활용할 수 있도록 하기 때문에 매우 중요하다.
결과적으로 이러한 풍부한 데이터셋은 LLM을 fine-tuning 하여 Downstream task (ex. classification) 의 성능을 향상시키는 기반이 되며, 기존의 사용방법을 뛰어넘는 독특하고 효과적인 언어 모델 사용을 보여준다. 누락된 데이터에 대해 문맥과 관련된 디스크립터를 통합함으로써 CLAIM은 여러 도메인에 걸쳐 데이터에 내재된 가변성과 특수성을 하결할 뿐만 아니라 다양한 누락 메커니즘으로 인한 복잡성을 능숙하게 탐색할 수 있다. 이처럼 데이터 대치 프로세스에 LLM을 혁신적으로 통합함으로써 CLAIM은 후속 데이터 분석 및 머신 러닝 작업의 품질을 향상시키는데 필수적인 데이터 복구에 있어 보다 미묘하고 정확하며 신뢰할 수 있는 방법을 제공하는 것을 목표로 한다.
CLAIM의 효과를 평가하기 위해 세 가지 표준 결측 데이터 메커니즘인 MCAR, MAR, MNAR 에 대한 분석을 수행하고, 단일 및 다중 대체 기법, 전통적인 대체 기법부터 ML 기반의 대체기법, 그리고 Discriminative, Generative ML 기법을 포함하는 광범위한 기존 결측 방법과 CLAIM을 비교한다. LLM 기반 Downstream task 에 대한 CLAIM의 영향을 평가하는 것을 목표로 한 경험적 연구는 두 가지 주요 연구 질문에 따라 진행된다:
Pricipal Research Questions (RQs)
- CLAIM 은 다양한 누락 메커니즘 (MCAR, MAR, MNAR) 에서 누락된 값을 추론하는 데 얼마나 효과적이며, 다양한 데이터셋 및 누락 데이터 시나리오에서 정확성과 견고성 측면에서 기존 추론 방법과 어떻게 비교되는가?
- CLAIM 에서 누락 디스크립터에 대한 문구 선택이 LLM 기반 Downstream task 의 성능에 어떤 영향을 미치는가?
Contributions
- CLAIM은 LLM을 사용해 누락된 데이터에 대한 컨텍스트별 디스크립터를 생성함으로써 기존 임포팅 방법에서 벗어나 데이터 대치방법의 새로운 벤치마크를 확립했다.
- 광범위한 경험적 평가를 통해 다양한 데이터 세트와 누락 패턴에 걸쳐 기존 방법보다 CLAIM의 우수한 성능을 입증했다.
- 문맥별 디스크립터와 일반 디스크립터에 대한 분석은 문맥 정확도 의 중요성을 강조하면서 추론 작업의 LLM 성능을 최적화하는 데 필요한 핵심 인사이트를 제공한다.
$\Rightarrow$ 데이터 전처리 기술을 발전시키고 복잡한 데이터 과학 분야에서 LLM을 적용할 수 있는 새로운 경로를 열었다.
Methodology
Notations
- $\mathbf{X} \in \mathbb{R}^{n \times d}$ : Tabular dataset
- $\mathbf{X^i} = (X_i^i, \cdots, X_d^i) \in \mathbb{R}^{d}, i =1,\cdots, n$ : each instance
- $\mathbf{X_O}, \mathbf{X_M}$ : an observed portion, a missing portion, respectively.
- $\mathbf{M} \in \mathbb{R}^{n \times d}$ : missing pattern, 1 if missing and 0 otherwise.
- $\mathbf{X_{\mbox{missingness_aware}}}$: missingness aware contextualized natural language dataset by replacing the missing balues by contextually-relevant descriptors.
Description of CLAIM
- 문맥화된 자연어 데이터셋 구성
- 누락값에 적합한 디스크립터 생성
- 누락을 인식하는 컨텍스트화된 데이터 집합 $\mathbf{X_{\mbox{missingness_aware}}}$ 생성
- Downstream task 를위해 LLM을 fine-tuning
Constructing a Contextualized Natural Language Dataset
누락된 값이 포함된 원본 데이터셋 $\mathbf{X}$로 부터 문맥화된 자연어 데이터 집합을 구성한다. 목표는 각 속성과 그 값에 대한 문맥에 적합한 설명을 자연어로 생성하는 것이다. 예를 들어 숫자로 구성된 입력과 출력 속성이 있는 UCI wine 데이터셋의 레코드는 다음과 같이 문맥화된다: "The alcohol content in the wine is 12.47. The level of malic acid in the wine is 1.52...The class of the wine is classified as class 1 wine." 이 단계에서는 숫자 값을 자세한 설명으로 변환하여 누락된 값 설명자를 포함하기 위한 데이터 집합을 준비한다.
Generating Suitable Descriptors for Missing Values
관측된 데이터에서 수치적인 방법을 사용하여 결측치를 추정하는 기존의 대치방법과는 달리, 문맥과 관련된 결측치 디스크립터를 대치에 활용한다. 이러한 디스크립터는 대화형 LLM (e.g Open AI 의 ChatGPT) 를 통해 생성한다. 데이터셋 설명과 함께 LLM에 메세지를 표시하고 다음과 같이 디스크립터를 생성하도록 지시한다: "For any missing attribute values, suggest a descriptor for the missing data that I can place in those cells." 이 방법은 적절한 결측값 디스크립터를 생성하기 위해 LLM의 광범위한 지식 기반을 이용한다.
Creating a Missingness-Aware Contextualized Dataset
값을 생성된 설명자로 대체하여 누락 인식 컨텍스트화된 자연어 데이터셋 $\mathbf{X_{\mbox{missingness_aware}}}$ 을 구축한다. 이 과정을 통해 각 데이터는 누락된 속성을 인식하므로, 명시적인 컨텍스트를 제공함으로써 불완전한 데이터로부터 학습하는 LLM의 능력을 개선할 수 있다. 또한, 데이터셋에서 누락된 값을 포함하는 별도의 특징에 대해 별도의 디스크립터를 사용하여 Downstream task의 성능을 개선하기 위해 상호아에 적합한 방식으로 각 특징의 누락을 처리하도록 LLM에게 암시적으로 알린다.
Adapting an LLM for Solving Downstream Tasks
마지막 단계는 누락을 인식하고 컨텍스트가 풍부한 데이터셋으로 사전학습된 LLM을 fine-tuning 하는 것이다. 누락된 데이터를 처리하기 위한 구체적인 작업 지침과 전략을 미세 조정 프로세스에 통합한다. 예를 들어, 분류 작업의 경우 다음과 같은 지침을 포함할 수 있다: "Predict the class based on the given measurements. Use the context provided by missing value descriptors to inform your prediction."
데이터셋 변환에서 LLM 의 fine-tuning에 이르는 이 구조화된 접근 방식은 LLM의 기능을 통해 데이터 누락을 해결하는 포괄적인 방법을 의미한다.
'Statistics' 카테고리의 다른 글
Missing Data Imputation with Uncertainty-Driven Network (2) | 2024.06.10 |
---|---|
등회귀 (Isotonic Regression) (0) | 2023.12.15 |
[Statistics] MAP estimation 이란? (1) | 2023.10.02 |