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

un

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

락인 문제

계속 이기는 밴디트

바닐라 UCB1은 매 단계마다 점수를 재계산합니다. 하나의 팔을 선택. 당김. n_k & mean_reward(k)를 업데이트. 반복. 많은 소스가 있는 긴 훈련 실행에서, 단일 팔이 높은 보상의 연속을 모아 평균을 높이고, 이기기 거의 불가능해집니다. 다른 팔들은 낮은 n_k에서 정체되고 오래된 평균을 가집니다. 락인.


락인은 ANDREA에게 두 가지 방식으로 해를 끼칩니다:


1. 다양성 붕괴. 한 소스에서 90%의 단계를 훈련하는 모델은 그 소스의 스타일적 특징을 학습합니다. 생성 샘플은 지배적인 소스와 일치하는 반복적인 패턴으로 표류합니다.

2. 陳腐한 탐색.陳腐한 평균을 가진 팔은 회복할 수 없습니다. 초기에 평균이 떨어진 팔은 모델이 이제 그 팔에서 보상을 추출할 만큼 충분한 용량을 갖추었더라도 그 평균에 갇혀 있습니다.


단계가 시간을 사는 이유

해결책: 재평가 전에 단계(여러 단계) 동안 고정된 초점 팔 세트를 유지합니다. 14단계의 단계는 14개의 순전파가 동일한 초점 팔에 도달합니다. 평균 보상이 안정화됩니다. 확률적 노이즈가 평균화됩니다. 그런 다음 bandit가 다시 롤링합니다.


가변 단계 길이

ANDREA는 각 단계 경계에서 {7, 14, 21, 28, 42} 중에서 무작위로 단계 길이를 선택합니다. 다섯 개 값, 균등 무작위. 짧은 단계(7)는 나쁜 선택에 빠르게 반응; 긴 단계(42)는 안정된 초점 세트가 완전히 활용되도록 합니다. 상한은 피해를 제한: 최악의 초점 구성에 최대 42단계만 소모된 후 강제 재선택.


Dice Phase Timeline

단계 길이 통계

ANDREA는 {7, 14, 21, 28, 42}에서 균등하게 무작위로 단계 길이를 선택합니다. 계산하세요: (a) 기대(평균) 단계 길이, (b) 최대 단계 길이, (c) 1,000 단계에 걸쳐 기대 총 단계 수. 산술 과정을 보여주세요.

1d3 (2-eye) & 1d4 (3-eye)

주사위 표기법

테이블탑 표기법: NdM은 각 M면이 있는 N개의 주사위를 굴리는 것을 의미합니다. 1d3은 하나의 3면 주사위를 굴려 {1, 2, 3} 값을 반환합니다. 1d4는 하나의 4면 주사위를 굴려 {1, 2, 3, 4}를 반환합니다. ANDREA는 관례적으로 결과 0도 허용합니다: 0 굴림은 완전 무작위 단계 (UCB 집중 팔 없음)를 의미합니다.


2-Eye vs 3-Eye 구성

ANDREA의 훈련 구성은 두 가지 주사위 모드 중 하나를 선택합니다:


2-eye config (1d3). 가능한 포커스 암 수: {0, 1, 2, 3}. 결과 0은 랜덤 페이즈를 위해 예약됨.


3-eye config (1d4). 가능한 포커스 암 수: {0, 1, 2, 3, 4}. 더 큰 풀은 더 집중된 페이즈를 허용함.


먼저 랜덤, 그 다음 UCB

주사위 결과가 무엇이든, ANDREA는 두 번의 패스로 포커스 슬롯을 채움:


1. 먼저 랜덤 암. 모든 사용 가능한 암에서 균등하게 무작위로 포커스 슬롯의 일부를 선택. 이는 UCB 순위와 관계없이 모든 페이즈에서 조합적 다양성을 강제함.

2. UCB가 나머지 슬롯을 채웁니다. 이미 선택된 암 외의 암에 대해 UCB1 점수를 계산합니다. 포커스 슬롯 수가 채워질 때까지 상위 랭킹의 나머지 암을 선택합니다.


Random-first가 중요합니다. UCB가 먼저 선택되었다면, 연승 리더가 항상 슬롯을 차지할 것입니다. Random-first를 사용하면, 최고의 UCB 암조차도 한 페이즈를 쉬게 될 수 있습니다. 다양성이 보장됩니다.


순수 랜덤 페이즈

주사위가 0이 나오면, 전체 포커스 세트가 랜덤 선택에서 나옵니다. UCB는 아무 기여도 하지 않습니다. 약 25%의 페이즈 (1d4) 또는 33%의 페이즈 (1d3)가 여기에 해당합니다. 순수 랜덤 페이즈는 밴디트가 적게 선택된 암의 샘플을 새로 고치도록 강제하여, 전체 암 풀에 걸쳐 mean_reward 추정값을 정직하게 유지합니다.

