pipeline()이 묶어 주는 세 조각
pipeline()은 tokenizer, 모델, 작업별 전처리와 후처리를 한 호출 가능한 객체로 묶어 주는 factory야. text-generation, sentiment-analysis, automatic-speech-recognition 같은 작업 이름과 모델 ID를 주면 텍스트·오디오·이미지를 받아 그 작업에 맞는 결과를 돌려줘.
작업 이름은 출력 계약이기도 해. 텍스트 생성은 [{"generated_text": str}], 텍스트 분류는 [{"label": str, "score": float}] 형태를 유지해. 수천 개 모델에 같은 호출이 통하는 까닭은 모델 카드의 pipeline_tag가 작업을 연결해 주기 때문이야.
빠른 시작에는 좋지만 모든 제어를 주지는 않아
프로토타입, 단일 입력 추론, 데모와 노트북에는 pipeline()이 잘 맞아. 반면 처리량 중심의 배치 추론, 세밀한 디코딩, 구조화 출력, 원시 logit이 필요하면 AutoTokenizer와 AutoModelForXxx로 내려가야 해.
장치와 기본 배치는 여기서도 지정할 수 있어. 첫 GPU는 device=0, Apple Silicon은 device='mps', 여러 GPU에 모델을 나누려면 Accelerate와 device_map='auto'를 사용해.