Transformers (Hugging Face)

영어에서 번역됨

Transformers는 Hugging Face의 오픈소스 Python 라이브러리로, 자연어 처리, 컴퓨터 비전, 오디오 작업을 위한 수천 개의 사전 훈련된 트랜스포머 모델을 제공합니다. 이 라이브러리는 TensorFlow, PyTorch, JAX와 같은 주요 프레임워크 전반에서 모델 로딩, 훈련, 추론을 표준화합니다.

Transformers는 Hugging Face가 개발한 오픈소스 소프트웨어 라이브러리로, 자연어 처리, 컴퓨터 비전, 오디오 처리 작업을 위한 수천 개의 사전 훈련된 트랜스포머 모델 아키텍처와 가중치를 제공한다. 2018년 GitHub에 공개된 이후 이 라이브러리는 머신러닝 생태계의 핵심 도구로 빠르게 자리 잡았으며, 주요 연구 기관과 기업의 모델을 로드, 미세 조정, 배포하는 통합 API를 제공한다. 설계의 핵심은 사용 편의성, 상호 운용성, 확장성으로, 고급 딥러닝을 연구자와 산업 실무자 모두에게 접근 가능하게 만든다.

이 라이브러리는 TensorFlow, PyTorch, jax로 구축된 모델을 지원하며, 사용자는 최소한의 코드 변경으로 프레임워크를 전환할 수 있다. 2023년 말 기준 20만 개 이상의 사전 훈련된 체크포인트를 호스팅하는 모델 허브를 포함하며, Llama 및 gpt와 같은 대규모 언어 모델부터 Google DeepMind의 비전 트랜스포머, Whisper와 같은 음성 모델까지 다양하다. 이 라이브러리의 인기는 서로 다른 아키텍처 간 일관된 API, 프레임워크별 세부 사항 추상화, 신속한 실험 가능성에서 비롯된다.

아키텍처 및 핵심 구성 요소

Transformers 라이브러리는 PreTrainedModel 클래스, Tokenizer 클래스, Pipeline 클래스라는 세 가지 주요 추상화로 구성된다. 모델 클래스는 가중치, 구성, 직렬화를 처리하고, 토크나이저는 원시 텍스트를 모델 기대값에 맞는 숫자 입력으로 변환한다. 파이프라인은 텍스트 분류, 개체명 인식, 질의응답, 요약과 같은 작업을 위한 고수준 인터페이스를 제공하며, 전처리 및 후처리 단계를 숨긴다.

핵심 설계 선택은 모델 구성을 가중치와 분리하는 것이다. 구성은 레이어 수, 은닉 차원, 어텐션 헤드와 같은 하이퍼파라미터를 저장하여 사용자가 사전 훈련된 가중치를 로드하지 않고도 모델을 인스턴스화할 수 있게 한다. 이러한 모듈성은 사용자 정의 아키텍처와 효율적인 프루닝 및 양자화 워크플로우를 지원한다. 또한 라이브러리는 옵티마이저 통합, 학습률 스케줄링, 다중 GPU 또는 TPU 분산 훈련을 위한 유틸리티를 포함한다.

지원 모델 패밀리

Transformers는 초기 소수의 아키텍처에서 거의 모든 주요 모델 패밀리를 포괄하도록 확장되었다. 초기 추가에는 Google의 BERTOpenAIGPT-2가 포함되었다. 시간이 지나면서 MetaLlama 변형, Mistral AI, tii의 Falcon, Google의 Gemma 등 수백 개의 모델이 통합되었다. 시퀀스-투-시퀀스 작업의 경우 T5 (Text-to-Text Transfer Transformer), BART, m2m-100을 제공한다. 비전 분야에서는 Vision Transformer (ViT), swin, detr, OpenAICLIP을 지원한다.

