pub mod averaging;
pub mod coordinator;
pub mod error;
pub mod expert;
pub mod moe;
pub use averaging::{AveragingResult, DecentralizedAverager, ParameterAverager};
pub use coordinator::DistributedCoordinator;
pub use error::{DistributedError, DistributedResult};
pub use expert::{Expert, ExpertId, ExpertRegistry};
pub use moe::{ExpertRouter, MixtureOfExperts, Routing};
#[derive(Debug, Clone)]
pub struct DistributedConfig {
pub enable_moe: bool,
pub enable_averaging: bool,
pub moe_top_k: usize,
pub averaging_group_size: usize,
pub timeout_ms: u64,
pub max_retries: usize,
}
impl Default for DistributedConfig {
fn default() -> Self {
Self {
enable_moe: true,
enable_averaging: true,
moe_top_k: 2,
averaging_group_size: 4,
timeout_ms: 5000,
max_retries: 3,
}
}
}