본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 13:32

Larkos 0.3 출시: GAT 뉴런 추론, 시간적 인코더(Temporal Encoder), 리팩토링된 퓨전 헤드(Fusion Head)

요약

Larkos 0.3 버전이 출시되었습니다. GAT(Graph Attention Network)를 활용한 뉴런 추론, 트랜스포머 기반의 시간적 인코더, 그리고 리팩토링된 퓨전 헤드를 통해 아키텍처의 효율성과 성능을 개선했습니다.

핵심 포인트

  • GAT를 통한 뉴런별 토큰 임베딩 생성 및 그래프 추론 도입
  • 학습된 위치 임베딩을 사용하는 2계층 트랜스포머 시간적 인코더 적용
  • 평균 풀링을 학습된 쿼리 어텐션 풀링으로 교체하여 헤드 용량 증대
  • C-side 파이프라인 제거 및 Python 측 엔드 투 엔드 GAT 처리로 구조 단순화

Larkos 0.3: GAT 뉴런 추론, 시간적 인코더 (Temporal Encoder), 리팩토링된 퓨전 헤드 (Refactored Fusion Head)

핵심 아키텍처 변경 사항:

_NeuronGraphReasoner 추가: 라이브 뉴런 그래프(Live neuron graph) 상의 2계층 GAT (Graph Attention Network)를 통해 뉴런별 토큰 임베딩 (MAX_NEURONS x FUSE_GRAPH_DMODEL)을 생성합니다.
노드 특징(Node features)에는 상태(State), 출력(Output), 레이어 원-핫(Layer one-hot), 연결 차수(Connection degree), 상태 속도(State velocity), 출력 크기(Output magnitude), 평균 엣지 가중치(Mean edge weight)가 포함됩니다 (D_NODE=8).
뉴런별로 학습된 임베딩은 대칭적인 노드(Symmetric nodes)에 대해 구별되는 토큰을 보장합니다.
_GATLayer 추가: 엣지 가중치로 변조된 점수 (tanh-squashed gain), 밀집된 [N,N] 인접성 마스크 (Dense adjacency mask), 그리고 셀프 루프 (Self-loops)를 갖춘 수동 구현된 멀티 헤드 GAT (Multi-head GAT)입니다.
_TemporalAttentionEncoder 추가: 윈도우 프레임의 단순 결합(Flat concatenation)을 대체하여, 학습된 위치 임베딩 (Learned positional embedding)과 함께 [TEMPORAL_WINDOW, FOURIER_OUT_DIM] 입력 이력(Input history)에 대한 2계층 트랜스포머 (Transformer)를 적용합니다.
_FusionTransformerHead 리팩토링: MAX_NEURONS+3 토큰 시퀀스 (GAT 토큰 + band_q + band_m + driver)에 대해 어텐션 (Attends)을 수행합니다. 토큰 유형 임베딩 (4가지 유형)이 토큰의 종류를 구분합니다. 평균 풀링 (Mean-pool)을 학습된 쿼리 어텐션 풀링 (Learned-query attention pool, 단일 쿼리, 시퀀스에 대한 소프트맥스)으로 교체했습니다. 헤드 용량 증가: 3개 레이어, d_model=64, dim_ff=128.

C-side 퓨전 (fusion_mechanism.c):

BAND_N 및 neuron_flat 프로젝션 파이프라인을 제거했습니다. 이제 뉴런 추론은 Python 측의 GAT에 의해 엔드 투 엔드 (End-to-end)로 처리됩니다.
BAND_Q=32, BAND_M=32, FUSION_DIM=BAND_Q+BAND_M=64.
MEM_TOP_K: 8→32, MAX_MEM_ENTRIES: 300→1200.

훈련 루프 (Training loop):

캐시 동결(Freeze cache) 범위가 드라이버 임베딩 (_cached_driver) 및 GAT 입력 (_cached_graph_inputs)까지 확장되었습니다. 타겟 갱신(target refresh) 시 세 개의 캐시가 모두 함께 무효화됩니다. GAT는 매 단계마다 그래프 내에서 forward_from_inputs를 실행합니다 (고정된 입력(pinned inputs), 라이브 그래디언트(live gradient)).

시간적 인코더 (Temporal encoder) 그래프를 통한 이중 역전파 (double-backward)를 방지하기 위해, MAML 내부 루프(inner loop) 이전에 x_temporal을 분리(detached)합니다.

graph_reasonertemporal_encoder가 옵티마이저(optimizer) 및 체크포인트(checkpoint)에 추가되었습니다.

검증기(Verifier)는 이미 소비된 오토그래드(autograd) 그래프를 재사용하는 것을 방지하기 위해 캐시된 원시 시퀀스(raw sequence)에서 temporal_encoder를 다시 실행합니다.

학습률 (LR) 민감도 체크는 고정된 절대 델타(absolute delta) 대신 상대적 임계값 (현재 손실의 15%)을 사용합니다.

Runner:

_advance_backend() 추가: 매 step() 이전에 C-side의 결정(decision)/컨텍스트(context)/뉴런(neuron)/어트랙터(attractor)/정동(affective) 업데이트를 실행하여, 다단계 추론(multi-step inference)이 진화하는 상태를 반영할 수 있도록 합니다.

alphamem_weight_ratio는 기본적으로 라이브 백엔드 컨텍스트(live backend context)로부터 유도되며, 이는 훈련 루프의 에포크당(per-epoch) 유도 방식과 일치합니다.

시간적 인코더 (Temporal encoder)와 그래프 리즈너 (graph reasoner)가 순전파 경로(forward path)에 포함되었습니다.

Checkpoint:

graph_reasonertemporal_encoder를 저장 및 로드합니다 (0.3 이전 체크포인트와의 하위 호환성을 위해 strict=False 적용).

FUSION_DIMfused_cog_norm 차원 불일치 감지 시, 새로운 초기화(fresh init)로 안전하게 폴백(fallback)합니다.

cached_drivercached_fused_cog와 함께 영구 저장(persisted)됩니다.

https://github.com/Okerew/larkos_models

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0