onnx

    [MLops]. ONNX Runtime 문장 임베딩(sentence embedding) 속도 및 연산량 개선하기

    BackGround 우리 회사는 SentenceTransformer를 기반으로 파인튜닝한 문장 임베딩 모델을 사용하고 있다. 하지만 모델의 크기가 커질 수록 임베딩 시간은 늘어나고 많은 연산량을 요구하게된다. 그렇다고 모델의 크기를 줄이면 정확도가 떨어진다. 하지만 ONNX는 Inferance 속도를 최대한으로 높히면서 정확도 손실을 최소화하는 여러 가지 기능을 가지고있다. Sentence-Transfomer 모델을 ONNX Runtime으로 변환하면서 얻었던 장점들을 정리해보고자 한다. What is ONNX ? ONNX는 Open Neural Network Exchange의 줄인 말로서 이름과 같이 다른 DNN 프레임워크 환경(ex Tensorflow, PyTorch, etc..)에서 만들어진 모델들..

    [NLP]. Sentence-Transformer 모델 onnx 형식으로 변환하기

    HuggingFace에 등록된 모델을 불러와 onnx 파일 형식으로 저장하기 from pathlib import Path from transformers.convert_graph_to_onnx import convert convert(framework="pt", model="j5ng/sentence-klue-roberta-base", output=Path("onnx_models/trfs-model.onnx"), opset=11)​ Logs ransformers.convert_graph_to_onnx` package is deprecated and will be removed in version 5 of Transformers warnings.warn( ONNX opset version set to: 11..