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

un

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

16일간의 region region region

끝난 실행

ANDREA-120M v1은 2026-03-22에 시작되어 계획된 200,000 스텝 중 165,000 스텝인 2026-04-15에 종료되었습니다. EMA 손실 최소값: 110K 스텝에서 3.23 (무작위 확률: ln(8449) = 9.04, 따라서 손실은 존경할 만해 보였음). 샘플은 그렇지 않았습니다.


Step 80K:  지역 지역 지역 지역 지역 지역 지역
Step 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Step 140K: 게임, 게임, 게임, 게임, 게임, 게임
Step 165K: 부디 부디 부디 부디 부디 부디 부디 부디 부디

RTX 4090 컴퓨트 16일. 130W 연속. 80K 단계 이후 쓰레기.


microGPT에서 ANDREA-120M으로


microGPT는 작동했지만 120M은 왜 실패했나

ANDREA-12M은 동일한 훈련 프록시를 사용하고 통과했습니다. 더 작은 가중치 행렬이 그래디언트 충격에 더 견고함을 입증했습니다. 120M 매개변수로 확장하면서 모든 취약점이 배가되었습니다. 다섯 가지 실패가 복합적으로 발생했습니다.


다섯 가지 복합 실패


실패 1: 그래디언트 클리핑 없음. 소스 전환이 7-42 스텝마다 발생하여 경계 없는 그래디언트 스파이크를 생성했습니다. 120M에서 단일 나쁜 배치가 모델을 옵티마이저가 벗어날 수 없는 퇴화된 어트랙터로 밀어넣을 수 있습니다. 12M 모델은 더 작은 가중치가 충격을 견딜 수 있었기 때문에 살아남았습니다.


실패 2: LR 워밍업 없음. 학습률이 새로 초기화된 가중치에서 즉시 0에서 피크로 점프했습니다. 표현이 형성되기 전에 모델이 나쁜 분기(basin)에 빠졌습니다.


실패 3: 가중치 감소 없음. Vanilla Adam이 120M 용량에서 반복 패턴을 증폭시키는 임의로 큰 가중치를 허용했습니다.


실패 4: 샘플 품질 모니터링 없음. eval_chat_quality()는 레거시 다단계 러너에만 연결되어 있었고, firehose 커리큘럼은 이를 호출하지 않았습니다. 모델이 80K 스텝부터 쓰레기를 생성했지만 10일 이상 탐지되지 않았습니다.


실패 5: Bandit이 반복적인 소스를 보상함. repo-docs, repo-docstrings, & unfirehose-chat이 최고 점수(평균 보상 340-453)를 받았습니다. 왜냐하면 목록 구조 콘텐츠가 교차 엔트로피를 사소하게 줄이기 때문입니다. Bandit이 모델을 퇴화시키는 것을 더 많이 먹였습니다.


복합 효과

단일 실패만으로는 v1이 붕괴되지 않았을 것입니다. 각 실패가 다른 실패들을 증폭시켰습니다. 워밍업(2) 없이 그라디언트 충격(1)이 신선하게 초기화된 모델에 임의로 큰 가중치(3)를 가하며 반복을 생성했고, 밴디트가 이를 보상(5)했으며, 아무도 출력물을 감시하지 않았습니다(4). 다섯 가지 교차하는 원인, 하나의 붕괴.

왜 다섯 가지 실패인가, 하나가 아닌

다섯 가지 v1 실패 중 **어떤 두 가지**를 선택하세요. 각각에 대해 한 문장으로 설명하세요: (a) 그 실패가 무엇이었는지; (b) 그 실패가 다섯 가지 중 다른 하나와 어떻게 구체적으로 상호작용하여 피해를 복합적으로 증폭시켰는지.

실패 하나당 수정 하나

v2 구성 (2026-04-15)


수정대상 실패구현
그래디언트 클리핑F1 (클리핑 없음)전역 L2 노름, max_norm=1.0; 세 개의 CUDA 커널 (k_grad_norm_partial, k_grad_norm_final, k_grad_scale)이 pre-Adam 계산 및 적용
LR 워밍업F2 (워밍업 없음)2000 스텝 동안 0에서 피크까지 선형 램프. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps)
AdamWF3 (가중치 감소 없음)분리된 가중치 감소 (Loshchilov & Hutter 2019), weight_decay=0.01. p -= lr (m_hat/(sqrt(v_hat)+eps) + weight_decayp)
일관성 게이트 조기 종료F4 (모니터링 없음)모든 샘플 점수화 (bigram/trigram/word/char 다양성). 5개 연속 샘플이 30점 미만이면 자동 중단
커리큘럼 워밍업F5 (밴디트가 반복 섭취)처음 20K 스텝은 7개 채팅/산문 소스에 제한; 이후 firehose 활성화; repo-docstrings는 완전히 제외

