Comments (8)
I don't have a super strong opinion against making a parameter but I have multiple indicators that make me feel like it's not correct.
- The widgets don't send parameters and I don't think it's super user friendly to make users choose (how is a random user supposed to know which one to use ? )
- It seems to me that models are trained with a certain similarity function, so using the other one doesn't make sense. Allowing to choose seems like we're allowing users to shoot themselves in the foot by using the wrong function.
Do you think we could take upstream to fix this properly and store somewhere the information in some configuration ? That seems the cleanest way to me right now.
What do you think ?
Again, we could just add the parameter
from api-inference-community.
Yes, since this information is really model-dependant, having it in https://huggingface.co/sentence-transformers/multi-qa-MiniLM-L6-cos-v1/blob/main/config.json (or config_sentence_transformers.json
) makes more sense than adding a parameter for users to input
from api-inference-community.
Opened up an issue for this: UKPLab/sentence-transformers#1643
I'll leave this issue open for now until there's a resolution on that ST issue, unless you think otherwise!
from api-inference-community.
For just computing sentence similarity there isn't a setting in ST, they just make you use the util.cos_sim
or util.dot_score
methods, like here: https://www.sbert.net/docs/usage/semantic_textual_similarity.html The dot-score method isn't documented on that page though, and it's really only mentioned in the MS-MARCO page.
the default operator is correct but sometimes you would want to override
Yup, pretty much! In their other methods, like for paraphrase mining, they have the score function set to cos_sim by default, and users can override it. I don't personally know how common using the dot-product is, but it looks like there are some use-cases https://www.reddit.com/r/MachineLearning/comments/pd6wjh/comment/haobugl
from api-inference-community.
Yes, this sounds like a good idea. This would require an additional parameter which I think it's ok. Feel free to open a PR If you want :) cc @Narsil
from api-inference-community.
Isn't there a setting or a config that could be used within sentence-transformers
to know which similarity to use ?
It feels like this shouldn't be passed by users as they are likely to not know which operator to use.
Or is what you are implying is that the default operator is correct but sometimes you would want to override ?
from api-inference-community.
I also remember there was such a configuration, but while writing this pipeline, we were told that cos_sim had basically won. (FYI)
from api-inference-community.
That sounds good to me! config_sentence_transformers.json
seems like an appropriate place for it, but at the moment ST isn't actually using it for anything other than version numbers for ST, transformers, and PyTorch, e.g. https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/blob/main/config_sentence_transformers.json
I'll open up an issue on ST for storing the similarity function in that file, and for having the ST util
methods use use it, to get input from Nils.
from api-inference-community.
Related Issues (20)
- Doesn't work with the bart-large-cnn model HOT 1
- What is the ratelimit for inference api for pro users? HOT 1
- Hosted Inference Api, all models error 422 HOT 6
- pydantic.errors.PydanticImportError: `pydantic:ConstrainedFloat` has been removed in V2. HOT 4
- How do we use the detailed Parameters for the api? HOT 1
- Many of the docker images seem to be out of sync with latest inference community version HOT 7
- Update docker images to latest version of api-inference-community version
- Update docker images to latest version of api-inference-community version HOT 2
- meta-llama/Llama-2-70b-chat-hf Inference API shows incpmplete output HOT 1
- About using Hosted Inference API
- Proper parameters for `HuggingFaceM4/idefics-9b-instruct` HOT 1
- An exception occurs when running the NER model. HOT 1
- Return max_input_length if sequence is too long (NLP tasks) HOT 9
- No image-to-text task in pipelines!
- [Bug] Audio task accept headers are not respected HOT 2
- any pipeline using huggingface_hub.model_info is not offline compatible
- Adding End-Of-Generation-Token parameter for text generation Inference API HOT 1
- 1xbet
- Bumping docker version of SpeechBrain? HOT 1
- [Bug] Multiple Image Outputs are returned in a single byte buffer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from api-inference-community.