[paths] train = "corpus/UD_Russian-GSD/train.spacy" dev = "corpus/UD_Russian-GSD/dev.spacy" vectors = null init_tok2vec = null tokenizer_source = "training/UD_Russian-GSD/tokenizer/model-best" transformer_source = "training/UD_Russian-GSD/transformer/model-best" [system] gpu_allocator = "pytorch" seed = 0 [nlp] lang = "ru" pipeline = ["experimental_char_ner_tokenizer","transformer","senter","tagger","morphologizer","parser","experimental_edit_tree_lemmatizer"] batch_size = 64 disabled = ["senter"] before_creation = null after_creation = null after_pipeline_creation = null tokenizer = {"@tokenizers":"spacy-experimental.char_pretokenizer.v1"} [components] [components.experimental_char_ner_tokenizer] factory = "experimental_char_ner_tokenizer" scorer = {"@scorers":"spacy-experimental.tokenizer_scorer.v1"} [components.experimental_char_ner_tokenizer.model] @architectures = "spacy.TransitionBasedParser.v2" state_type = "ner" extra_state_tokens = false hidden_width = 64 maxout_pieces = 2 use_upper = true nO = null [components.experimental_char_ner_tokenizer.model.tok2vec] @architectures = "spacy.Tok2Vec.v2" [components.experimental_char_ner_tokenizer.model.tok2vec.embed] @architectures = "spacy.MultiHashEmbed.v2" width = 128 attrs = ["ORTH","LOWER","IS_DIGIT","IS_ALPHA","IS_SPACE","IS_PUNCT"] rows = [1000,500,50,50,50,50] include_static_vectors = false [components.experimental_char_ner_tokenizer.model.tok2vec.encode] @architectures = "spacy.MaxoutWindowEncoder.v2" width = 128 depth = 4 window_size = 4 maxout_pieces = 2 [components.experimental_edit_tree_lemmatizer] factory = "experimental_edit_tree_lemmatizer" backoff = "orth" min_tree_freq = 1 overwrite = false scorer = {"@scorers":"spacy.lemmatizer_scorer.v1"} top_k = 1 [components.experimental_edit_tree_lemmatizer.model] @architectures = "spacy.Tagger.v1" nO = null [components.experimental_edit_tree_lemmatizer.model.tok2vec] @architectures = "spacy-transformers.TransformerListener.v1" grad_factor = 1.0 upstream = "transformer" pooling = {"@layers":"reduce_mean.v1"} [components.morphologizer] factory = "morphologizer" extend = false overwrite = false scorer = {"@scorers":"spacy.morphologizer_scorer.v1"} [components.morphologizer.model] @architectures = "spacy.Tagger.v1" nO = null [components.morphologizer.model.tok2vec] @architectures = "spacy-transformers.TransformerListener.v1" grad_factor = 1.0 upstream = "transformer" pooling = {"@layers":"reduce_mean.v1"} [components.parser] factory = "parser" learn_tokens = false min_action_freq = 5 moves = null scorer = {"@scorers":"spacy.parser_scorer.v1"} update_with_oracle_cut_size = 100 [components.parser.model] @architectures = "spacy.TransitionBasedParser.v2" state_type = "parser" extra_state_tokens = false hidden_width = 64 maxout_pieces = 3 use_upper = false nO = null [components.parser.model.tok2vec] @architectures = "spacy-transformers.TransformerListener.v1" grad_factor = 1.0 upstream = "transformer" pooling = {"@layers":"reduce_mean.v1"} [components.senter] factory = "senter" overwrite = false scorer = {"@scorers":"spacy.senter_scorer.v1"} [components.senter.model] @architectures = "spacy.Tagger.v1" nO = null [components.senter.model.tok2vec] @architectures = "spacy-transformers.TransformerListener.v1" grad_factor = 1.0 upstream = "transformer" pooling = {"@layers":"reduce_mean.v1"} [components.tagger] factory = "tagger" neg_prefix = "!!!" overwrite = false scorer = {"@scorers":"spacy.tagger_scorer.v1"} [components.tagger.model] @architectures = "spacy.Tagger.v1" nO = null [components.tagger.model.tok2vec] @architectures = "spacy-transformers.TransformerListener.v1" grad_factor = 1.0 upstream = "transformer" pooling = {"@layers":"reduce_mean.v1"} [components.transformer] factory = "transformer" max_batch_items = 4096 set_extra_annotations = {"@annotation_setters":"spacy-transformers.null_annotation_setter.v1"} [components.transformer.model] @architectures = "spacy-transformers.TransformerModel.v3" name = "xlm-roberta-base" mixed_precision = true [components.transformer.model.get_spans] @span_getters = "spacy-transformers.strided_spans.v1" window = 128 stride = 96 [components.transformer.model.grad_scaler_config] [components.transformer.model.tokenizer_config] use_fast = true [components.transformer.model.transformer_config] [corpora] [corpora.dev] @readers = "spacy.Corpus.v1" path = ${paths.dev} max_length = 0 gold_preproc = false limit = 0 augmenter = null [corpora.train] @readers = "spacy.Corpus.v1" path = ${paths.train} max_length = 0 gold_preproc = false limit = 0 augmenter = null [training] train_corpus = "corpora.train" dev_corpus = "corpora.dev" seed = ${system:seed} gpu_allocator = ${system:gpu_allocator} dropout = 0.1 accumulate_gradient = 3 patience = 5000 max_epochs = 0 max_steps = 20000 eval_frequency = 200 frozen_components = [] before_to_disk = null annotating_components = [] [training.batcher] @batchers = "spacy.batch_by_padded.v1" discard_oversize = true get_length = null size = 2000 buffer = 256 [training.logger] @loggers = "spacy.ConsoleLogger.v1" progress_bar = false [training.optimizer] @optimizers = "Adam.v1" beta1 = 0.9 beta2 = 0.999 L2_is_weight_decay = true L2 = 0.01 grad_clip = 1.0 use_averages = true eps = 0.00000001 [training.optimizer.learn_rate] @schedules = "warmup_linear.v1" warmup_steps = 250 total_steps = 20000 initial_rate = 0.00005 [training.score_weights] token_f = 0.0 token_p = null token_r = null token_acc = null sents_f = 0.05 sents_p = 0.0 sents_r = 0.0 tag_acc = 0.11 pos_acc = 0.05 morph_acc = 0.05 morph_per_feat = null dep_uas = 0.11 dep_las = 0.11 dep_las_per_type = null lemma_acc = 0.52 [pretraining] [initialize] vectors = ${paths.vectors} init_tok2vec = ${paths.init_tok2vec} vocab_data = null lookups = null before_init = null after_init = null [initialize.components] [initialize.tokenizer]