학습 시, 특정 뉴런의 확률적 비활성화,
이 때 남은 뉴럭의 출력은 1/(1-p) 로 스케일링, 전체 기댓값의 유지 - 출력 분포의 유지
Graph Capture 환경에서는 이 scaling 을 커널 내부에서 constexpr 로 고정하는 방식으로 사용,
RNG 를 통한 결정론적 보장
Dropout 의 출력은 RNG 의 상태에 종속, 인관성 있는 관리 필요,
GPU 병렬 환경에서는 RNG 가 thread 단위로 분리되어 있음, 같은 seed 로도 thread 스케줄이 달라지면 mask 가 달라지는 문제 발생
Graph Capture, 임베디드 환경에서는 그대로 replay 해야 하므로 RNG 가 동일하게 동작해야 함
고정 seed
RNG step 관리
thread-safe, stream-safe RNG 구현
비동기 호출 간 상태 충돌 방지
capture 시점의 RNG state 를 저장하고, replay 시점에 동일 state 로 복원하는 구조가 필요
'dev_AI_framework' 카테고리의 다른 글
| 각 부분에 대한 테스트 코드 작성하자, (0) | 2025.11.14 |
|---|---|
| 새로운 스텝, 국소적인 각 부분에서 전체까지, 검증의 과정이 필요 (0) | 2025.11.14 |
| GPU 실행 모델의 구분, 정리 ( 단일 스트림 구현 이유를 정리하다가 remind 가 필요했음) - 추론 최적화에선 어떻게 적용할지 (0) | 2025.11.11 |
| ai_shim.hpp 의 수정 이후 오류 발생, 해결 과정 - activation function 에 의한 save_z 조건의 규칙을 좀 더 세분화해야겠다. (0) | 2025.11.10 |
| 백엔드의 standalone ops 체제로 전환 ( ai_shim 의 사용 ) (0) | 2025.11.10 |