또한 sample_every가 200에서 100 스텝으로 줄음 (감사 주기 2배), & repo-docs 상한이 0.5에서 0.3으로 줄음.


백테스트

일관성 게이트가 v1에서 백테스트됨: 132K 스텝에서 트리거되어 3.8일의 컴퓨트 절약. 게이트만으로 v1의 낭비 컴퓨트 ~30% 감소; 다른 네 가지 수정으로 v1이 그 게이트 트리거에 도달하지 않음.


v2가 수정하지 않은 것

데이터 오염. v2는 hermes3-* 소스를 LLM 교사에서 왔기 때문에 '사전 정리됨'으로 신뢰했습니다. Makefile의 DEEP_CLEAN_SKIP이 hermes3-general, hermes3-creative, & hermes3-roleplay를 make deep-clean에서 제외했습니다. unfirehose-chat이 에이전트 시스템 프롬프트를 사용자 턴으로 캡처했습니다. 이 두 결함은 데이터 계층에 기다리고 있으며, 표면화될 준비가 되어 있었습니다.

수정 사항을 실패에 매핑하기

v2의 세 가지 수정 사항이 각각 v1의 하나의 실패에 명확히 연결됩니다. 매칭: (a) gradient clipping (max_norm=1.0); (b) LR warmup (2000-step linear ramp); (c) AdamW with weight_decay=0.01. 각 수정 사항에 대해, 그것이 해결하는 v1 실패를 명명하고, 이 특정 수정이 그 실패를 방어하는 이유를 한 문장으로 설명하세요.

15K 단계: 두 데이터 결함이 드러남

v2가 본 것

v2는 2026-04-15에 출시됨. 200K 중 ~15K 단계(7.5% 완료)에서, 샘플이 에이전트 하네스 장식(○ ●)과 기사 지배 대체(a = 14,966 단계에서 단어의 26%; the = 14,798 단계에서 21%)를 생성함. v2의 다섯 가지 안정성 수정이 올바르게 작동하고 있었음. 실패가 아키텍처에서 데이터로 이동함.


두 개의 독립적인 파이프라인 결함


