본문 바로가기

AI Compiler framework

테스트 코드 내 임의 구현한 기능을 프레임 워크로 승격 ( validate, train_state, artifact )

테스트 코드 내에는 모델 구성 - compile / capture - 출력 / 검증 호출만 남도록

나머지는 core 로 이동

1) aicf_fw / core / validate.py

Intermediate Representation 이 컴파일러 계약, compiler contract 을 만족하는지 검증하는 레이어

IR 불변 조건 검사를 프레임워크 기능으로 승격

  • validate_ir
    • Shape consistency
      • 최소 shape 규칙 강제
    • Topo/SSA
      • value id 단일 producer
      • use-after-define 금지
    • Backward 링크 검사
      • backwrad 가 참조하는 value 가 존재하는지 확인
      • forward graph 에 의해 produced 되었는지 여부는 warning 으로 남김

 

2) aicf_fw / core / train_state.py

학습 상태를 완전하게 스냅샷 / 복원 / 동등성 검사하는 체크포인트 단위 제공

CUDA Graph replay 결정론을 검증하려면 파라미터만이 아니라 옵티마이저 내부 상태까지 복원되어야 하므로 그걸 표준화

포함하는 상태

  • params
  • grads
  • adam_m, adam_v
  • step, bc1_inv, bc2_inv

제공 API

  • TrainState.capture 
    • 현재 상태를 GPU 텐서 그대로 clone 해서 캡처
  • TrainState.restore
    • 캡처된 상태를 그대로 복원
    • grad 가 None 이었다면 None 으로 복원
    • grad 가 텐서였다면 Tensor 래퍼로 생성하여 프로젝트 구조에 맞춤
  • TrainState.assert_equal
    • 완전 동일성 체크

확장 방향

  • Adam 외 옵티마이저 지원

 

3) aicf_fw/core/artifact.py

compile - lower - warmup - capture - trace 의 결과를 하나의 산출물 객체로 묶고, 그 산출물이 스스로 정합성 / 결정론 검증 메서드를 제공하도록 한다

테스트가 하던 일을 프레임워크가 제공하는 개발자 도구 + 안전장치로 바꾸는 역할

저장하는 것

  •  name
  • ir
  • lowered
  • trace_ops
  • backend

제공 기능

  • assert_trace_has
  • assert_runtime_matches_lowering
  • assert_adam_state_mutates
  • assert_determinism

 

 

 

 

 

 

  • validate : IR 단계 계약 검사
  • train_state : 학습 상태의 스냅샷 / 복원 표준
  • artifact.py : 컴파일 산출물 + 실행 정합성 / 결정론 검증