각 학습 실행의 단계 수 결정

학습 워크로드에는 두 가지 유형이 있습니다.

  • 컴퓨팅 제약
  • 컴퓨팅에 제한되지 않음

컴퓨팅에 종속된 학습은 학습 데이터의 양이나 기타 요인이 아닌 학습에 사용할 수 있는 시간에 따라 제한됩니다. 즉, '최적' 학습 시간은 항상 '가능한 한 길게'입니다. 어떻게든 더 오래 또는 더 효율적으로 학습할 수 있다면 학습 손실이 감소해야 합니다. (적절하게 조정하면 검증 손실도 감소해야 합니다.)

컴퓨팅에 종속된 학습 속도를 높이는 것은 학습을 개선하는 것과 같습니다. 하지만 워크로드가 컴퓨팅에 제한된다고 해서 더 길거나 빠르게 학습하는 것이 결과를 개선하는 유일한 방법은 아닙니다.

학습이 컴퓨팅에 제한되지 않는 경우 원하는 만큼 학습할 수 있습니다. 하지만 모델을 더 오래 학습해도 큰 도움이 되지 않거나 과적합이 발생할 수도 있습니다. 학습이 컴퓨팅에 제한되지 않는 경우:

  • 추가 학습으로 학습 손실이 약간 감소할 수 있지만 검증 손실은 의미 있게 감소하지 않는 지점까지 매우 낮은 학습 손실로 학습할 수 있습니다.
  • 특히 학습률 감소 일정은 학습 예산과 매우 강력하게 상호작용하므로 더 쉽게 조정할 수 있습니다. 반면 컴퓨팅에 제한이 있는 학습에서 학습 손실을 낮추려면 완벽하게 조정된 학습률 감소 일정이 필요할 수 있습니다.

특정 워크로드가 컴퓨팅 바운드인지 여부와 관계없이 (배치 간) 그라데이션의 분산을 늘리는 방법은 일반적으로 학습 진행 속도를 늦추므로 특정 검증 손실에 도달하는 데 필요한 학습 단계 수가 늘어날 수 있습니다. 다음 중 하나라도 있으면 그라데이션 분산이 커질 수 있습니다.

  • 더 작은 배치 크기를 사용합니다.
  • 데이터 증강 추가
  • 일부 유형의 정규화 (예: 드롭아웃 정규화)를 추가합니다.

학습이 컴퓨팅에 제한되지 않는 경우 학습 기간 결정

목표: 학습 단계를 낭비하지 않고 모델이 최상의 결과에 도달할 수 있을 만큼 충분히 학습합니다.

주요 목표는 불필요한 학습 단계를 낭비하지 않고 모델이 최상의 결과에 도달할 수 있을 만큼 충분히 학습하는 것입니다. 확실하지 않다면 더 오래 학습하는 것이 좋습니다. 회고 체크포인트 선택을 적절히 사용하고 체크포인트를 충분히 자주 설정한다고 가정할 때 학습 시간이 길어지면 평가 측정항목 (예: 정밀도, 재현율, AUC 또는 F1)이 저하되어서는 안 됩니다.

연구에서 max_train_steps 번호를 조정하지 마세요. 대신 값을 선택하고 모든 시험에 동일한 값을 사용하세요. 이러한 시도에서 회고 체크포인트 선택이 찾는 학습 단계를 표시하여 max_train_steps 선택을 개선합니다.

예를 들어 최적의 단계가 항상 학습의 처음 10% 동안 발생한다면 최대 단계 수가 너무 높은 것입니다. 또는 최적의 단계가 학습의 마지막 25% 에 지속적으로 있는 경우 더 오래 학습하고 감쇠 일정을 재조정하는 것이 도움이 될 수 있습니다. 아키텍처나 데이터가 변경되면 (예: 데이터 증강 추가) 이상적인 학습 단계 수가 달라질 수 있습니다. 다음 섹션에서는 일정한 학습률을 사용하여 학습 세트를 '완벽하게 맞추는' 데 필요한 단계 수를 기반으로 max_train_steps의 초기 후보 값을 선택하는 방법을 설명합니다.

학습 프로세스가 개선되면(예: 더 잘 조정된 옵티마이저 또는 더 잘 조정된 학습률 일정 사용) max_train_steps를 줄일 수 있습니다.

학습률 스위프를 사용하여 max_train_steps의 초기 후보를 선택하는 알고리즘

학습률 스위프 알고리즘을 사용하여 max_train_steps의 초기 후보를 선택할 수 있습니다. 다음 알고리즘은 학습 세트를 '완벽하게' 맞출 수 있을 뿐만 아니라 일정한 학습률 일정을 사용하여 이를 수행할 수 있다고 가정합니다.

  1. 전체 학습 세트를 완벽하게 맞출 수 있다면 학습 세트를 완벽하게 맞추는 구성 (max_train_steps 값이 있는)이 있어야 합니다. 이러한 구성을 찾아 max_train_steps 값을 시작점 N로 사용합니다.
  2. 데이터 증강과 정규화 없이 일정한 학습률 스위프 (즉, 학습률 그리드 검색)를 실행합니다. 각 트라이얼은 N단계 동안 학습합니다. 학습률 스위프에서 가장 빠른 트라이얼이 완벽한 학습 성능에 도달하는 데 필요한 단계 수가 max_train_steps의 초기 추측이 되어야 합니다.

참고: 잘못된 검색 공간은 자기기만으로 이어질 수 있습니다. 예를 들어 연구의 모든 학습률이 너무 작으면 max_train_steps 값이 매우 커야 한다고 잘못 결론 내릴 수 있습니다. 최소한 연구의 최적 학습률이 검색 공간의 경계에 있지 않은지 확인하세요.

학습이 컴퓨팅에 제한될 때 학습 기간 결정

경우에 따라 학습 손실이 무한정 개선되므로 인내심과 컴퓨팅 리소스가 제한 요소가 됩니다. 하지만 최대한 오래 운동해야 할까요? 반드시 그런 것은 아닙니다. 다음을 고려하세요.

  • 더 많은 수의 짧은 실험을 실행하여 더 효과적으로 조정할 수 있으며, 출시하려는 모델에는 가장 긴 '프로덕션 길이' 실행을 예약할 수 있습니다.
  • 트라이얼의 학습 시간이 인내심의 한계에 가까워지면 튜닝 실험이 잠재적 출시 후보와 더 관련이 있지만 완료할 수 있는 실험의 수는 줄어듭니다.
  • 프로덕션 길이의 약 10% 만 학습해도 많은 질문에 답할 수 있습니다. 하지만 이 시간 제한에서의 결론은 100% 는 물론 20%의 프로덕션 길이 실험에도 적용되지 않을 수 있습니다.

시행당 학습 단계 제한을 늘려 여러 라운드에서 조정하는 것이 합리적인 접근 방식입니다. 원하는 만큼 라운드를 실행할 수 있지만 일반적으로 1~3라운드가 가장 실용적입니다. 기본적으로 매우 빠른 처리 시간으로 시험을 사용하여 문제에 대한 이해를 최대한 많이 얻으려고 노력하면서 다음을 절충합니다.

  • 조정 철저성
  • 최종 가장 긴 러닝과의 관련성

특정 시험별 시간 제한에서 유용한 통계가 생성되면 학습 시간을 늘리고 계속 조정하면서 필요에 따라 짧은 실행에서 얻은 결론을 다시 확인합니다. 시작점으로 두 번의 조정 라운드를 권장합니다.

  • 1라운드: 좋은 모델과 옵티마이저 하이퍼파라미터를 찾기 위해 짧은 기간 동안 실행합니다.
  • 2라운드: 좋은 하이퍼파라미터 포인트에서 최종 모델을 얻기 위해 장기간 실행을 거의 하지 않습니다.

1라운드에서 2라운드로 넘어갈 때 가장 큰 질문은 다음과 같습니다.

학습률 감소 일정을 조정하는 방법

라운드 간에 학습률 일정을 조정할 때 흔히 발생하는 문제는 학습률이 너무 작은 추가 학습 단계를 모두 사용하는 것입니다.

1라운드: 짧은 학습 실행을 많이 실행

