English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

게스트
1 / ?
수업 목록으로

스텝 0-20K: 제한된 식단

두 단계, 하나의 실행

v2 화력호스 커리큘럼은 단일 200K 스텝 훈련 실행 내에서 두 단계로 진행됩니다:


단계 A (스텝 0 ~ 20K). Bandit은 7개의 채팅 & 산문 소스에서만 끌어옵니다:


- hermes3-general

- hermes3-creative

- hermes3-roleplay

- chat

- smoltalk

- oasst

- gutenberg


Phase B (20K에서 200K 스텝). Bandit는 전체 혼합에서 뽑아, 모든 16개 소스, reference(dictionary), technical(repo-docs, repo-commits), & social(irc, unweapon) 포함.


Curriculum warmup timeline


제한된 식단이 공유하는 것

7개의 warmup 소스 중 6개는 대화체입니다. 하나(gutenberg)는 단락 산문입니다. 함께 그들은 공통 형태를 공유합니다: 턴 구조 (프롬프트 다음 응답) 또는 서사 흐름. 7개 소스에 걸친 어휘 분포는 대략 정상적인 영어처럼 보입니다; cross-entropy 목표는 안정적인 범위에 머무릅니다; gradient 크기는 예측 가능하게 유지됩니다.


구성 필드


"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]

웜업 단계 식별

훈련 실행이 18,400단계 동안 진행되었습니다. bandit 상태를 보지 않고, 모델이 `dictionary` 또는 `repo-docs`에서 샘플링했을 수 있나요? 왜 그럴 수 있거나 없는지 설명하고, 이를 결정하는 구성 값을 인용하세요.

Warmup 없이 v1이 어떻게 보였나

v1: 0단계부터 모든 16개 소스

첫 번째 ANDREA-120M 훈련 실행(March-April 2026)은 0단계에서 전체 firehose를 활성화했습니다: 16개 소스, dictionary(> define X / < X is... 형태의 88K 단어 정의), repo-docs(markdown 문서), repo-docstrings(Python docstrings), & repo-commits(git commit 메시지)를 포함하며 chat & prose와 함께.


무엇이 잘못되었나요

초기화된 120M 모델이 무작위 가중치로 16개의 서로 다른 분포를 동시에 모델링할 수 없습니다. 구조적으로 다른 소스에서 오는 각 배치는 다른 기울기 방향을 생성합니다. 7-42 스텝마다 소스가 전환되면서 기울기 크기가 극심하게 변동되었고; 모델은 표현을 형성할 수 있을보다 빠르게 어트랙터 사이를 점프했습니다.


80K 스텝까지 v1은 region region region region region region region을 생성했습니다. Hermes3-general 교사 증류 보상(평균 340-453)은 반복적인 목록 구조 소스가 교차 엔트로피에서 가장 높은 점수를 받게 했고, bandit은 이를 '이 암들은 쉽다'로 해석했습니다. bandit은 모델을 퇴화시키는 것을 더 많이 제공했습니다.


7개 소스로 제한하는 이유

1. 분포 유사성. 모든 7개의 워밍업 소스는 유사한 형태의 텍스트(턴 구조 또는 서사)를 생성합니다. 배치 간 기울기 방향이 대체로 정렬되어 유지됩니다.

2. 응집성 우선. 모델은 정의 목록, 코드, 또는 git 메시지를 만나기 전에 어휘 빈도, 구문 패턴, 및 턴 구조를 학습합니다.

3. 안정적인 커리큘럼. 7개의 채팅/산문 소스에 걸친 Bandit 보상 신호가 비교 가능한 범위에 머무르며; UCB1 선택이 단일 이상하게 보상 높은 소스에 의해 장악되지 않습니다.


Phase B가 활성화될 때

20K 스텝에서, 모델은 ~40-50개의 샘플(100 스텝당 하나)을 생성했으며, 샘플에서 일관된 영어를 보여주고, 안정적인 빅그램 및 트리그램 분포를 구축했습니다. 이제는 사전의 > define X / < X is... 패턴, repo-docs의 코드 블록, 및 git 커밋 헤더를 채팅 구조를 잃지 않고 흡수할 수 있습니다.

v1의 실패 진단

신규 초기화된 120M 트랜스포머가 스텝 0부터 16개의 구조적으로 다른 소스에서 훈련됩니다. 80K 스텝까지, 샘플은 `region region region region region`으로 읽힙니다. no-warmup 설계 선택을 이 특정 실패 모드에 연결하세요: 스텝 0에서 16개의 소스가 모델을 단일 토큰 반복으로 붕괴시키는 메커니즘의 이름을 지정하세요. 한두 문장.

v3 Polish는 curriculum_warmup_steps = 0으로 설정합니다

다른 시작점

v3 polish의 112,619 단계 피벗은 curriculum_warmup_steps를 0으로 설정하여 step_112600.bin에서 훈련을 재개했습니다. 언뜻 보기에 이는 모순처럼 보입니다: v2에 도움이 된 워밍업을 polish 단계에서 왜 비활성화한 걸까요?


모델이 이미 일관성을 배웠기 때문입니다

Phase A는 새로 초기화된 모델이 어휘 빈도, 턴 구조, 단락 일관성을 배우는 시간을 벌어줍니다. 112K 단계까지 모델은 이미 그 모든 것을 해냈습니다. 112K에서의 샘플 감사는 일관된 대화 턴, 하이쿠, Q&A, 대화를 보여주었습니다. 워밍업의 원래 목적(취약한 새 모델을 그래디언트 혼란으로부터 보호)은 더 이상 적용되지 않습니다.


Polish는 재가중화하며, 재시작하지 않습니다

Polish는 새로운 실행이 아니라 커리큘럼 교란입니다. 동일한 200K 목표, 동일한 아키텍처, 동일한 옵티마이저 상태, 동일한 손실 기록. 변경되는 것: 소스 상한 및 하한이 지식 암기보다 대화를 선호하도록 재가중화됩니다. 모델이 이미 일관적이기 때문에, 112,619 단계부터 모든 활성 소스가 공정한 게임입니다.


요약 표


Phasecurriculum_warmup_stepsWhy
v1(없음)0단계의 모든 16개 소스 -> 압축
v2 (steps 0-200K)20,000신선하게 초기화된 가중치를 그래디언트 혼란으로부터 보호
v3 base (steps 0-112K)20,000v2와 동일한 보호
v3 polish (steps 112K-200K)0모델이 이미 일관성 있음; 보호할 취약한 초기화 상태 없음

폴리시 단계에서 Warmup 비활성화가 안전한 이유

v3 폴리시 전환 지점에서 curriculum_warmup_steps = 0으로 설정하는 것이 v1 압축을 재현하지 않는 이유를 2-3문장으로 주장하시오. 두 실행 모두 '현재 단계부터 모든 소스 활성화'라는 특징을 가지지만, 112K 단계에서의 모델 상태를 참조하시오.