결함 A: unfirehose-chat이 에이전트 시스템 프롬프트를 사용자 턴으로 캡처함. unfirehose-chat은 ~/.claude/, ~/.fetch/, ~/.uncloseai/의 하네스 세션 JSONL 파일에서 구축됨. 수집 파이프라인이 다중 섹션 에이전트 시스템 프롬프트(# Agent X, ## Identity, ## Rules 등)를 > user / < assistant 쌍의 사용자 턴 슬롯으로 변환함. 모델이 '사용자'가 다중 섹션 마크다운으로 말한다는 것을 학습하고, 자신의 출력에서 그 장식을 재현함.


결함 B: hermes3-*가 모든 필터를 우회함. Makefile의 DEEP_CLEAN_SKIP이 hermes3-general, hermes3-creative, & hermes3-roleplay를 make deep-clean에서 제외시켰음. LLM 증류 데이터가 사전 세정되었다는 잘못된 가정 때문. 철저한 스캔 결과 기존 필터를 적용하면 hermes3 라인의 87-93%가 거부됨 (block_size=1024를 초과하는 2000자 초과 단락; CJK/키릴/아랍어 번역 응답; 낮은 빅그램 다양성 실행).


v2.5 패치 (커밋 de24332, 2026-04-18)


두 가지 구조적 변경.


변경 1: filter-dataset.c의 has_system_prompt_shape(). 문자 매칭이 아닌 SHAPE로 유출된 시스템 프롬프트를 감지. 세 가지 신호 결합:

1. 한 턴에 3개 이상의 마크다운 헤더 = 삭제.

2. 턴 길이가 500자 이상인 2개 이상의 헤더 = 삭제.

3. 에이전트-샤드 지문 구문(# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines)이 헤더나 길이 >=400과 결합 = 삭제.


격리 규칙: / 구분자(공백 포함, URL 경로를 분할하는 빈 /가 아님)에서 첫 번째 사용자 턴을 확인하여 어시스턴트 응답의 합법적인 마크다운에 대한 오탐지를 피함.


변경 2: hermes3-*가 DEEP_CLEAN_SKIP에서 제거됨. 필터링되지 않은 것은 신뢰하지 마라.


패치 후 드롭율


소스인라인아웃라인드롭율
hermes3-general536,85867,39587.7%
hermes3-roleplay35,1912,48193.0%
hermes3-creative14,2581,37390.4%
unfirehose-chat3,8162,65330.5%
chat45,25744,5381.6% (노이즈)
smoltalk11,81211,8120.0%

기존 베이스라인 필터는 hermes3 오염의 87-93%를 이미 포착하고 있었습니다; DEEP_CLEAN_SKIP가 주요 결함이었습니다. 새로운 형태 감지기는 전체적으로 ~0.1% 추가 거부를 더하며, 이는 기존 필터가 놓치는 특정 agent-shard 누출을 제거하는 unfirehose-chat에 집중되어 있습니다.


왜 형태가 문자보다 우수한가

장식은 진화합니다. 를 제거하는 문자 매칭 필터는 다음 주 에 대해 아무것도 하지 않습니다. 형태 기반 필터(헤더 수 세기, 문자 수 세기, 지문 구문 인식)는 장식 변형에 걸쳐 일반화됩니다. 패턴: 오염 감지는 구조적 휴리스틱을 사용해야 합니다.

왜 형태로 필터링하는가

v2.5는 문자(장식 같은 특정 기호 매칭)가 아니라 SHAPE(헤더 수, 길이, 지문 구문)로 에이전트-샤드 누출을 필터링합니다. 이것이 중요한 실용적인 이유 하나와 문자만 매칭하는 필터가 잡아내지 못할 구체적인 실패 모드 하나를 제시하세요.

데이터 없는 Bandit Arm

v3 Launched 2026-04-18

v2와 동일한 아키텍처 & 하이퍼파라미터; v2.5 패치 후 데이터 정리. 샘플 감사에서 장식 누출 제로. v3는 112K 스텝까지 깨끗하게 실행되었습니다.


112,619단계: 샘플 감사에서 패턴 포착

샘플 감사는 일관된 대화 턴(하이쿠, Q&A, 대화)을 드러냈지만, 지식 암(knowledge arms)(gutenberg, repo-docstrings, repo-docs)에 초점을 맞춘 주기적 단계에서 코드 같은 조각과 저장소 토큰화 노이즈가 새어 나왔다. 112,080단계의 한 샘플은 손실 0.13에 도달: 비정상적으로 낮아, 학습된 채팅 분포가 아닌 기억된 repo-docs 부분 문자열을 신호하는.


좀비 암(The Zombie Arm)

진단: exclude_sources는 훈련 시작 시 repo-docstrings를 올바르게 제거했지만, 지속된 bandit 상태가 이전 실행에서 가중치 1.546을 가진 잔여 repo-docstrings 암을 운반했다. 상태 재로드가 .btok이 샘플링에 존재하지 않음에도 UCB 풀에 이를 복원시켜, 탐색 회계를 왜곡하는 좀비 풀(zombie pull)을 생성했다.


교훈: bandit 상태 파일(.state.json)은 재시작 간에 놀랍게 표류한다. 구성 제외는 잔여 암 메모리를 지우지 않는다. 이중 안전장치 필요: cap = 0.0과 함께 exclude.


폴란드어 구성

커리큘럼 교란만 적용. 아키텍처, 옵티마이저 상태, 학습률 스케줄, & 손실 기록은 모두 step_112600.bin에서 보존됨.


출처v3 기본v3 폴란드어
repo-docs상한 0.3제외 (상한 0.0)
repo-docstrings제외제외 + 상한 0.0
repo-commits상한 0.4상한 0.2
dictionary상한 0.5상한 0.25
gutenberg상한 0.8 / 하한 0.3상한 0.7 / 하한 0.4
irc-qa-strict--상한 0.3
unweapon--상한 0.3
synthetic-chat--상한 0.4
hermes3-general하한 0.5하한 0.7
hermes3-creative하한 0.4하한 0.55
hermes3-roleplayfloor 0.4floor 0.5
chatfloor 0.4floor 0.6
smoltalkfloor 0.3floor 0.5
oasstfloor 0.3floor 0.5
dolly--floor 0.4
curriculum_warmup_steps200000

폴란드 프로토콜

1. SIGUSR1을 CUDA에 보내면 다음 100단계 경계에서 즉시 체크포인트를 강제합니다.

2. Proxy가 중지됩니다.

3. .samples.json & .state.json이 아카이브됩니다 (샘플 로그 & bandit 상태가 역사적 기록으로 저장됩니다).

4. .loss.json 유지 -- 누적 훈련 기록; 절대 아카이브되지 않습니다.

5. Proxy가 재시작됩니다. Polish 설정이 제출됩니다.

6. CUDA가 step_112600.bin에서 새로운 caps & floors 하에 새로운 bandit 상태로 재개합니다.


Loss 기록이 중단 없이 계속됩니다.

왜 폴란드(세련), 재시작이 아닌가

112,619단계에서 계획된 훈련의 56%에 도달했습니다. 팀은 **전체 재시작(FULL RESTART)** (0단계에서 재초기화) 대신 **커리큘럼 교란(CURRICULUM PERTURBATION)** (가중치 보존, 상한 및 하한 변경)을 선택했습니다. 폴란드-피벗(polish-pivot)이 올바른 이유 두 가지와 0단계로 돌아가는 것이 도입할 특정 위험 한 가지를 설명하세요.

폴란드가 만들어낸 것

피벗 후 몇 시간 후 샘플 감사

폴란드 피벗 후 몇 시간 만에, 샘플 감사에서 원래 네 가지 ANDREA-120M 목표에 대한 수렴이 확인되었습니다.


사실 회상 (생물학), 단계 112,584, 손실 0.30, ppl 1.

> [extinction prompt]

> < black spider montano is alive, carolina parakeet is extinct.

두 가지 사실이 정확함. 외부 평가: 9.5/10.


사실 회상 (신호 처리), 단계 112,668, 손실 0.74, ppl 2.

> [Fourier 변환 프롬프트]

> < 푸리에 변환은 신호를 주파수 성분으로 분해하여 신호 특성 분석 및 주파수 영역에서의 필터링을 가능하게 합니다.

교과서 한 문장 정의. 외부 평가: 9.5/10.


제약 준수 (하이쿠), 단계 112,248, 손실 1.05, ppl 3.

> 'r'로 시작하는 세 단어를 사용하여 비에 대한 하이쿠를 작성하세요.

> < 비의 리듬 있는 반복, 창문에 흐르는 물줄기, 삶의 고통에서 휴식.


도구 지식 (Python), 단계 112,500, 손실 1.94, ppl 7.

> Python 프로젝트에서 오래된 패키지를 어떻게 찾나요?

> < 프로젝트 관리에서 pip 패키지 목록을 보려면 pip list --outdated names를 사용하세요...

올바른 도구가 등장; 표현이 부정확함.


700 단계 내 6개 도메인

생물학, 신호 처리, 시, python 도구, 대화형 대화, 운영 대화. 700 단계 내 6개의 무관한 도메인은 bandit와 모델이 협력하고 있음을 알려줍니다. 도메인 폭이 수렴 신호입니다.


외부 평가

독립 리뷰어가 샘플을 '120M 파라미터 모델치고 탄탄함 -- 이 규모에서 인상적인 일관성과 지식 유지'라고 평가했으며, Carolina parakeet & Fourier transform 샘플은 9.5/10과 '지식 작업에서 체급 이상의 성능'으로 평가됨.


각 단계가 가르친 것


v1이 가르친 것: 다섯 가지 복합 실패가 훈련을 붕괴시킴. 개별 수정으로는 구제 불가; 다섯 가지 모두 동시에 착지해야 함.


v2가 가르친 것: 아키텍처 수정은 필요하지만 충분하지 않음. 데이터 계층이 이를 조용히 무효화할 수 있음.


v2.5가 가르친 것: 문자자가 아닌 형태로 필터 오염을 걸러내기. 패턴은 안정적이다; 기호는 진화한다.


v3 base가 가르친 것: bandit 상태는 재시작 시 놀라운 방식으로 표류한다. 단독 제외만으로는 충분하지 않다; cap 0.0 벨트-앤-서스펜더가 필요하다.


v3 polish가 가르친 것: 실패가 정책에 있고 모델이 건강할 때, 정책을 교란시키기. 가중치를 유지. 손실 기록을 유지. 앞으로 나아가기.


하나의 진리

수렴은 단일 이벤트가 아닙니다; 그것은 수정의 연쇄입니다. 각 단계가 하나의 결함을 드러내고, 그것을 수정하며, 다음 결함을 드러냈습니다. ANDREA-120M은 112,584단계에서 9.5/10을 읽는 이유는 v1, v2, v2.5, v3 base, 및 v3 polish이 각각의 역할을 했기 때문입니다.

어떤 단계가 가장 어려운 교훈을 가르쳤는가

다섯 단계(v1, v2, v2.5, v3 base, v3 polish) 중에서 가장 전이 가능한 엔지니어링 교훈을 가르친 것은 어느 것이라고 생각하나요? 하나를 선택하세요. 그 교훈을 자신의 말로 설명하고, 이 교훈이 언어 모델 훈련을 넘어 일반화되는 이유를 2-3문장으로 설명하세요.