KD 4 : Imitation Learning
내부에 접근할 수 없지만 블랙 박스 모델의 성능이 아주 좋은 경우가 있다.
이들의 지식을 활용할 수 없을까?
Imitation Learning(모방 학습)이란
다른 에이전트, 교사 모델의 행동을 관찰해서 자신의 정책으로(답변 방식) 학습하는 기계 학습 방법이다.
ex: 교사 (Chat GPT), 자신 (SLM = Smal language model), 행동 (Chat GPT의 응답, 우리가 증류하려는 지식의 종류 )
출력 결과 외에는 우리가 얻을 수 있는 정보가 없어서 이렇게 활용한다.
NLP 분야에서 관련 연구를 많이 하고 있다.
예를 들면 '과일에 대해 알려줘!' 라고 교사 모델에 입력하면 알고 있는 지식이 많다보니 다양하고 많은 정보를 알려준다. 하지만 조금 작은 모델들은 간소한 정보만 알려준다.
우리가 원하는 것은 어떤 질문을 했을 때 좋은 답변을 작은 모델이 할 수 있도록 재학습을 하는 과정인 것이다.
사실 데이터 증강이 이 부분과 많이 맞닿아 있다.
블랙 박스 모델에서는 지식 전달 측면에서 봤을 때 데이터 증강으로 해석할 수 있다.
블랙 박스 모델로부터 수집할 수 있는 데이터가 매우 제한적이기에 데이터 자체를 수집해서 재학습하는, 데이터 증강 형태로 학습할 수 있다.
결론적으로 이 방법은 데이터 증강, 혹은 KD의 측면, 이렇게 2가지로 보면 될 것이다.
Imitation Learning 순서
(1) 모방할 데이터 수집 (교사 모델이 응답을 하면 질문과 답변 형태로 저장)
(2) 수집한 데이터 전처리 (불필요한 정보 필터링)
(3) 모델 학습
Imitation Learning 특징
이 데이터는 다른 데이터들과는 다른 특징이 있다.
인조 데이터 : 모델이 출력한 답변이라는 것이다. 이는 장단점이 있다.
- Noisy 데이터 : LLM의 출력의 경우, 비정확한 예측들,(할루시네이션, 편향된 답변) 혹은 오답이 포함될 수 있다.
- 저렴한 데이터 비용 : 사람이 생성하는 데이터 가격에 비해 훨씬 저렴하다.
설명 가능한 답변 생성 :
- 다른 KD 기법들에 비해 증류하는 지식이 사람이 해석할 수 있는 형태다.
- Feature나 확률분포만 놓고 봤을 때 어떤 원리로 왜 됐는지 직관적으로 알 수 없다. 하지만 이 방법으로 얻은 교사 모델의 출력은 우리가 이해할 수 있다.
Imitation Learning 절차
(1) 모방할 데이터 수집
어떤 질문을 교사 모델에게 할 건지 결정해야 한다.
이는 2가지 방법으로 나뉜다.
- Public하게 공개된 데이터 활용 : 이곳에서 좋은 질문들을 모아서 모델에게 물어본 다음에 이 쌍을 학습시키기
- 교사 모델에게 부탁하여 생성하기 : GPT 같은 모델에게 질문들을 만들어달라고 하기. ( Prompt Enginerring 적극 활용)
위 과정을 통해서 데이터를 수집한 뒤, 새로운 고민이 생긴다.
어떻게 질문해야 교사 모델로부터 좋은 답변을 추출할 수 있을까?
여기서도 마찬가지로 Prompt Enginerring을 활용한다.
- 다양한 형태의 답변을 생성하도록 유도
- 구체적인 과정 및 그에 대한 근거 등을 답변하도록 유도
(2) 데이터 전처리
의미 없는 대화, 오답 등의 답변은 제거한다.
할루시네이션이 존재하는지 검증하고 (RAG 활용, 등) 편향된 답변을 하지 않는지도 확인해야 한다.
이 외에도 다양한 검증 방법이 존재한다.
(3) 모델 학습
품질 검증이 끝난 데이터를 활용해서 모델을 재학습한다.
Imitation Learning 장단점
장점 :
- 블랙 박스 모델의 유일한 KD 방법이다.
- 설명 가능한 지식이다.
단점 :
- 제한된 정보량 : 출력만으로는 고도화된 방법론은 적용할 수 없다.
- 데이터 품질의 민감성 : 데이터 품질이 좋지 않다면 이 기법을 쓰고도 성능이 더 나빠질 수 있다.