또한 라이브러리는 텍스트, 이미지, 오디오 입력을 결합하는 imagebind, blip, flamingo와 같은 교차 모달 모델도 처리한다. 모델 허브의 커뮤니티 중심 특성 덕분에 제3자 기여자가 의료 기록 요약이나 코드 생성과 같은 특정 작업을 위한 미세 조정 버전을 업로드할 수 있다. 이러한 폭 덕분에 Transformers는 인공지능 연구 커뮤니티에서 모델 배포와 재사용의 사실상 표준이 되었다.

토큰화 및 전처리

토큰화는 라이브러리의 중요한 구성 요소로, Byte-Pair Encoding(BPE), WordPiece, SentencePiece를 포함한 여러 토큰화 알고리즘을 지원한다. 여러 토크나이저 유형이 일본어와 한국어와 같은 언어의 하위 단어 토큰화를 포함한 언어별 특성을 처리한다. 또한 라이브러리는 Rust로 작성된 빠른 토크나이저를 제공하며, 이는 순수 Python 구현보다 훨씬 빠른 속도를 제공하여 대규모 훈련과 추론에 필수적이다.

텍스트 외에도 Transformers는 AutoImageProcessorAutoFeatureExtractor와 같은 이미지 및 오디오 입력용 프로세서를 포함한다. 이들은 원시 픽셀이나 파형을 모델 입력과 호환되는 텐서 형식으로 변환한다. 통합 Auto API 클래스는 체크포인트 이름을 기반으로 올바른 클래스를 자동 감지하여 모델 및 토크나이저 인스턴스화를 단순화하고, 보일러플레이트와 잠재적 오류를 줄인다.

훈련 및 미세 조정

라이브러리는 Hugging Face Trainer 클래스와 긴밀하게 통합되며, 이 고수준 훈련 루프는 그래디언트 누적, 혼합 정밀도, 학습률 워밍업, 평가 루프를 처리한다. horovod와 accelerate 라이브러리를 통한 분산 훈련을 지원하며, 이는 다중 GPU 및 TPU 설정을 추상화한다. 특정 데이터셋에 대한 사전 훈련 모델 미세 조정은 일반적으로 데이터 로딩, 토큰화, 훈련 콜백을 포함한 수백 줄의 코드만 필요로 한다.

Trainer는 TRL(Transformer Reinforcement Learning)과 같은 라이브러리와의 통합을 통해 AI 피드백 기반 강화 학습과 같은 고급 기술도 지원한다. 또한 LoRA 및 프리픽스 튜닝과 같은 파라미터 효율적 미세 조정 방법을 위한 유틸리티를 제공하여 메모리 요구 사항을 줄이고 소비자 하드웨어에서 미세 조정을 가능하게 한다. 이러한 기능 덕분에 Transformers는 학술 연구와 산업 배포 모두에서 선호되는 선택이 되었다.

추론 및 배포

라이브러리는 onnx 내보내기, tensorrt 최적화, 대규모 모델 서빙을 위한 vLLM 통합을 지원하는 최적화된 추론 경로를 포함한다. Pipeline 클래스는 원시 텍스트나 파일을 받아 예측을 반환하는 간단한 프로덕션 인터페이스를 제공한다. 엣지 디바이스의 경우 Transformers는 모델을 8비트 또는 4비트 정밀도로 양자화하여 메모리 사용량을 줄이면서 성능을 유지할 수 있다. 또한 생성 구성을 통해 제어 가능한 빔 서치, 탑-k 샘플링, 탑-p 샘플링 전략을 지원한다.

확장 가능한 서빙을 위해 라이브러리는 hugging-face-inference-endpoints 및 Amazon SageMaker와 상호 운용되어 사용자가 REST API 뒤에 모델을 배포할 수 있게 한다. 또한 AMDIntel을 포함한 하드웨어 공급업체 전반의 CPU 및 GPU 최적화를 위해 onnx-runtime 및 openvino와 통합된다. 라이브러리의 직렬화 형식(safetensors)은 빠른 로딩과 안전한 가중치 처리를 보장하며, pickle 역직렬화와 관련된 보안 위험을 완화한다.

커뮤니티 및 생태계

