CTranslate2 빠른 시작
CTranslate2 빠른 시작
가장 짧은 경로부터 따라가 볼게요. 기계번역이든 텍스트 생성이든, CTranslate2는 모델을 로드해서 여러 문장을 배치로 처리하는 인퍼터(Translater/Generator) 인터페이스를 제공해요.
기본 흐름
- 모델을 CTranslate2 포맷으로 변환한다.
ctranslate2.Translator등으로 모델을 로드한다.- 입력을 배치로 넣어 추론 결과를 받는다.
Transformer 모델을 변환하고 추론하는 흐름은 대략 이렇게 생겼어요.
import ctranslate2
# Hugging Face 모델을 CTranslate2 포맷으로 변환 (양자화 포함)
converter = ctranslate2.converters.TransformersConverter("sshleifer/distilbart-cnn-12-6")
converter.convert("ct2_model", quantization="int8")
# 변환된 모델을 로드해서 추론
translator = ctranslate2.Translator("ct2_model")
results = translator.translate_batch([["Hello world!"]])
print(results[0].hypotheses[0])
확인 포인트
- 변환할 때
quantization옵션을 주면 int8 같은 저비트 양자화가 함께 적용돼요. - 추론은 평소 파이토치와 달리 동적 배치와 양자화 연산이 CPU/GPU 백엔드에서 돌아간다고 보면 돼요.