주사위 결과 확률

1d3 주사위 (2-eye config)에서 가능한 결과 {0, 1, 2, 3}이 모두 동일 확률로 나오는 경우, (a) 완전 랜덤 페이즈 (dice=0)의 확률, (b) 최소 한 개의 UCB 암 (dice >= 1)의 확률, (c) 100 페이즈 동안 완전 랜덤 페이즈의 기대 개수를 계산하세요. 그런 다음 1d4 (3-eye config)에서 (d) 완전 랜덤 페이즈의 확률을 구하세요. 추론 과정을 보여주세요.

피해 상한 설정

나쁜 단계는 최대 42단계를 소모합니다

UCB 순위가 관측 평균보다 훨씬 낮은 진짜 평균을 가진 초점 팔을 선택한다고 가정합니다. 단계가 그 팔을 고정합니다. 보상이 전체 단계 동안 낮게 유지됩니다. 밴디트가 수정하기까지 얼마나 걸릴까요?


최대 단계 길이: 42 단계. 42단계 후에 단계가 종료되고, 주사위가 다시 굴려지며, 초점 팔이 재배치됩니다. 나쁜 선택은 42개의 순방향 패스보다 오래 지속될 수 없습니다.


왜 42 (& 100이 아닌, & 1000이 아닌)

긴 단계는 mean_reward 추정값이 안정화되도록 합니다. 통계 이론: n개의 샘플 평균의 분산은 1/n에 따라 줄어듭니다. 7개의 샘플에서 42개의 샘플로 가면 6배 더 많은 샘플이 되고, sqrt(6)은 약 2.45배 더 좁은 표준 오차를 줍니다. 42개의 샘플 후에 mean_reward는 대략적으로 실제 값의 +/-15% 이내에 위치합니다 (보상 분산에 따라 다름).


42개의 샘플을 넘어서면 이득이 줄어듭니다: 100개의 샘플 vs 42개의 샘플 = 2.4배 더 많음, sqrt(2.4)은 약 1.55배 더 좁은 표준 오차. 나쁜 고정의 비용이 증가함에 따라 한계 이익이 떨어집니다. 42 단계는 둘 사이의 균형을 맞춥니다.


다양성 vs 수렴

짧은 단계(7단계): 보상 추정치는 여전히 노이즈가 많지만, 잘못된 선택의 비용은 적음. 긴 단계(42단계): 추정치가 정확하지만, 잘못된 선택의 비용이 더 큼. ANDREA는 단계 길이를 균등하게 섞어 모든 훈련 실행에서 두 체제가 모두 나타나게 함.


Btok 재구축 비용

각 단계 경계는 포커스 암에 대한 btok 파일 재구축을 유발함. Btok 재구축은 백그라운드 스레드에서 실행됨; CUDA는 mtime 변경 시 핫-리로드됨. 재구축에는 몇 초가 걸림; 단계는 재구축 오버헤드가 작게 유지될 만큼 충분히 길어야 함. ANDREA-120M 훈련 속도에서 42단계는 재구축 시간을 충분히 초과함.

천장(Ceiling)에 대한 추론

ANDREA가 1,000단계 훈련 실행을 완료했습니다. 밴디트가 800단계에서 잘못된 포커스 암을 선택했습니다. 42단계 천장이 없으면 그 잘못된 암이 임의로 오래 지속될 수 있습니다. 42단계 천장이 있을 때, 800단계부터의 최악 경우 낭비 단계 수는 얼마입니까? 그런 다음 두 문장으로 설명하세요: (a) 더 긴 천장(예: 200단계)이 왜 더 나쁜지, & (b) 더 짧은 천장(예: 항상 7단계)이 왜 더 나쁜지.

다음으로 올 내용

당신이 가진 것

단계 기반 주사위 제어는 UCB1을 세 가지 보호 규칙으로 감쌉니다: 가변 단계 길이 (7-42), 무작위 팔 우선, 주사위 기반 무작위 단계 (25-33% 순수 무작위). 42단계 상한은 피해를 제한; 무작위 단계는 고착을 방지; 가변 길이는 반응 속도와 추정 안정성을 혼합.


남은 것

UCB에 공급되는 보상 신호는 실제로 어디서 오는가? Activity 78 (reward attribution)은 CUDA가 매 단계마다 소스별 손실을 보고하는 방법, 소스별 EMA가 보상을 추적하는 방법, & ANDREA가 UCB1에 공급하기 전에 원시 보상을 1000배 스케일링하는 이유를 보여줍니다.


바닥(floors) & 에포크 페널티(epoch penalties)(활동 79)는 밴디트(bandit)의 출력 위에 추가 보호 규칙을 더해, 작은 소스들이 굶주리지 않도록 하고 큰 소스들이 반복 memorization되지 않도록 보장합니다.


참고 자료

ANDREA whitepaper, 섹션 3.2.