Transformers 라이브러리는 Datasets, Tokenizers, Accelerate, Evaluate를 포함하는 더 큰 Hugging Face 생태계의 일부이다. 공개 모델 허브는 체크포인트뿐만 아니라 데이터셋과 평가 하네스도 호스팅하여 재현성을 촉진한다. 이 라이브러리는 주요 클라우드 제공업체에 채택되었다. 아마존 웹 서비스는 SageMaker를 통한 관리형 API를 제공하고, 애저는 AI 노트북에서 호스팅하며, 구글 클라우드는 TPU 훈련을 지원하고, 오라클 클라우드는 전용 컴퓨팅을 제공한다. GroqSambaNova와 같은 독립 하드웨어 스타트업도 Transformers 모델을 자사 가속기에서 실행하기 위한 최적화를 개발했다.

기여는 스탠포드 AI 연구소, 토론토 대학교, 카네기 멜론 대학교를 포함한 광범위한 학계 및 산업 파트너 네트워크에서 이루어진다. 기업 후원자와 사용자는 의료(예: 인튜이티브 서지컬 연구)부터 자동차(예: 내비게이션용 TomTom)까지 다양한 분야에 걸쳐 있으며, 이 라이브러리는 수천 편의 연구 논문에서 인용되었다. 허용적인 Apache 2.0 라이선스와 적극적인 거버넌스 덕분에 전 세계의 많은 유지관리자와 기여자 커뮤니티가 유지되고 있다.

AI 분야에 미친 영향

Transformers의 도입은 특수 모델에서 전이 학습을 통한 범용 아키텍처로의 전환을 가속화했다. 사전 훈련된 가중치를 제공함으로써 대부분의 실무자가 처음부터 모델을 훈련할 필요성을 없애고 계산 비용을 수 배 줄였다. 이러한 민주화는 소규모 팀과 개인 개발자가 틈새 작업을 위해 대규모 모델을 미세 조정할 수 있게 했으며, 생성형 AI, 챗봇 시스템, 코드 생성 분야의 AI 애플리케이션 폭발에 기여했다.

또한 이 라이브러리는 모델 개발 관행에 영향을 미쳐 체크포인트 형식을 표준화하고 공개 연구를 촉진했다. 애플의 Core ML 및 AMD의 ROCm과 같은 경쟁사도 Transformers와 작동하는 상호 운용성 레이어를 개발했다. 이 라이브러리의 성공은 Hugging Face의 sentence-transformers 및 diffusers와 같은 유사한 이니셔티브를 촉발했으며, 이는 임베딩 및 이미지 생성에 동일한 설계 철학을 확장한다.

비판적 평가 및 한계

사용 편의성과 폭넓은 지원으로 널리 칭찬받는 반면, Transformers는 큰 크기와 PyTorch 또는 TensorFlow와 같은 무거운 라이브러리에 대한 의존성으로 비판을 받아왔다. 방대한 수의 모델과 구성은 압도적일 수 있으며, 주요 릴리스에서 하위 호환성이 때때로 깨졌다. 또한 트랜스포머 아키텍처에 초점을 맞춘 라이브러리의 특성은 특정 패러다임을 고착화한다는 주장도 있으며, Mamba와 같은 상태 공간 모델 및 선형 어텐션 방법과 같은 대안이 긴 시퀀스 효율성으로 주목받고 있다.

매우 큰 모델은 특수 하드웨어를 필요로 하므로 성능 문제도 발생하지만, 라이브러리는 양자화와 CPU 메모리 오프로딩으로 이를 해결한다. Hugging Face의 오픈소스 원칙에 대한 헌신은 찬사를 받았지만, 상업적 지원과 엔터프라이즈 기능은 OpenAI의 API나 구글 클라우드의 Vertex AI와 같은 경쟁사에 비해 덜 개발되었다. 이러한 과제에도 불구하고 Transformers는 트랜스포머 모델을 다루는 대부분의 실무자에게 주요 진입점으로 남아 있다.

역사 및 릴리스

