| |
|
|
| pipeline: |
| name: stealth_learning |
| random_state: 42 |
| test_size: 0.2 |
| val_size: 0.15 |
| max_train_test_gap: 0.05 |
| target_f1_weighted: 0.80 |
|
|
| data: |
| raw_path: data/raw/youtoxic_english_1000.csv |
| processed_preprocessed: data/processed/v2/comments_preprocessed.csv |
| processed_stats: data/processed/v2/comments_with_stats.csv |
| target_binary: IsToxic |
| text_column: Text |
| id_column: CommentId |
| features_config: configs/features.yaml |
|
|
| augmentation: |
| enabled: true |
| strategy: back_translation |
| source_lang: en |
| pivot_lang: de |
| min_words: 3 |
| max_words: 60 |
| rate_limit_every: 50 |
| rate_limit_sleep_sec: 1.0 |
| dedup: |
| enabled: true |
| cosine_threshold: 0.95 |
| embedding_model: sentence-transformers/all-MiniLM-L6-v2 |
|
|
| transformer: |
| model_id: unitary/toxic-bert |
| model_label: Toxic-BERT-stealth |
| max_length: 128 |
| freeze_mode: last_n_layers |
| train_last_n_layers: 2 |
| encoder_learning_rate: 7.0e-6 |
| head_learning_rate: 2.0e-5 |
| learning_rate: 7.0e-6 |
| weight_decay: 0.01 |
| max_epochs: 20 |
| batch_size: 8 |
| warmup_ratio: 0.1 |
| head_dropout: 0.3 |
| label_smoothing: 0.1 |
| early_stopping: |
| patience: 5 |
| metric: f1_weighted |
| gap_stop_enabled: true |
| max_train_val_gap: 0.055 |
| gap_check_min_epoch: 2 |
| metric_for_best: f1_weighted |
| swa: |
| enabled: true |
| last_n_epochs: 5 |
| threshold_tuning: |
| enabled: true |
| metric: f1_weighted |
| min_threshold: 0.30 |
| max_threshold: 0.70 |
| step: 0.005 |
| test_time_augmentation: |
| enabled: true |
| source_lang: en |
| pivot_lang: de |
| max_words: 60 |
| rate_limit_every: 50 |
| rate_limit_sleep_sec: 1.0 |
|
|
| logistic_regression: |
| C: 0.01 |
| max_iter: 2000 |
| class_weight: balanced |
| solver: lbfgs |
| gap_search: |
| enabled: true |
| max_gap: 0.05 |
| use_original_train_for_gap: true |
| param_grid: |
| - {C: 0.01, max_features: 250, min_df: 3} |
| - {C: 0.008, max_features: 250, min_df: 5} |
| - {C: 0.005, max_features: 250, min_df: 8} |
| - {C: 0.01, max_features: 250, min_df: 5} |
| tfidf: |
| max_features: 250 |
| ngram_range: [1, 2] |
| sublinear_tf: true |
| min_df: 3 |
|
|
| ensemble: |
| bert_weight: 0.95 |
| lr_weight: 0.05 |
| fixed_weights: true |
| threshold_tuning: |
| enabled: true |
| metric: f1_weighted |
| min_threshold: 0.30 |
| max_threshold: 0.70 |
| step: 0.005 |
|
|
| output: |
| transformer_dir: models/stealth_learning_toxic_bert |
| lr_path: models/stealth_learning_lr.joblib |
| ensemble_meta_path: models/stealth_learning_ensemble_meta.json |
| reports_dir: reports/stealth_learning |
|
|