View a markdown version of this page

지속적인 사전 훈련 및 중간 훈련 - Amazon Nova

지속적인 사전 훈련 및 중간 훈련

참고

구독하면 세부 설명서가 제공됩니다.

Nova Forge CPT는 중간 체크포인트에 대한 액세스 및 Nova의 사전 훈련 코퍼스와의 데이터 혼합을 포함하여 표준 CPT 이상의 고급 기능을 제공합니다. 이러한 기능을 사용하면 도메인 적응의 효율성을 높이고 모델의 일반 기능을 더 잘 유지할 수 있습니다.

중간 체크포인트란 무엇이며 왜 필요한가요?

중간 체크포인트는 모델이 최종 프로덕션 준비 상태에 도달하기 전에 사전 훈련의 여러 단계에 저장된 Amazon Nova 모델의 스냅샷입니다. 모델 개발 중에 Amazon Nova는 일정한 학습 속도의 초기 사전 훈련, 학습 속도 감소, 컨텍스트 확장 훈련, 마지막으로 지침 준수 조정 및 안전 훈련과 같은 여러 훈련 단계를 거칩니다. CPT의 경우 중간 체크포인트는 최종 프로덕션 체크포인트보다 선호되는 경우가 많습니다. 중간 체크포인트는 도메인 적응에 대한 가소성 및 수용성이 더 뛰어나기 때문입니다. 프로덕션 체크포인트는 광범위한 지침 준수 조정과 안전 훈련을 거칩니다. 이를 통해 일반적인 대화 사용에 맞게 모델을 최적화하지만 CPT 중에 새로운 도메인별 패턴을 학습하는 데 저항이 나타날 수도 있습니다. 반대로, 부분 및 완전히 사전 훈련된 텍스트 전용 체크포인트는 모델의 사전 훈련 특성을 유지합니다. 특정 동작에 지나치게 편향되지 않으므로 도메인 적응을 위한 보다 효율적인 시작점입니다. 대규모 CPT(10B 초과 토큰)를 수행할 때 중간 체크포인트부터 시작하면 일반적으로 수렴 속도가 빨라지고 훈련 안정성이 향상되며 도메인 지식 획득의 효율성이 개선됩니다. 그러나 소규모 CPT(10B 미만 토큰)의 경우 또는 지침 준수 기능을 유지해야 하는 경우 프로덕션 체크포인트가 더 적합할 수 있습니다. 모델의 대화형 기능을 유지 관리하면서 도메인 적응을 허용하기 때문입니다.

CPT에는 여러 중간 체크포인트가 필요합니다. 모델이 새로운 도메인 지식을 얼마나 효율적으로 흡수할 수 있는지에 영향을 미치는 여러 수준의 모델 가소성을 제공하기 때문입니다. 최종 프로덕션 체크포인트는 광범위한 지침 준수 조정과 안전 훈련을 거칩니다. 이를 통해 일반적인 대화 사용에 맞게 최적화하지만 새로운 도메인별 패턴을 학습하는 데 저항이 나타날 수도 있습니다. 즉, 사후 훈련을 통해 강화되었습니다. 반면 이전 체크포인트는 모델의 사전 훈련 특성을 유지하며 특정 동작에 크게 편향되지 않으므로 도메인 적응에 대한 가소성 및 수용성이 더 뛰어납니다.

최고의 훈련 효율성을 달성하기 위해 여러 중간 체크포인트가 제공됩니다.

어떤 체크포인트를 사용할 수 있나요?

Nova 2.0

3개의 Amazon Nova Lite 2.0 체크포인트가 있습니다.

  • 사전 훈련 - [nova-lite-2/pretraining-text-RD]: 수조 단위의 토큰에서 모델을 훈련하는 Amazon Nova 사전 훈련의 일정한 학습 속도 및 감소 단계 이후 체크포인트입니다.

  • 중간 훈련 - [nova-lite-2/pretraining-text-CE]: 이 체크포인트에서는 사전 훈련보다 더 보수적인 학습 속도로 중간 볼륨의 비정형 데이터를 도입하여 도메인별 지식을 흡수하는 동시에 파괴적 망각을 방지할 수 있습니다.

  • 사후 훈련 - [nova-lite-2/prod]: 모든 관련 및 사후 훈련 단계를 거친 모델의 완전히 조정된 최종 체크포인트입니다.

다음 표에서는 사전 훈련 및 중간 훈련에 대한 여러 조건을 자세히 설명합니다.

데이터 형식

수행

체크포인트 사용

대규모 비정형 원시 도메인 데이터(문서, 로그, 문서, 코드 등)

