I'll look into this further, but wanted to flag it as an issue. I haven't measured training RAM yet, but will update with more details when I can.
Vocab A: 100K labels
Vocab B: 2.1M labels, divided into 2 skos:ConceptScheme : 100K (same as the 100K in Vocab A) and 2M
(exclude=*,include_scheme=test:vocab_A)
STWFSA inferencing w/ Vocab A: 4GB RAM
STWFSA inferencing w/ Vocab B: >50GB RAM
Same suggestion results from both models.
data/projects/stwfsa_A/stwfsa_predictor.zip: 362845163 bytes
data/projects/stwfsa_B/stwfsa_predictor.zip: 6183918280 bytes
It appears that STWFSA saves the entire (unexcluded) vocabulary after training, thus vastly increasing RAM usage for both training and inferencing. This severely limits the ability to use STWFSA for large vocabularies with exclusion rules.