Skip to main content

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;