지속적인 사전 훈련

사전 훈련

대규모 비정형 원시 도메인 데이터(문서, 로그, 문서, 코드 등)

중간 훈련

사전 훈련

더 작은 양의 비정형 원시 데이터. 정형 추론 트레이스/CoT 데이터

중간 훈련

중간 훈련

비정형 데모(고품질 입력-출력 페어, 선별된 태스크 지침, 멀티턴 대화)

전체 미세 조정

중간 훈련

비정형 데모(고품질 입력-출력 페어, 선별된 태스크 지침, 멀티턴 대화)

파라미터 효율적 미세 조정

사후 훈련

사용할 체크포인트는 무엇인가요?

부분 사전 훈련된 텍스트 전용 체크포인트 및 완전히 사전 훈련된 텍스트 전용 체크포인트는 일반적으로 더 빠르게 수렴되며 도메인 적응을 위해 필요한 훈련 단계가 더 적습니다. 그러나 지침 조정이 없으며 유용한 태스크를 수행하고 지침을 따르려면 사후 훈련 단계를 거쳐야 합니다. GA 체크포인트를 조정하려면 적응하는 데 더 많은 단계가 필요하지만 소규모 실험을 위한 더 안전한 시작점을 제공하고 CPT 훈련 후에도 일부 사후 훈련 기능을 유지 관리할 수 있습니다.

일반적으로 큰 훈련 데이터세트(10B 초과 토큰)에서는 모델의 지식 베이스가 크게 수정되므로 보다 효율적이고 안정적인 훈련을 위해 부분 사전 훈련된 텍스트 전용 체크포인트 또는 완전히 사전 훈련된 텍스트 전용 체크포인트에서 시작합니다. 작은 데이터세트(10B 미만 토큰)에서는 GA 체크포인트를 사용하여 도메인에 적응하면서 지침 준수 기능을 유지합니다.

Nova 2.0에 대해 데이터 혼합을 사용하려면 어떻게 해야 하나요?

새 도메인 데이터로 CPT를 수행하는 경우 새 데이터를 모델의 사전 훈련 단계에서 이전에 사용한 일부 데이터와 혼합하는 것이 매우 유용합니다. 이전 데이터를 새 도메인 데이터와 혼합하면 다음과 같은 두 가지 문제가 해결됩니다.

  • 망각 제어: 모델의 기존 기술과 지식을 유지하여 파괴적 망각을 방지합니다. 데이터 혼합이 없으면 좁은 도메인 데이터에서만 훈련해 모델이 일반 기능을 덮어씁니다. 예를 들어, 법률 문서에서만 훈련된 모델은 코딩 또는 수학 기능을 상실할 수 있습니다. 일반 도메인 데이터세트를 혼합하면 새 도메인을 획득하는 동안 이러한 일반 기술을 유지할 수 있습니다.

  • 최적화 안정성: 모델의 내부 표현을 고정하여 훈련 안정성을 유지 관리합니다. CPT 중에 모델의 학습된 기능이 수정되고 데이터 혼합은 이러한 조정을 원활하게 안내하는 다양한 소스의 그라데이션을 제공합니다. 이 기능 없이 좁은 분포에서 훈련하면 그라데이션이 불안정해질 수 있습니다. 그러면 모델의 표현이 너무 급격하게 전환되어 훈련 분산, 손실 급증 또는 기존 기능의 축소가 나타날 수 있습니다. 이는 안정성과 가소성의 상쇄 효과입니다. 모델은 새로운 도메인 지식을 학습할 수 있을 만큼 충분한 가소성을 갖추어야 하지만, 이미 알고 있는 지식을 파괴하지 않을 만큼 충분히 안정적이어야 합니다.

Nova CPT 데이터 혼합 기능

Amazon Nova 사전 훈련 데이터 및 체크포인트에 대한 액세스는 Amazon Nova CPT 사용자 지정의 핵심 오퍼링 중 하나입니다. Amazon Nova CPT 사용자 지정을 사용하면 도메인 데이터를 Amazon Nova의 사전 훈련 코퍼스와 쉽게 혼합할 수 있습니다. 또한 특정 Amazon Nova 데이터 범주(예: 코드, 수학, 추론 등)의 샘플링 비율을 변경하고 도메인 데이터를 보완하도록 해당 비율을 제어할 수 있습니다. 이를 통해 모델을 특정 도메인에 맞게 적응하면서 사용 사례에 맞는 기능을 강화할 수 있습니다.

최적의 혼합 비율 찾기

