Hugging Face Transformers v5 release notes / what's new

Hugging Face가 상호 운용성과 단순화에 중점을 둔 주요 업데이트인 Transformers v5 (v5.0.0rc-0)를 출시했습니다. 이번 릴리스는 라이브러리를 모델 정의를 위한 표준화된 "source of truth"로 변모시켜, AI 생태계 전반에서 학습, 추론 및 로컬 배포 간의 원활한 이동을 가능하게 합니다.

단순화 및 모델 표준화

Transformers v5는 라이브러리가 모델 아키텍처의 업계 표준으로 유지될 수 있도록 깔끔하고 모듈화된 모델 정의를 우선시합니다.

모듈형 설계 및 모델 추가

유지 관리 부담을 줄이고 새로운 아키텍처의 통합을 가속화하기 위해 Hugging Face는 모듈형 접근 방식을 구현했습니다. 이 설계는 기여 및 리뷰에 필요한 코드 라인 수를 크게 줄여줍니다. 주요 기술적 추가 사항은 AttentionInterface로, eager 메서드를 모델링 파일 내에 유지하면서 어텐션 메서드(FA1/2/3, FlexAttention, SDPA 등)를 중앙 집중화합니다.

자동 변환을 위한 툴링

독립적인 모델링 파일과 기존 아키텍처 간의 유사성을 식별하기 위한 새로운 머신러닝 기반 툴링이 개발되고 있습니다. 이를 통해 팀은 모델 통합을 위한 초안 PR을 생성함으로써 변환 프로세스를 자동화하고, 수동 작업을 줄이며 일관성을 보장할 수 있습니다.

코드 감소 및 백엔드 통합

Transformers v5는 몇 가지 중요한 리팩토링을 통해 코드베이스를 간소화합니다:

  • PyTorch를 유일한 백엔드로 사용: 라이브러리는 PyTorch에만 집중하기 위해 Flax 및 TensorFlow 지원을 중단합니다. JAX 생태계와의 호환성은 파트너십을 통해 유지됩니다.
  • 토큰화 개편: "Fast" 및 "Slow" 토크나이저 개념이 제거되고 통합된 tokenizers 백엔드로 대체되었습니다. Sentencepiece 및 MistralCommon 지원은 기본이 아닌 대안으로 계속 제공됩니다.
  • 이미지 처리: 이미지 프로세서는 이제 torchvision 백엔드에 의존하는 fast 변형으로만 존재합니다.

강화된 학습 기능

이전 버전이 미세 조정(fine-tuning)에 크게 집중했다면, v5는 대규모 사전 학습(pre-training) 및 전체 학습을 위한 상당한 개선 사항을 도입합니다.

대규모 사전 학습

대규모 사전 학습을 지원하기 위해 Hugging Face는 모델 초기화를 재작업하고 순전파(forward) 및 역전파(backward) 패스 모두에 대해 커널을 최적화했습니다. 이제 라이브러리는 torchtitan, megatron, nanotron을 포함한 사전 학습 도구와 확장된 호환성을 제공합니다.

미세 조정 및 사후 학습

Transformers v5는 Unsloth, Axolotl, LlamaFactory, TRL과 같은 PyTorch 기반 미세 조정 도구와 깊은 호환성을 유지합니다. 또한 MaxText와 같은 JAX 기반 도구와의 상호 운용성도 보장합니다.

추론 및 프로덕션 통합

Transformers v5는 모델 정의와 고성능 배포 사이의 간극을 메우기 위해 새로운 API와 특화된 커널을 도입합니다.

새로운 추론 API

서빙 기능을 향상시키는 두 가지 주요 추가 사항은 다음과 같습니다:

  • Continuous Batching 및 Paged Attention: 처리량을 개선하기 위해 이러한 메커니즘에 대한 지원이 통합되었습니다.
  • transformers serve: 평가 사용 사례에 특별히 최적화된 OpenAI API 호환 서버를 배포하는 새로운 서빙 시스템입니다.

생태계 상호 운용성

Transformers v5는 특화된 추론 엔진과 경쟁하는 대신, 그들의 백엔드 역할을 수행합니다. 이를 통해 transformers에 추가된 새로운 모델이 vLLM 및 SGLang과 같은 엔진에서 특정 최적화(예: 동적 배팅 및 특화된 커널)를 활용하여 즉시 사용 가능해집니다.

또한, 라이브러리는 로컬 추론 도구와의 상호 운용성을 개선합니다:

  • GGUF 지원: 이제 사용자는 미세 조정을 위해 transformers에서 GGUF 파일을 직접 로드하거나, llama.cpp에서 사용하기 위해 transformers 모델을 GGUF로 변환할 수 있습니다.
  • MLX 호환성: transformers의 Safetensors 파일은 MLX 모델과 직접 호환됩니다.
  • 온디바이스 배포: executorch 팀 및 optimum-executorch와의 협업을 통해 멀티모달(비전 및 오디오) 모델을 포함한 온디바이스 모델 가용성이 확대됩니다.

일급 양자화 지원

양자화(Quantization)는 이제 Transformers v5의 핵심 초점으로, 가중치 로딩 프로세스에서 부가 기능이 아닌 일급 시민(first-class citizen)으로 이동했습니다. 이는 주요 기능과의 완전한 호환성을 보장하고 학습과 추론 모두에 신뢰할 수 있는 프레임워크를 제공합니다. 이러한 변화는 TorchAObitsandbytes와의 통합에 의해 지원되며, 저정밀도 형식에서 텐서 병렬성(TP) 및 Mixture of Experts (MoE)에 대한 더 나은 지원을 가능하게 합니다.

Sources