커리큘럼 학습 Curriculum Learning
커리큘럼 학습은 AI 모델에게 학습 데이터를 아무 순서로나 주지 않고, 쉬운 것부터 어려운 것으로 차례를 정해 가르치는 학습 방법이다.
어떻게 작동하나
먼저 데이터마다 난이도를 매긴다. 문장 길이나 문제 풀이 단계 수처럼 사람이 정한 기준을 쓰기도 하고, 모델이 그 데이터를 얼마나 틀리는지를 보고 정하기도 한다. 학습 초반에는 쉬운 데이터를 위주로 보여 주고, 학습이 진행될수록 어려운 데이터의 비중을 늘린다. 순서를 미리 정해 두는 방식도 있고, 모델의 실력에 맞춰 그때그때 다음 문제를 고르는 방식도 있다.
학습이 진행되며 바뀌는 난이도
- 짧고 단순한 예제
- 쉬운 것과 어려운 것 섞기
- 여러 단계 추론 문제
왜 중요한가
처음부터 어려운 데이터를 잔뜩 주면 모델이 갈피를 못 잡아 학습이 느려지거나 불안정해질 수 있다. 쉬운 것으로 기초를 잡으면 더 빨리, 더 안정적으로 실력이 오르는 경우가 있다. 최근에는 LLM 사전학습 막바지에 품질 높은 데이터를 몰아 넣거나, 강화학습에서 모델이 풀 수 있을 듯 말 듯한 문제를 골라 주는 식으로 이 아이디어가 다시 주목받고 있다.
알아 둘 점
늘 효과가 있는 것은 아니다. 데이터를 무작위로 섞어 주는 평범한 방식과 큰 차이가 없다는 결과도 많아서, 문제와 모델에 따라 실험으로 확인해야 한다. 난이도를 잘못 매기면 오히려 성능이 떨어질 수도 있다. 또 쉬운 데이터만 오래 보여 주면 모델이 그쪽에 치우칠 수 있어 비중을 잘 조절해야 한다.
예시
수학·코딩 문제를 강화학습으로 가르치는 추론 모델 훈련에서는, 모델이 늘 맞히는 쉬운 문제나 한 번도 못 맞히는 어려운 문제에서는 배울 거리가 적다. 그래서 지금 실력으로 가끔 맞히는 수준의 문제를 골라 주고, 실력이 오르면 더 어려운 문제로 바꿔 가는 방식을 쓴다. 이것이 커리큘럼 학습을 대표적으로 활용하는 예다.