Auto* 클래스는 dispatcher
pipeline() 추상화 아래에 Auto* 클래스가 있어: AutoTokenizer, AutoModel, AutoModelForCausalLM, AutoModelForSequenceClassification, AutoModelForSeq2SeqLM, AutoModelForImageClassification, AutoFeatureExtractor, AutoProcessor, ... — 태스크 family 마다 하나씩.
각 Auto 클래스가 registry 를 wrap. config.json 의 "model_type": "llama" 필드에서 LlamaTokenizer + LlamaForCausalLM 으로 dispatch. concrete 클래스 직접 instantiate 거의 안 해; AutoModelForXxx.from_pretrained(repo_id) 호출하면 알아서 골라줘.
중요한 로더 노브 네 개
torch_dtype—"auto"는 config 에서 dtype 읽어;torch.float16/torch.bfloat16은 메모리 절반;torch.float32는 필요할 때만.device_map—"auto"는 visible GPU/MPS/CPU 에 shard; explicit placement 면 dict 넘기기.load_in_8bit/load_in_4bit— load 타임 bitsandbytes 양자화. 8-bit ~ 절반 메모리; 4-bit ~ 1/4. 챗 태스크 인퍼런스 품질 비용은 보통 작음.revision— 커밋 SHA 핀. Hub 트랙과 같은 룰.
같은 로더가 카드에서 library_name: transformers 선언한 모든 모델에 동작. registry 의 핵심이야.