"북극성은 기능이 아니야. 모든 결정을 대조하는 하나의 원칙이야 — 그리고 module 분리가 엔진의 그것이고."
북극성이 뭐냐
대부분의 아키텍처 결정은 지역적이야: 이 함수, 저 스키마, 이 경계. 북극성은 모든 지역적 결정이 가리켜야 하는 하나의 전역 원칙이야. 엔진한텐 그 원칙이 module 분리야: VAE, text encoder, backbone, sampler, conditioning 을 깨끗한 인터페이스를 가진 독립 단위로 유지해 — 늘, 융합하는 게 조금 더 빠르거나 조금 코드가 적을 때도.
왜 다른 모든 것보다 이것인지
엔진은 속도, 최소 코드, 최소 의존성을 북극성으로 고를 수도 있었어. 분리를 고른 건 분리가 엔진을 미래에서 살아남게 하기 때문이야. 새 모델 family 는 '아마' 가 아니야; 몇 달마다 나와. 속도 북극성은 현재를 최적화하고 새 family 마다 재작성해. 분리 북극성은 작은 지속적 세금을 내고 모든 새 family 를 경계 지어진 작업으로 흡수하고. 네 도메인의 정의적 특징이 끊임없는 변화일 때, 적응성을 별로 삼아.
모든 결정이 마주하는 테스트
북극성이 있다는 건 어떤 제안된 변경에든 던질 단일 질문이 있다는 거야: 이게 모듈을 분리 가능하게 유지해, 아니면 융합해? 두 모듈을 가로질러 닿아 결합하는 똑똑한 최적화는 테스트 실패 — 더 빨라도. 두 모듈 사이 인터페이스를 날카롭게 하는 리팩터는 통과 — 몇 줄 늘어도. 별이 천 개의 판단을 하나의 반복되는 점검으로 바꿔.
별이 너한테 비용을 물릴 때
module 분리는 공짜가 아니야. sampler 랑 backbone 사이 깨끗한 인터페이스는 빠른 승리를 위해 sampler 에서 backbone 내부로 손 못 뻗는다는 뜻이야. 가끔은 두 모듈 융합이 정말 더 빠를 거야. 규율은 그 비용을 일부러 내는 거야, 대안이 — FLUX-next 가 나오면 재작성 필요한 빠르고 융합된 엔진 — 정확히 이 프로젝트 전체가 탈출하려고 존재하는 그 코너니까.