Intro
LLM의 발전으로 인해 제로샷, 원샷, 퓨삿 러닝 기법은 데이터를 일일이 라벨링 하지 않고도 머신러닝 모델을 학습시킬 수 있도록 해줍니다.
Zero-shot, One-shot & Few-shot Learning
- Zero-shot (ZSL)
- 모델이 학습 과정에서 본 적 없는 새로운 클래스를 인식할 수 있도록 하는 학습 방법
- 모델이 클래스 간의 관계나 속성을 통해 일반화하는 능력 활용합니다.
- One-shot (OSL)
- 각 클래스에 대해 단 하나의 예시만 제공될 때 모델이 그 클래스를 인식할 수 있도록 하는 학습 방법
- 유사도 학습이나 메타 학습 등의 기법을 활용하여 구현합니다.
- 학습 데이터가 매우 제한적일 때 유용합니다.
- Few-shot (FSL)
- 극소량의 데이터만을 이용하여 새로운 작업이나 클래스를 빠르게 학습하도록 설계된 알고리즘
- 메타러닝이나 학습 전략의 최적화 등을 통해 적은 데이터로도 효과적인 일반화 능력을 갖추도록 합니다.
How models get trained - 모델은 어떻게 훈련되는가
Pre-trained
- 모델이 대규모 데이터셋을 사용하여 광범위한 지식을 학습합니다.
- 모델에게 일반적인 패턴, 구조, 언어적 특성 등을 이해하게 하는 기반을 마련합니다.
- LLM 모델의 경우, Large Text Corpus를 기반으로 다양한 Task에 대하여 사전학습을 수행합니다.
- 사전 학습 과정에서 모델이 다양한 데이터와 상황을 경험하며, 그 과정에서 일반화 능력을 개발하여, 학습과정에서 직접적으로 보지 못한 새로운 클래스에 대해서도 유의미한 추론을 할 수 있는 능력을 갖추게 됩니다.
⇒ ZSL, OSL, FSL 자체는 이 단계에서 직접적으로 수행되지 않지만, 사전학습된 모델은 이후의 ZSL, OSL, FSL 적용을 위한 기반을 제공. 특히 사전학습이 잘 된 모델은 ZSL에서 더 좋은 성능을 보일 가능성이 높습니다.
Fine-tuning
- 사전학습된 모델을 좀 더 특정 태스크나 적은 양의 데이터에 적합하도록 조정합니다.
- 특정 도메인에 초점을 둔 모델이라며 해당 데이터로 모델 파인튜닝을 수행해주면 성능이 향상됩니다.
⇒ ZSL은 특별한 경우로, 사전에 본 적 없는 클래스에 대한 인식을 목표로 하기 때문에, 전통적인 파인튜닝보다는 인퍼런스 단계에서 모델이 어떻게 새로운 클래스를 처리할 수 있는지에 더 중점을 둡니다. 그리고, OSL과 FSL은 이 단계에서 큰 역할을 합니다 적은 양의 데이터로 모델을 조정하여 특정 태스크에 대한 모델의 성능을 최적화할 수 있습니다. 이는 특히 소수의 예시만을 사용하여 모델이 특정 클래스를 인식하도록 하는 데 중요합니다.
Inference
- 학습된 모델을 새로운 데이터에 적용하여 예측을 수행합니다.
ZSL, OSL, FSL은 이 단계에서 핵심적인 역할을 합니다. 모델이 본 적 없는 데이터나 소수의 예시를 기반으로 분류, 인식, 예측 등의 태스크를 수행하는 능력이 이 단계에서 평가됩니다.
💡 ZSL은 주로 인퍼런스 단계에서 본 적 없는 클래스를 처리하는 모델의 능력을 나타내며, OSL과 FSL은 파인튜닝 단계에서 모델을 특정 태스크에 최적화하는 데 중요한 역할을 하고, 인퍼런스 단계에서도 그 성능이 평가됩니다. 이러한 방법들은 모델이 제한된 정보로부터 학습하고, 적응하며, 예측하는 능력을 극대화하는 데 도움을 줍니다.
Supervised VS. Few-shot Learning
지도 학습(Supervised Learning)은 레이블이 지정된 대규모의 훈련 데이터를 사용하여 모델을 훈련시키는 기계 학습의 한 형태입니다. 이 과정에서 모델은 입력 데이터에서 출력 레이블을 예측하는 방법을 학습합니다. 훈련 데이터는 다양한 특징(feature)을 포함하고 있으며, 각 샘플은 특정 레이블과 연관되어 있습니다. 일단 모델이 충분한 데이터로 훈련되고 나면, 새로운, 전에 본 적 없는 데이터에 대한 예측을 할 수 있게 됩니다. (하지만, 이러한 예측은 훈련 중에 모델이 학습한 클래스 내에서 이루어집니다.)
반면에, Few-shot Learning은 지도 학습의 한 형태이지만, 매우 적은 수의 훈련 샘플로부터 학습(또는 검증)하는 데 중점을 둡니다. 이 방법론은 모델이 새롭고 알려지지 않은 클래스의 데이터에 대해 예측을 수행할 수 있게 하기 위해 설계되었습니다. Few-shot Learning 시나리오에서는 지원 세트(Support Set)가 제공되며, 이는 각 클래스의 몇 가지 예시만을 포함합니다. 그 후, 쿼리 샘플(Query Sample)이 주어지면 모델은 지원 세트를 기반으로 이 샘플이 어떤 클래스에 속하는지 예측해야 합니다. 여기서 중요한 점은 쿼리 샘플이 훈련 과정에서 본 적 없는 새로운 클래스에서 온 것일 수 있다는 것입니다.
NLP에서 ZSL, OSL, FSL
- ZSL에서는 모델이 텍스트의 주제나 감정 등을 이해하고, 본 적 없는 새로운 태스크에 이를 적용할 수 있어야 합니다.
- OSL과 FSL에서는 프롬프팅, 데이터 증강, 메타 학습을 통해 제한된 데이터로부터 태스크를 학습합니다.
Takeaway
학습 종류 | 설명 | 예시 prompt => "치즈"를 한국어에서 영어로 번역해줘 |
Zero-shot Learning (ZSL) | 모델이 학습 과정에서 본 적 없는 새로운 클래스를 인식할 수 있도록 하는 학습 방법 | "치즈"를 한국어에서 영어로 번역해줘. |
One-shot Learning (OSL) | 각 클래스에 대해 단 하나의 예시만 제공될 때 모델이 그 클래스를 인식할 수 있도록 하는 학습 방법 | "치즈"를 한국어에서 영어로 번역해줘. "고양이"를 영어로 번역하면 "Cat"이야. |
Few-shot Learning (FSL) | 극소량의 데이터만을 이용하여 새로운 작업이나 클래스를 빠르게 학습하도록 설계된 알고리즘 | "치즈"를 한국어에서 영어로 번역해줘. "고양이"를 영어로 번역하면 "Cat"이야. "가방을 영어로 번역하면 "Bag"이야. "손가락"을 영어로 번역하면 "Finger"야. |