시작하기와 빠른 둘러보기
시작하기와 빠른 둘러보기
Transformers.js는 🤗 Transformers를 브라우저에서 그대로 실행하게 해 주는 자바스크립트 라이브러리예요. 파이썬 버전과 기능적으로 동등해서, 같은 사전 학습 모델을 거의 비슷한 API로 돌릴 수 있어요.
파이썬 라이브러리와 정말 유사하다는 점이 가장 큰 매력이에요. 텍스트 분류, 개체명 인식, 질문 답변, 요약, 번역, 텍스트 생성 같은 자연어 처리는 물론, 이미지 분류·객체 검출·분할 같은 비전, 자동 음성 인식·텍스트 음성 변환 같은 오디오, 임베딩·제로샷 분류 같은 멀티모달 태스크까지 지원해요. 모델은 ONNX Runtime으로 브라우저에서 실행되고, PyTorch·TensorFlow·JAX 모델은 🤗 Optimum으로 ONNX 변환해 쓸 수 있어요.
바로 코드부터 볼게요. 파이썬의 pipeline API가 그대로 이식되어 있어요.
import { pipeline } from '@huggingface/transformers';
// Allocate a pipeline for sentiment-analysis
const pipe = await pipeline('sentiment-analysis');
const out = await pipe('I love transformers!');
// [{'label': 'POSITIVE', 'score': 0.999817686}]
다른 모델을 쓰려면 pipeline의 두 번째 인자에 모델 id나 경로를 넣으면 돼요.
// Use a different model for sentiment-analysis
const pipe = await pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');
브라우저 기본값은 WASM으로 CPU에서 돌지만, device: 'webgpu'를 지정하면 WebGPU로 GPU 추론을 쓸 수 있어요. 다만 WebGPU API는 아직 많은 브라우저에서 실험 단계라 버그가 있으면 이슈로 보고하라는 안내가 공식 문서에 있어요.