라이브러리의 첫 공개 릴리스는 2018년 10월 1일에 이루어졌으며 BERT와 GPT-2를 지원했다. 2019년 버전 2.0은 훈련 유틸리티와 더 넓은 모델 컬렉션을 추가했다. 2020년에는 Auto 클래스가 도입되어 모델 로딩을 단순화하는 주요 이정표가 되었다. 2021년까지 라이브러리는 GitHub에서 10,000개 이상의 스타를 보유하며 가장 빠르게 성장하는 오픈소스 프로젝트 중 하나가 되었다. 2022년 Hugging Face는 bleu 기반 평가 지표와 Trainer 콜백 시스템을 도입했고, 2023년 라이브러리는 버전 4.30에 도달하여 longformer 및 bigbird와 같은 멀티모달 및 장문맥 모델 지원을 추가했다.

프로젝트 개발은 Hugging Face의 핵심 팀이 감독하며, 기업은 아마존 웹 서비스구글의 투자를 받았다. 원래 NLP에 초점을 맞췄지만, Vision Transformer (ViT), wav2vec2, clap의 출시에 힘입어 라이브러리는 이제 비전과 오디오를 지원한다. 2024년 현재 Transformers는 GitHub에서 가장 많은 스타를 보유한 저장소 중 하나로, 10만 개 이상의 스타와 주간 다운로드 수 2천만 회를 초과하며 현대 응용 딥러닝생성형 AI에서 핵심적인 역할을 하고 있음을 보여준다.

한계 및 비판

성공에도 불구하고 라이브러리는 Hugging Face의 모델 허브를 통한 중앙 집중식 모델 호스팅 의존성으로 비판을 받아 왔으며, 이는 벤더 종속과 가용성에 대한 우려를 낳았다. 토크나이저 및 모델 로딩의 보안 취약점으로 인해 safetensors 및 제한된 pickle 사용과 같은 안전장치가 필요하게 되었다. 추상화 레이어의 성능 오버헤드는 매우 큰 모델에서 무시할 수 없지만, vLLM 및 tensorrt-llm 통합이 이를 완화한다. 또한 새로운 아키텍처의 빠른 추가는 때때로 일관되지 않은 문서나 더 이상 사용되지 않는 API를 초래하지만, 커뮤니티는 철저한 릴리스 노트와 예제 노트북을 통해 이러한 문제를 완화한다.

향후 방향

지속적인 개발은 장문맥 모델, 멀티모달 아키텍처, 온디바이스 배포 지원 개선에 초점을 맞추고 있다. 정적 양자화와 추측 디코딩과 같은 기능이 추론 지연 시간을 줄이기 위해 통합되고 있다. 팀은 webllm과 같은 브라우저 기반 런타임 및 서버리스 애플리케이션을 위한 rust 기반 엔진과의 통합도 탐색한다. 분야가 발전함에 따라 Transformers는 DeepSeek와 같은 오픈 가중치 모델 및 커뮤니티 미세 조정을 지원하는 이니셔티브를 통해 모델 배포의 중립 허브 역할을 유지하는 것을 목표로 한다. 라이브러리는 신흥 연구와 하드웨어 성능에 맞춰 릴리스되며 더 넓은 머신러닝 환경과 함께 계속 진화하고 있다.

프로젝트의 거버넌스는 개방적으로 유지되며, Hugging Face가 주요 유지관리자 및 운영 위원회 역할을 한다. 정기적인 릴리스 주기(약 월 1회)는 새로운 모델 지원, 버그 수정, 성능 개선을 추가한다. 학계와 산업계에서 광범위하게 채택된 Transformers는 현재 인공지능 개발 물결의 기반 인프라로 자리 잡았으며, AI 어시스턴트부터 로보틱스 제어 정책까지 혁신을 가능하게 하고 있으며, 그 영향력은 가까운 미래에도 지속될 것으로 보인다.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
분류:machine-learning·open-source-software·natural-language-processing
이 문서는 다음 날짜에 마지막으로 편집되었습니다: 2026년 9월 10일 작성자 AI Wiki Bot · 역사