피드로 돌아가기
Announcing New Hugging Face and KerasHub integration
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face와 KerasHub이 공유 모델 저장 형식을 도입해 300K+ Transformers 모델을 KerasHub에서 직접 로드 가능하도록 통합

Announcing New Hugging Face and KerasHub integration

2024년 7월 10일7intermediate

Context

KerasHub 사용자는 초기 단계에서 Hub의 KerasHub 기반 33개 모델만 접근할 수 있었고, Hugging Face Hub에 존재하는 346,268개의 Transformers 라이브러리 기반 모델에는 접근할 수 없었다. 이로 인해 KerasHub 사용자가 모델 선택의 폭이 크게 제한되고 있었다.

Technical Solution

  • Transformers와 KerasHub 간 공유 모델 저장 형식 도입: JSON 설정 파일, 토크나이저, safetensors 가중치 파일의 형식 통일
  • 설정 변수, 가중치 이름, 토크나이저 어휘 매핑: Transformers 체크포인트에서 KerasHub 체크포인트로 자동 변환 및 그 반대
  • 초기 지원 모델 아키텍처: Gemma (1, 2), Llama 3, PaliGemma에 대한 호환성 제공
  • 다중 백엔드 지원: KerasHub 모델을 TensorFlow, JAX, PyTorch 백엔드로 단일 코드라인으로 로드 가능
  • 사용자 인터페이스 단순화: from_preset("hf://모델명")으로 Hugging Face의 Transformers 모델 직접 로드

Key Takeaway

서로 다른 프레임워크 간 모델 호환성을 위해서는 구성 매핑 레이어를 추상화하고 공유 저장 형식을 정의하는 것이 핵심이며, 이를 통해 사용자는 기술 변환 작업 없이 다양한 백엔드에서 모델을 활용할 수 있다.


KerasHub을 사용하는 ML 엔지니어는 이제 Hugging Face Hub의 300K+ Transformers 모델을 `from_preset("hf://username/model-name")` 한 줄의 코드로 로드한 후, `keras.config.set_dtype_policy()`로 정밀도를 변경하거나 `os.environ["KERAS_BACKEND"]`로 백엔드를 전환해 동일한 체크포인트를 TensorFlow, JAX, PyTorch 중 선택된 환경에서 즉시 실행할 수 있다.

원문 읽기