NER parameter conv_window does not change using en_core_web_lg


I am training an NER model from zero using en_vectors_web_lg and en_core_web_lg. I used this code to modify my window size :

model_optimizer = ner_model.begin_training(component_cfg={"ner": {"conv_window": 6}})

When I apply this code to my ner_model object using en_vectors_web_lg base model before training I can see my cfg config changed to "conv_window":6, but when I try the same using en_core_web_lg I still get "conv_window":1.
Is it something different from core and vectors that you can't modify the window size ?
Also the same happen with other parameters like conv_depth.

I am using Spacy 2.3.2, en_core_web_lg 2.3.1 and en_vectors_web_lg 2.3.0.

I hope you can find all the information for this issue.

Best Regards,

Gilberto Flores


Depending on the exact workflow you're following, the setting is probably getting ignored because the en_core_web_lg model already has a model allocated, and it doesn't resize it. The handling of these options wasn't very consistent in v2: they were often added over time for internal experiments, and there wasn't a good config system to manage and expose them. We've addressed this in v3.

I wouldn't fight too hard to get this set up in your code, though. One reason we never worked to expose these options and make them handled consistently is that they're just not very useful. I've seen a tiny improvement going from window 1 to window 2 on some experiments (like 0.3%), and never seen any improvement above 2. You can run the experiment if you're curious, but in my experience it's not going to be productive. So don't get too hung up if you can't get it to run.

Thanks Matthew. I will look forward for V3. I am just doing fine tuning of hyperparameters and I wanted to know the impact in our model. I think in this case we will explore other option like pretrain to improve the model.