entrenar/hf_pipeline/config/mod.rs
1//! YAML Configuration for Distillation Training
2//!
3//! Provides declarative configuration for the entire distillation pipeline.
4//!
5//! # Example Config
6//!
7//! ```yaml
8//! teacher:
9//! model_id: "microsoft/codebert-base"
10//!
11//! student:
12//! model_id: "distilbert-base-uncased"
13//! lora:
14//! rank: 16
15//! alpha: 32
16//! target_modules: ["q_proj", "v_proj"]
17//!
18//! distillation:
19//! temperature: 4.0
20//! alpha: 0.7
21//! progressive:
22//! layer_mapping: [[0, 3], [1, 7], [2, 11]]
23//!
24//! training:
25//! epochs: 3
26//! batch_size: 16
27//! learning_rate: 2.0e-4
28//! ```
29
30mod dataset;
31mod distillation;
32mod output;
33mod student;
34mod teacher;
35mod training;
36mod yaml_config;
37
38#[cfg(test)]
39mod tests;
40
41// Re-export all public types for API compatibility
42#[allow(unused_imports)]
43pub use dataset::DatasetConfig;
44#[allow(unused_imports)]
45pub use distillation::{AttentionTransferConfig, DistillationConfig, ProgressiveConfig};
46#[allow(unused_imports)]
47pub use output::OutputConfig;
48#[allow(unused_imports)]
49pub use student::{LoRAYamlConfig, StudentConfig};
50#[allow(unused_imports)]
51pub use teacher::TeacherConfig;
52#[allow(unused_imports)]
53pub use training::TrainingConfig;
54pub use yaml_config::DistillationYamlConfig;