Amazon Nova 데이터 및 도메인 데이터의 최적 비율은 데이터세트의 도메인, 복잡성, 크기, 품질 및 일반적인 기능 유지 관리의 중요성에 따라 달라집니다. 이 비율은 실험을 통해 찾아야 합니다. 혼합할 Amazon Nova 데이터의 양을 결정하는 실험 프레임워크는 다음과 같습니다.

도메인 데이터의 대표적인 하위 세트(예: 5B 토큰)를 선택하고 모든 실험 실행에서 이를 일정하게 유지합니다.

다음과 같이 혼합된 Amazon Nova 데이터의 양만 달라지는 소규모 CPT 실험을 실행합니다.

  • 혼합 없음: 100% 도메인 → 5B 도메인만(총 5B)

  • 가벼운 혼합: 90% 도메인 → 5B 도메인 + ~0.56B Amazon Nova(총 ~5.56B)

  • 중간 혼합: 70% 도메인 → 5B 도메인 + ~2.14B Amazon Nova(총 ~7.14B)

  • 과중한 혼합: 50% 도메인 → 5B 도메인 + 5B Amazon Nova(총 10B)

도메인 및 일반 도메인 벤치마크에서 각 체크포인트를 평가합니다. 또한 시작 체크포인트(훈련 전 Amazon Nova 체크포인트)를 평가합니다.

  • 고객 도메인 성능이 여러 실행에서 대략적으로 일정하게 유지되나요? 각 실행에서 동일한 수의 도메인 토큰이 보이므로 일반적으로 그렇습니다. 많은 혼합에서 도메인 성능이 향상되면 Amazon Nova 데이터는 유용한 정규화를 제공합니다.

  • 혼합이 증가하면 일반 벤치마크 점수가 개선되나요?

    • Amazon Nova 데이터가 더 추가되면 일반적인 기능은 단조롭게 개선되는 것이 예상되는 동작입니다.

    • MMLU(일반 지식), HumanEval(코딩), GSM8K(수학) 또는 특정 관심 벤치마크 등 여러 일반 벤치마크를 측정합니다.

  • 사용 사례에 적합한 일반 기능을 제공하면서 도메인 성능을 유지 관리하는 혼합 비율을 선택합니다. 많은 데이터 혼합을 사용하는 추가 훈련 비용을 고려합니다.

최적의 혼합 비율이 식별되면 선택한 혼합 비율로 전체 도메인 데이터세트를 사용하여 전체 규모 CPT를 실행합니다.

데이터 혼합 범주 분석

아래에서는 데이터 혼합에서 사용 가능한 각 범주를 분석합니다. 이를 기반으로 전체 데이터 혼합에서 가장 적합한 데이터 범주에 대한 최선의 결정을 내릴 수 있습니다.

데이터 혼합을 활성화하는 방법

여러 데이터세트 범주에서 적절한 백분율 분포를 사용하여 레시피에 data_mixing 섹션을 추가합니다. nova_data 백분율의 합계는 100이어야 합니다.

데이터 혼합을 사용하는 Nova 2.0 구성

# Note: # This recipe can run on p5.48xlarge # Run config display_name: "Nova Lite Pretrain on P5 GPU" versions: ["2.0"] instance_types: ["ml.p5.48xlarge"] run: name: "my-cpt-run" # A descriptive name for your training job model_type: "amazon.nova-2-lite-v1:0:256k" # Model variant specification, do not change model_name_or_path: "nova-lite-2/prod" # Base model path, do not change replicas: 8 # Number of compute instances for training, allowed values are 4, 8, 16, 32 data_s3_path: "" # Customer data paths validation_data_s3_path: "" # Customer validation data paths output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training jobs ## Training specific configs training_config: task_type: cpt max_length: 8192 # Maximum context window size (tokens) global_batch_size: 64 # Global batch size, allowed values are 32, 64, 128, 256. trainer: max_steps: 10 # The number of training steps to run total val_check_interval: 10 # The number of steps between running validation limit_val_batches: 2 # Batches of the validation set to use each trigger model: hidden_dropout: 0.0 # Dropout for hidden states, must be between 0.0 and 1.0 attention_dropout: 0.0 # Dropout for attention weights, must be between 0.0 and 1.0 optim: optimizer: adam lr: 1e-5 # Learning rate name: distributed_fused_adam # Optimizer algorithm, do not change adam_w_mode: true # Enable AdamW mode eps: 1e-06 # Epsilon for numerical stability weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Beta1 for Adam optimizer adam_beta2: 0.95 # Beta2 for Adam optimizer sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate, must be lower than lr data_mixing: dataset_catalog: cpt_text_lite sources: nova_data: # percent inputs for Nova data must sum to 100%; use 0% if you want to exclude a data grouping agents: 20 business-and-finance: 4 scientific: 10 code: 5 factual-and-news: 5 longform-text: 6 health-and-medicine: 1 humanities-and-education: 1 legal: 1 math: 9 additional-languages: 15 social-and-personal-interest: 11 entertainment: 0.5 reasoning: 10 other: 0.5 tables: 1 customer_data: # percent input of customer data. 100 = use only customer data, 0 = use only the nova_data mix above percent: 25

