Has all-MiniLM-L6-v2 ever changed it's architecture? I have two different models
I have two models of all-MiniLM-L6-v2 in ONNX format that I have converted to TensorRT format and been using for a while.
One model has the inputs:
- input_ids
- attention_mask
Outputs: - token_embeddings
- sentence_embedding
The other model has inputs:
- input_ids
- token_type_ids
- attention_mask
Outputs: - last_hidden_state
Can someone explain this, or has anyone run into this?
Hello!
No, it hasn't changed its architecture. However, you can load this model in 2 ways: via Sentence Transformers where your inputs are input_ids & attention_mask and the outputs are token_embeddings
& sentence_embedding
, and via transformers
where your inputs are input_ids
, token_type_ids
, attention_mask
and the output is last_hidden_state
. See also the model card for a bit more info on this.
- Tom Aarsen
I'm loading the model via transformers
using the AutoModel.from_pretrained() method and providing inputs of input_ids
& attention_mask
from the tokenizer (similarly loaded with AutoTokenizer) however the model is outputting last_hidden_state
& pooler_output
. Previously when I loaded the model in this way I was using the inputs & outputs described by
@tomaarsen
with AutoModel without issue, however loading the model via the SentenceTransformer class only outputs the pooled embeddings. Has something changed with the API or the model or am I doing something wrong?