성공지식백과 로고성공지식백과

에포크

중급

에포크는 AI 문맥에서 자주 등장하는 개념입니다. 이 페이지는 중급 난이도로 에포크의 뜻과 쓰임을 빠르게 이해할 수 있도록 정리한 AI 용어사전 항목입니다.

에포크를 처음 보는 독자도 헷갈리지 않도록 정의와 맥락를 한 페이지에 묶었습니다. 아래 설명을 먼저 읽고, 이어서 연결된 개념과 글까지 보면 이해가 훨씬 빨라집니다.

에포크(Epoch)는 전체 학습 데이터셋을 처음부터 끝까지 한 번 완전히 순회하는 학습 단위입니다. 예를 들어 100만 개의 학습 샘플이 있고 에포크를 10으로 설정하면, 모델은 모든 샘플을 10번 반복 학습합니다.

에포크는 이터레이션(iteration)·배치(batch)와 함께 학습 규모를 나타내는 핵심 단위입니다. 전체 데이터를 한 번에 처리하지 않고, 미니배치(mini-batch) 단위로 나눠 처리하는 것이 일반적입니다. 예를 들어 학습 데이터 1,000개를 배치 크기 100으로 나누면 1 에포크는 10번의 이터레이션으로 이루어집니다. 에포크가 너무 많으면 오버피팅, 너무 적으면 언더피팅이 발생할 수 있습니다.

적절한 에포크 수를 찾는 방법으로는 조기 종료(Early Stopping)가 있습니다. 검증 손실을 모니터링하다가 더 이상 개선되지 않으면 학습을 중단합니다. 대형 언어 모델(LLM)의 사전학습에서는 수백만 스텝을 학습하지만, 파인튜닝 단계에서는 보통 1~5 에포크로도 충분합니다. OpenAI 파인튜닝 API의 기본 에포크 수는 3입니다.

ℹ️쉽게 말하면

교재 한 권을 처음부터 끝까지 한 번 읽는 것이 1 에포크입니다. 여러 번 반복해서 읽으면(여러 에포크) 내용이 더 잘 숙지되지만, 너무 많이 읽으면 특정 문장을 통째로 외우는 오버피팅이 생깁니다.

에포크 수를 결정할 때는 학습 곡선(learning curve)을 함께 확인하는 것이 좋습니다. 학습 손실(training loss)과 검증 손실(validation loss)을 에포크마다 기록해 그래프로 그리면, 두 곡선이 벌어지는 시점을 오버피팅 시작점으로 볼 수 있습니다. 이 시점 이전에 학습을 멈추거나, 드롭아웃(Dropout)과 같은 정규화 기법을 함께 사용하면 일반화 성능을 유지하면서 더 많은 에포크를 학습할 수 있습니다.

에포크와 배치 크기는 서로 밀접하게 연관되어 있습니다. 배치 크기가 클수록 1 에포크당 이터레이션 수가 줄어들고, GPU 메모리를 더 많이 사용합니다. 반면 배치 크기가 작으면 이터레이션이 많아지고, 학습 과정에 노이즈가 섞여 경우에 따라 일반화에 유리할 수 있습니다. 학습 데이터 크기, GPU 스펙, 목표 정확도를 함께 고려해 배치 크기와 에포크 수를 설정해야 합니다.

실무 사례를 들면, 이미지 분류 모델(ResNet-50 기준)을 ImageNet 데이터셋에 학습할 때는 보통 90 에포크를 사용합니다. 반면 GPT 계열 언어 모델의 파인튜닝에서는 3 에포크도 많은 경우가 있습니다. 데이터 양이 많을수록 모델이 한 에포크만으로 충분히 패턴을 습득하기 때문입니다. 데이터가 적으면 에포크를 늘려야 하지만 오버피팅 위험도 함께 커집니다.

에포크에 대한 흔한 오해는 '에포크를 늘리면 무조건 모델 성능이 올라간다'는 것입니다. 하지만 일정 에포크 이후에는 검증 성능이 오히려 하락합니다. 모델이 학습 데이터의 패턴이 아니라 잡음(noise)까지 외워버리는 오버피팅이 발생하기 때문입니다. 따라서 에포크 수는 '많을수록 좋다'가 아니라 '검증 성능이 가장 높은 시점'을 기준으로 잡아야 합니다.

최근에는 학습률 스케줄러(learning rate scheduler)와 에포크를 함께 조정하는 방식이 표준이 되었습니다. 예를 들어 코사인 어닐링(Cosine Annealing) 스케줄러는 에포크가 진행됨에 따라 학습률을 점진적으로 낮춰, 초반에는 빠르게 수렴하고 후반에는 섬세하게 조정하는 효과를 만들어냅니다. 에포크, 배치 크기, 학습률을 함께 설계하는 것이 좋은 모델 학습의 기본입니다.

에포크 수 설정 가이드를 정리하면, 일반적으로 처음에는 작은 에포크(3~5)로 시작해 검증 지표를 확인한 뒤 조정하는 방식이 안전합니다. 데이터가 충분히 크고 다양할수록 적은 에포크로도 좋은 결과를 낼 수 있습니다. 반대로 데이터가 적고 복잡한 패턴이 있으면 에포크를 늘려야 하지만, 그만큼 정규화 기법도 강화해야 합니다. 에포크별로 모델 체크포인트를 저장하면, 오버피팅이 발생했을 때 가장 성능이 좋았던 시점으로 되돌릴 수 있습니다.

에포크는 단순한 숫자 설정이 아니라 모델이 데이터를 얼마나 반복해서 보는지를 결정하는 핵심 하이퍼파라미터입니다. 데이터 크기, 모델 복잡도, 학습 목표, 가용 컴퓨팅 자원을 종합적으로 고려해야 최적의 에포크 수를 찾을 수 있습니다. 실무에서는 단순히 에포크만 바꾸기보다 배치 크기, 학습률, 정규화 강도 등 여러 하이퍼파라미터를 함께 조정하면서 가장 좋은 조합을 탐색하는 것이 일반적입니다.