이러한 범주의 의미

참고: Nova 2.0에는 Nova 1.0에서 사용할 수 없는 추가적인 추론별 범주(예: reasoning-code, reasoning-math, reasoning-instruction-following)가 포함되어 있습니다.

범주 및 정보 레이블 요약:

범주 이름 세부 정보
agents AI 시스템의 자율 의사 결정, 태스크 완료 및 목표 지향적 동작에 초점을 맞춘 훈련 데이터
baseline 일반적인 이해, 기본 커뮤니케이션 및 핵심 언어 기능에 초점을 맞춘 기초적인 언어 데이터
chat 자연스러운 대화 흐름, 컨텍스트 유지 관리 및 적절한 사회적 상호 작용을 보여주는 대화식 교환
code 다양한 프로그래밍 언어 및 플랫폼의 프로그래밍 소스 코드, 설명서 및 기술 토론
factuality 정확성, 소스 검증 및 사실 평가에 초점을 둔 참조 자료 및 확인된 정보
identity 일관된 캐릭터 특성, 가치 및 상호 작용 스타일에 초점을 둔 성격 프레임워크 및 행동 패턴
long-context 여러 긴 교환에서 일관성과 관련성을 유지 관리하는 데 초점을 둔 확장된 텍스트 및 복잡한 서술
math 교과서, 문제, 솔루션, 수학적 토론을 포함한 수학 콘텐츠
rai 윤리적 AI 원칙, 안전 고려 사항 및 책임 있는 기술 배포를 강조하는 사례 및 시나리오
instruction-following 다양한 수준의 사용자 프롬프트 및 지침에 기반한 정확한 태스크 실행 예제
stem 문제 해결 및 이론적 개념을 포함하여 과학, 기술, 엔지니어링 및 수학을 다루는 기술 콘텐츠
planning 전략적 사고, 단계별 태스크 분석 및 효율적인 리소스 할당을 보여주는 시퀀스
reasoning-chat 논리적 토론 및 구조화된 대화 흐름에 초점을 둔 분석 대화 시나리오
reasoning-code 체계적인 솔루션 개발에 초점을 둔 프로그래밍 문제 및 알고리즘 문제
reasoning-factuality 중요한 평가 및 확인 프로세스에 초점을 둔 정보 평가 시나리오
reasoning-instruction-following 체계적인 해석 및 실행에 초점을 둔 복잡한 태스크 분석
reasoning-math 논리적 진행 및 솔루션 전략에 초점을 둔 수학적 문제 해결 시나리오
reasoning-planning 목표 달성에 대한 체계적인 접근 방식에 초점을 둔 전략적 의사 결정 시나리오
reasoning-rag 컨텍스트 이해 및 관련 애플리케이션에 초점을 둔 정보 검색 및 가상 시나리오
reasoning-rai AI 안전 및 공정성에 대한 체계적인 평가에 초점을 둔 윤리적 의사 결정 시나리오
reasoning-stem 체계적인 분석 및 솔루션 개발에 초점을 둔 과학적 문제 해결 시나리오
rag 검색된 외부 지식을 생성된 응답과 효과적으로 결합하여 상황에 맞는 정확한 정보를 제공하는 예제
translation 컨텍스트, 어조 및 문화적 뉘앙스를 유지하면서 정확한 번역을 보여주는 다국어 콘텐츠 페어

파라미터 가이드

  • dataset_catalog: 멀티모달 훈련을 활성화할 때까지 현재 유일한 값은 cpt_text_lite입니다.

  • nova_data: 혼합 시 Nova 데이터의 개별 범주 백분율. 최대 합계는 1.0입니다.

  • customer_data: Nova 데이터에 혼합된 고객 데이터의 백분율.

훈련에 사용된 총 토큰 수는 max_length * global_batch_size * max_steps 공식에서 계산할 수 있습니다.

제한 사항

현재 CPT는 텍스트 데이터만 지원하며 고객 멀티모달 데이터세트를 지원하지 않습니다.