한 실행 엔진에서 학습하고 다른 엔진에서 불러와
Keras 3에서는 한 백엔드에서 저장한 모델을 다른 백엔드에서 불러올 수 있어. JAX의 빠른 JIT 컴파일로 학습하고 .keras로 저장한 뒤 TensorFlow에서 열어 TF Serving으로 넘기는 식이야. 저장 파일은 어느 엔진이 만들었는지에 묶이지 않아.
백엔드 간 이동이 가능한 원리
.keras는 백엔드 고유 연산 그래프를 저장하지 않고 레이어 설정과 가중치를 백엔드 독립 배열로 기록해. 추적된 JAX 그래프나 고정된 TensorFlow 함수가 파일에 박히지 않는 거야. 다른 백엔드가 불러오면 설정으로 같은 레이어를 다시 만들고 연산을 자신의 keras.ops 구현에 연결해. 숫자상 같은 모델을 유지하면서 아래 실행 엔진만 바뀌어.
휴대성이 깨지는 경계
이 보장은 모델이 Keras 안에 머물 때 유지돼. 레이어가 keras.ops를 벗어나 tf.signal.fft나 직접 만든 PyTorch 연산 같은 백엔드 고유 API를 호출하면 다른 백엔드에 대응 연산이 없어 이동이 실패해. Keras 레이어와 keras.ops만 사용하면 휴대성을 얻고, 고유 연산으로 내려가면 하나의 엔진에 의존하게 된다는 단순한 규칙이야.