SignalMod / configs /stealth_learning_training.yaml
Mirae Kang
feat: implement new models and improve UI, #23
46cc63a
Raw
History Blame Contribute Delete
2.6 kB
# Stealth Learning — last-2-layer Toxic-BERT, SWA, fine threshold, 250-feature LR anchor
pipeline:
name: stealth_learning
random_state: 42
test_size: 0.2
val_size: 0.15
max_train_test_gap: 0.05 # final hybrid train-test budget (5%)
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