Keras 3: 인간을 위한 심층 학습
요약
Keras 3는 JAX, TensorFlow, PyTorch 등 여러 백엔드를 지원하는 멀티 백엔드 심층 학습 프레임워크입니다. 이를 통해 사용자는 모델 개발의 높은 수준의 사용자 경험을 유지하면서도 각 백엔드의 최적 성능(최대 350% 속도 향상)을 활용할 수 있습니다. 또한, 노트북부터 대규모 클러스터까지 확장 가능한 구조를 제공합니다.
핵심 포인트
- JAX, TensorFlow, PyTorch 등 다중 백엔드를 지원하는 심층 학습 프레임워크입니다.
- 높은 수준의 UX와 최적화된 백엔드 선택으로 빠른 모델 개발이 가능합니다.
- 최대 350%에 달하는 속도 향상을 경험할 수 있습니다.
- GPU 사용 시 각 백엔드별로 독립적인 환경 설정(conda 등)을 권장합니다.
Keras 3: 인간을 위한 심층 학습
Keras 3는 JAX, TensorFlow, PyTorch 및 OpenVINO(추론 전용)를 지원하는 멀티 백엔드 심층 학습 프레임워크입니다.
컴퓨터 비전, 자연어 처리 (NLP), 오디오 처리, 시계열 예측, 추천 시스템 등에 대한 모델을 손쉽게 구축하고 훈련할 수 있습니다.
- 가속화된 모델 개발: Keras의 높은 수준의 사용자 경험(UX)과 PyTorch 또는 JAX eager execution 같은 디버깅하기 쉬운 런타임 덕분에 심층 학습 솔루션을 더 빠르게 출시할 수 있습니다.
- 최첨단 성능: 모델 아키텍처에 가장 빠른 백엔드(종종 JAX!)를 선택함으로써, 다른 프레임워크 대비 20%에서 350%까지의 속도 향상을 활용할 수 있습니다. 벤치마크는 여기.
- 데이터센터 규모 훈련: 노트북부터 대규모 GPU 또는 TPU 클러스터까지 자신 있게 확장할 수 있습니다.
신생 스타트업부터 글로벌 기업에 이르기까지 거의 3백만 명의 개발자들이 Keras 3의 강력한 힘을 활용하는 데 동참하고 있습니다.
설치
pip으로 설치
Keras 3는 PyPI에서 keras로 사용할 수 있습니다. 참고로, Keras 2는 여전히 tf-keras 패키지로 이용 가능합니다.
keras설치:
pip install keras --upgrade
- 백엔드 패키지 설치.
keras를 사용하려면 선택한 백엔드인 tensorflow, jax, 또는 torch도 함께 설치해야 합니다. 추가적으로, OpenVINO 백엔드는 모델 추론 지원만 가능합니다.
로컬 설치
최소 설치
Keras 3는 Linux 및 macOS 시스템과 호환됩니다. Windows 사용자의 경우 Keras를 실행하기 위해 WSL2 사용을 권장합니다.
로컬 개발 버전을 설치하려면:
- 의존성 설치:
pip install -r requirements.txt
- 루트 디렉토리에서 설치 명령어 실행.
python pip_build.py --install
keras_export공개 API를 업데이트하는 PR을 생성할 때 API 생성 스크립트 실행:
./shell/api_gen.sh
백엔드 호환성 표
다음 표는 Keras의 최신 안정 버전(v3.x)에서 각 백엔드별로 최소 지원되는 버전을 나열합니다:
| Backend | Minimum Supported Version |
|---|---|
| TensorFlow | 2.16.1 |
| ... |
GPU 지원 추가
requirements.txt 파일은 TensorFlow, JAX, PyTorch의 CPU 전용 버전을 설치합니다. GPU를 지원하려면, TensorFlow, JAX, PyTorch에 대해 별도의 requirements-{backend}-cuda.txt 파일을 제공합니다. 이 파일들은 pip을 통해 모든 CUDA 종속성을 설치하며 NVIDIA 드라이버가 사전에 설치되어 있음을 가정합니다. CUDA 버전 불일치를 피하기 위해 각 백엔드별로 깨끗한 Python 환경을 사용하는 것을 권장합니다. 예를 들어, conda를 사용하여 JAX GPU 환경을 설정하는 방법은 다음과 같습니다:
conda create -y -n keras-jax python=3.10
conda activate keras-jax
pip install -r requirements-jax-cuda.txt
...
백엔드 구성하기
환경 변수 KERAS_BACKEND를 내보내거나, ~/.keras/keras.json의 로컬 설정 파일을 편집하여 백엔드를 구성할 수 있습니다. 사용 가능한 백엔드 옵션은 다음과 같습니다: `
만약 사용자 정의 컴포넌트(예: 사용자 정의 레이어 또는 사용자 정의 train_step())를 포함한다면, 몇 분 만에 백엔드에 구애받지 않는 구현으로 변환하는 것이 보통 가능합니다.
게다가 Keras 모델은 사용 중인 백엔드와 관계없이 모든 형식의 데이터셋을 소비할 수 있습니다. 기존의 tf.data.Dataset 파이프라인이나 PyTorch DataLoaders로 모델을 훈련할 수 있습니다.
Keras 3를 사용하는 이유?
- 높은 수준의 Keras 워크플로우를 모든 프레임워크 위에서 실행하여, 각 프레임워크의 장점(예: JAX의 확장성 및 성능 또는 TensorFlow의 프로덕션 생태계 옵션)을 필요에 따라 활용할 수 있습니다.
- 사용자 정의 컴포넌트(예: 레이어, 모델, 메트릭)를 작성하여 모든 프레임워크의 저수준 워크플로우에서 사용할 수 있습니다.
- Keras 모델을 가져와 네이티브 TF, JAX 또는 PyTorch로 처음부터 작성한 훈련 루프에서 훈련할 수 있습니다.
- Keras 모델을 가져와 PyTorch 네이티브
Module의 일부로 사용하거나 JAX 네이티브 모델 함수의 일부로 사용할 수 있습니다.
- 프레임워크 종속성을 피하여 머신러닝 코드를 미래 지향적으로 만듭니다.
- PyTorch 사용자로서: 마침내 Keras의 강력한 기능과 사용 편의성에 접근할 수 있습니다!
- JAX 사용자로서: 완벽하게 갖추어져 있고, 검증되었으며, 잘 문서화된 모델링 및 훈련 라이브러리에 접근할 수 있습니다.
Keras 3 출시 발표에서 더 읽어보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기