파이프라인(Pipeline) 사용법

파이프라인(Pipeline) 사용법

파이프라인은 Transformers.js에서 모델을 다루는 가장 쉬운 길이에요. 사전 학습 모델, 입력 전처리, 출력 후처리를 한 번에 묶어 주죠.

출처: https://huggingface.co/docs/transformers.js/api/pipelines

파이썬처럼 pipeline(task, model) 형태로 파이프라인을 만들고, 그 파이프라인 객체를 호출해 추론 결과를 얻어요. 리소스가 제한된 브라우저 환경에서는 모델을 양자화해서 쓰는 게 권장돼요. dtype 옵션으로 데이터 타입을 정하는데, 모델에 따라 다르지만 일반적인 선택지는 "fp32"(WebGPU 기본), "fp16", "q8"(WASM 기본), "q4"예요.

// Run the model at 4-bit quantization
const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', {
  dtype: 'q4',
});

q4는 4비트 양자화라 대역폭이 크게 줄고 브라우저에서도 잘 돌아요. 반대로 WebGPU로 정밀하게 쓰려면 device: 'webgpu'dtype: 'fp32'를 조합해요.

지원 태스크는 넓게 퍼져 있어요. 텍스트 분류(text-classification), 질문 답변(question-answering), 문장 유사도(sentence-similarity), 요약(summarization), 텍스트 생성(text-generation), 번역(translation), 제로샷 분류(zero-shot-classification), 특징 추출(feature-extraction), 개체명 인식(token-classification) 등이 지원돼요. 비전·오디오 태스크도 파이프라인으로 제공되고요.

호환 모델을 찾으려면 Hugging Face Hub에서 library=transformers.js 태그로 필터링하면 돼요. 태스크별 모델도 그대로 걸러볼 수 있어요.

더 알아보기