불완전한 짧은 학습에서 찾은 좋은 하이퍼파라미터가 학습 길이를 크게 늘릴 때도 여전히 좋은 선택이라고 보장할 수는 없습니다. 하지만 일부 초매개변수의 경우 1라운드가 유용할 만큼 좋은 선택이 충분히 상관관계가 있는 경우가 많습니다. 단기 실행에서 찾은 어떤 초매개변수 값이 장기 학습 실행으로 성공적으로 이전되나요? 알 수 없습니다. 추가 연구가 필요합니다. 하지만 지금까지 알려진 내용을 바탕으로 전송될 가능성이 높은 순서대로 의심되는 사항을 나열하면 다음과 같습니다.

  • 전송될 가능성이 매우 높습니다. 초기 학습 불안정성은 더 적은 수의 학습 단계를 사용하여 첫 번째 조정 라운드에서 해결할 수 있습니다. 다음 초매개변수가 전송될 가능성이 가장 높습니다.
    • 워밍업 길이
    • 초기화
  • 전송될 가능성이 높습니다. 모델 아키텍처의 극적인 승리는 일반적으로 이전되지만 많은 반례가 있을 수 있습니다.
  • 트랜스퍼될 수 있음 다음 초매개변수가 전송될 수 있습니다.
    • 최적화 알고리즘과 하이퍼파라미터가 '느슨하게' 전송됩니다.
    • 데이터 증강
    • 정규화 학습 세트를 완벽하게 맞출 수 없는 경우 모델이 정규화가 별로 도움이 되지 않는 체제에 있을 수 있습니다.
  • 트랜스퍼하지 않음 학습률 일정이 완벽하게 이전되지 않을 수 있습니다. Training Compute-Optimal Large Language Models에서는 감쇠 일정 전송도 제안하지만 일반적으로는 사실이 아니라고 생각합니다. 예를 들어 적은 수의 학습 단계에서 제곱근 감쇠를 조정한 다음 많은 수로 확장하면 대부분의 학습이 너무 작은 단계에서 발생합니다. 극단적인 학습 예산 한도 내에서 대부분의 일정으로 '충분히' 학습할 수 있지만 조정하면 눈에 띄는 성능 개선이 나타날 수 있습니다. Understanding Short-Horizon Bias in Stochastic Meta-Optimization에서는 학습률을 근시안적으로 선택하려고 할 때의 위험을 설명합니다.

2라운드: 더 적은 런, 더 긴 지속 시간

1라운드에서 최적의 초매개변수 구성을 실행합니다.

추측: 🤖 추가 단계를 사용하여 높은 학습률로 학습 기간을 연장합니다. 예를 들어 선형 일정을 사용하는 경우 1라운드부터 감쇠 길이를 고정하고 시작 부분에서 일정한 lr 기간을 연장합니다. 코사인 감쇠의 경우 1라운드의 기본 lr를 유지하고 컴퓨팅에 최적화된 대규모 언어 모델 학습에 설명된 대로 max_train_steps를 확장합니다.

다음과 같은 팀에는 추가 교육 라운드가 적합할 수 있습니다.

  • 매우 성숙한 모델링
  • 조정 파이프라인
  • 매우 길고 비용이 많이 드는 프로덕션 학습 실행

하지만 추가 학습 실행은 비생산적인 경우가 많습니다.

1라운드에서 2라운드로 트랜스퍼하는 방법은 이미 설명했습니다. 분석 시간이 중요하지 않고 컴퓨팅 리소스를 효율적으로 사용하는 것이 가장 중요한 문제라면 여러 라운드의 조정에 걸쳐 학습 실행의 길이 (따라서 연구를 완료하는 데 걸리는 전체 시간)를 지수적으로 늘리는 것이 좋습니다.

  • 각 라운드에서 선택한 항목이 계속해서 좋은 결과를 제공하는지 체계적으로 확인합니다.
  • i단계에서 i+1단계로 갈수록 실행 시간이 길어지는 실험을 사용하여 점진적으로 위험을 줄이는 파이프라인을 통해 새로운 아이디어를 검증합니다.