https://dev.classmethod.jp/articles/ort-wasm/
{onnxruntime-nodeでgzipで圧縮したonnxファイルを読み込む}{onnxに変換して量子化するコマンド}{Sentence Embedding}{BERT}{ONNX}(5)
{あれ K#EDD2/490B}
t_w500MBあるBERTをONNXに変換した後に量子化したら110MBほどになってLambdaで動かせるようになった。
Githubに乗せるファイルは100MB以下でないとだめなので、ダメ押しでgzipで圧縮したら75MBになった。
{onnxruntime-node}{gzip}{ONNX}(3)
{onnxruntime-nodeでgzipで圧縮したonnxファイルを読み込む K#EDD2/7183}
t_wconst onnx_zip = fs.readFileSync('./sonoisa_sentence-bert-base-ja-mean-tokens-v2_onnx/model_quantized.gz');
const onnx_buffer = zlib.unzipSync(onnx_zip)
const session = await ort.InferenceSession.create(onnx_buffer);
{Next.jsでサーバーレスSentence Embedding}{optimum-cli}{transformers.onnx}{Next.js}{ONNX}(5)
{onnxに変換して量子化するコマンド K#EDD2/4D36}
t_wpython3 -m transformers.onnx --model=sentence-transformers/paraphrase-multilingual-mpnet-base-v2 onnx/ --opset=18
optimum-cli onnxruntime quantize --onnx_model ./onnx --output onnx_quantize/ --arm64
{ONNX}