-
Notifications
You must be signed in to change notification settings - Fork 615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bge-small-en ONNX component fails to load with "Opset 19 is under development" #28161
Comments
Hey - this is likely because you are using a new version of onnxruntime (onnxruntime 1.13.1). Try to downgrade onnxruntime to 1.13.1 |
We should document an easy way to find which onnxruntime is used in any Vespa target version, to avoid using a model exported with a newer version than what vespa uses. |
Would you know why exporting model "multilingual-e5-small" works, while "bge-small-en" does not? |
They have slightly different model architectures that can trigger different compute graphs, which causes this forward compatibility issue with onnxruntime. What I want this ticket to be about is that it should be easy to target a specific Vespa version with a given onnxruntime version. |
We have fallen behind on onnx versions, 1.15 is on the way. |
This makes sense to me now: multilingual-e5-small is an older model than bge-small-en |
@arnej27959 or @lesters, does the onnx file include which version was used to export it? So that we could potentially sniff on that and reject if it was exported with a newer runtime than Vespa uses? |
ONNX files contain both the opset version and ir version of the file. |
What is ir version? |
The ir (intermediate representation) version refers to the representation of the graph and the operators of the model, e.g. that overall computation that should be done, or the overall structure. The op version refers to the version of the individual operators, as they can change or introduce optimizations. However, when new operators are introduced, the IR version necessarily must increase, but so does the op version. So the op version in general is the most important to follow. |
From https://blog.vespa.ai/bge-embedding-models-in-vespa-using-bfloat16/
Vespa 8.216.8
(no issues with model multilingual-e5-small)
The ONNX generation traces (tried also with --opset 17):
The component:
The error in Vespa logs
The text was updated successfully, but these errors were encountered: