1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//! Model Architectures for RuvLLM
//!
//! This module contains model architecture implementations optimized for
//! various hardware targets including Apple Neural Engine (ANE), Metal GPU,
//! and CPU.
//!
//! ## Available Models
//!
//! | Model | Architecture | Params | ANE Optimized | Use Case |
//! |-------|--------------|--------|---------------|----------|
//! | RuvLTRA-Small | Qwen 0.5B | 500M | Yes | Edge inference, mobile |
//! | RuvLTRA-Medium | Qwen2.5-3B | 3B | Yes | Balanced quality/performance |
//!
//! ## Model Selection Guide
//!
//! ```text
//! Model Size vs Performance:
//!
//! RuvLTRA-Small (0.5B) ████████░░ Good quality, fast inference
//! ANE: 38 TOPS, ~200 tok/s
//!
//! RuvLTRA-Medium (3B) ██████████ High quality, moderate speed
//! GPU/ANE: ~50-80 tok/s, SONA learning
//!
//! Phi-3 (3B) ██████████ High quality, moderate speed
//! GPU: Metal, ~50 tok/s
//!
//! Qwen 1.8B █████████░ Balanced quality/speed
//! GPU: Metal, ~80 tok/s
//! ```
//!
//! ## Usage
//!
//! ### RuvLTRA-Small (0.5B)
//!
//! ```rust,ignore
//! use ruvllm::models::ruvltra::{RuvLtraConfig, RuvLtraModel};
//!
//! // Create model with default Qwen 0.5B config
//! let config = RuvLtraConfig::default();
//! let model = RuvLtraModel::new(&config)?;
//!
//! // Run inference
//! let logits = model.forward(&input_ids, &positions, None)?;
//! ```
//!
//! ### RuvLTRA-Medium (3B)
//!
//! ```rust,ignore
//! use ruvllm::models::ruvltra_medium::{RuvLtraMediumConfig, RuvLtraMediumModel};
//!
//! // Create base variant
//! let config = RuvLtraMediumConfig::base();
//! let mut model = RuvLtraMediumModel::new(&config)?;
//!
//! // Enable SONA learning hooks at layers 8, 16, 24
//! model.enable_sona_with_hooks(&[8, 16, 24])?;
//!
//! // Run inference with paged attention
//! let logits = model.forward(&input_ids, &positions)?;
//! ```
// Re-export RuvLTRA-Small types
pub use ;
// Re-export RuvLTRA-Medium types
pub use ;