GN⁺: 인간을 위한 딥러닝, Keras 3.0 릴리즈
(keras.io)- Keras 3.0이 정식 출시됨을 발표, 5개월간의 공개 베타 테스트를 거침
- Keras 3은 JAX, TensorFlow, PyTorch 상에서 Keras 워크플로우를 실행할 수 있는 전면적인 재작성 버전
- 새로운 대규모 모델 훈련 및 배포 기능 제공
다중 프레임워크 머신러닝 환영
- Keras 사용의 이점은 높은 개발 속도, 사용자 경험, API 디자인, 디버깅 용이성에 중점
- 250만 개발자가 선택한 검증된 프레임워크로, Waymo 자율주행 차량 및 YouTube 추천 엔진과 같은 대규모 ML 시스템에 사용됨
- Keras 3는 모델 성능 최적화, 모델 생태계 옵션 확장, 대규모 모델 병렬 처리 및 데이터 병렬 처리 지원 등의 추가 이점 제공
Keras 3 API, JAX, TensorFlow, PyTorch에서 사용 가능
- Keras 3는 Keras API 전체를 구현하고 TensorFlow, JAX, PyTorch에서 사용 가능
- 내장 레이어만 사용하는 모든 Keras 모델은 지원되는 모든 백엔드에서 즉시 작동
- 기존 tf.keras 모델도 JAX와 PyTorch에서 바로 실행 가능
다중 프레임워크 레이어, 모델, 메트릭 작성
- Keras 3는 모든 백엔드에서 동일하게 작동하는 컴포넌트(커스텀 레이어, 사전 훈련된 모델 등) 생성 가능
- keras.ops 네임스페이스를 통해 백엔드 간 호환 가능한 NumPy API 및 신경망 특화 함수 제공
- keras.ops만 사용하는 한, 커스텀 레이어 및 메트릭이 JAX, PyTorch, TensorFlow에서 동일한 코드로 작동
대규모 데이터 병렬 처리 및 모델 병렬 처리를 위한 새로운 분산 API
- 대규모 모델 샤딩 문제를 해결하기 위한 새로운 분산 API 제공
- 모델 정의, 훈련 논리, 샤딩 구성을 분리하여 단일 장치에서 실행되는 것처럼 모델 작성 가능
- 데이터 병렬 처리 및 모델 병렬 처리를 위한 샤딩 레이아웃을 쉽게 지정할 수 있는 API 제공
사전 훈련된 모델
- Keras 3에서 사용할 수 있는 다양한 사전 훈련된 모델 제공
- 모든 Keras Applications 모델과 KerasCV, KerasNLP의 사전 훈련된 모델이 모든 백엔드에서 작동
모든 백엔드에서 크로스 프레임워크 데이터 파이프라인 지원
- Keras 3 모델은 JAX, PyTorch, TensorFlow 백엔드와 관계없이 다양한 데이터 파이프라인을 사용하여 훈련 가능
복잡성의 점진적 공개
- Keras API는 단순한 워크플로우부터 저수준 커스터마이징까지 다양한 사용자 프로필에 맞는 다양한 워크플로우를 지원하는 설계 원칙을 따름
무상태 API
- 모든 상태를 가진 Keras 객체는 이제 JAX 함수에서 사용할 수 있는 무상태 API를 가짐
Keras 2에서 Keras 3으로의 이동
- Keras 3은 Keras 2와 높은 수준의 호환성을 가지며, 대부분의 사용자는 코드 변경 없이 Keras 3으로 전환 가능
- 더 큰 코드베이스는 일부 코드 변경이 필요할 수 있으나, 이동을 돕기 위한 완전한 마이그레이션 가이드 제공
- Keras 2를 계속 사용하고자 하는 경우, tf_keras 패키지를 사용하거나 TF_USE_LEGACY_KERAS 환경 변수를 설정하여 Keras 2를 사용할 수 있음
GN⁺의 의견
이 글에서 가장 중요한 것은 Keras 3.0의 공식 출시와 그것이 개발자들에게 제공하는 새로운 기능들임. Keras 3.0은 JAX, TensorFlow, PyTorch 등 다양한 백엔드에서 작동하며, 대규모 모델 훈련 및 배포 기능을 개선함으로써 머신러닝 개발의 유연성과 효율성을 크게 향상시킴. 이러한 특징은 머신러닝 커뮤니티에게 매우 흥미로운 소식이며, 개발자들이 더욱 다양한 환경에서 모델을 실험하고 배포할 수 있는 기회를 제공함.