GIST-all-MiniLM-L6-v2 / DEVELOP.md
avsolatorio's picture
Add DEVELOP.md as guide for adding onnx models
68c46a7
# ONNX models generation
The transformers.js library uses ONNX models. To convert a Hugging Face model to ONNX, you can use the `optimum-cli` tool. The following commands show how to convert a Hugging Face model to ONNX and quantize it using the `optimum-cli` tool.
```bash
MODEL_NAME=GIST-all-MiniLM-L6-v2
poetry run optimum-cli export onnx -m avsolatorio/${MODEL_NAME} ${MODEL_NAME}_onnx/
poetry run optimum-cli onnxruntime quantize \
--avx512 \
--onnx_model ${MODEL_NAME}_onnx -o ${MODEL_NAME}_onnx_quantized
```
We then upload this to the huggingface model repository. The onnx models must be in the `onnx/` folder in the repository.
```bash
git clone https://huggingface.co/avsolatorio/${MODEL_NAME}
cd ${MODEL_NAME}
if [ ! -d "onnx" ]; then
mkdir onnx && cd onnx
# Copy the onnx model
rsync -avP ../../${MODEL_NAME}_onnx/model.onnx onnx/
# Copy the quantized onnx model
rsync -avP ../../${MODEL_NAME}_onnx_quantized/model_quantized.onnx onnx/
rsync -avP ../../${MODEL_NAME}_onnx_quantized/ort_config.json onnx/
# Commit and push
git add onnx
git commit -m "Add onnx models"
git push origin main
fi
```