Skip to content

AiDotNet Roadmap: High-Impact Backlog and Tracking #293

@ooples

Description

@ooples

Overview

This issue is the central, living roadmap for AiDotNet's development. It organizes the high-impact backlog into thematic areas, tracks their status, and links to the relevant, detailed implementation plans. Each epic listed below contains a granular, checklist-style breakdown suitable for a junior developer.

Quick Links:


Theme 1: Retrieval-Augmented Generation (RAG) & Search

Status: Complete

Goal: Build a state-of-the-art, in-house RAG framework and the persistent storage backends required to support it at scale.

Current State (March 2026): 165+ RAG source files. Knowledge graph system with 5 embedding methods (TransE, RotatE, ComplEx, DistMult, TemporalTransE), link prediction, Leiden community detection, GraphRAG (Local/Global/DRIFT modes), temporal KG support, and KG construction from text. File-based document store with HNSW indexing, WAL crash recovery, and inverted metadata index. Full AiModelBuilder facade integration. 40+ tests.

Epic: [#306] In-House Graph Database - CLOSED

Epic: [#305] In-House Document Store - CLOSED

Epic: [#303] RAG Framework Finalization - CLOSED


Theme 2: Advanced Generative AI (Diffusion Models)

Status: Complete

Goal: Build a comprehensive suite of tools for generative AI, centered around diffusion models for image generation.

Current State (March 2026): 411 source files, ~102,000 lines of code. Covers: 35 noise schedulers (DDPM, DDIM, DPM-Solver, Euler, PNDM, LCM, Flow Matching, etc.), 17 VAE implementations, 12 noise predictor architectures (U-Net, DiT, MMDiT, UViT, Flux), 34 text-to-image models (SD 1.5/2/3/3.5/XL, Flux 1/2, DALL-E 2/3, Imagen 2/3, etc.), 60 video generation models (Sora, Hunyuan, Mochi, Kling, etc.), 35 fast generation models (Consistency, LCM, Turbo, Lightning), 25 ControlNet/conditioning variants, 32 image editing models, 15 audio/music models, 14 3D generation models, 11 text conditioners (CLIP, T5, SigLIP), 8 attention mechanisms, 7 guidance methods, plus distillation, super-resolution, style transfer, panorama, virtual try-on, and alignment modules.

Epic: [#298] Advanced Diffusion Models & Schedulers - CLOSED


Theme 3: Meta-Learning

Status: Substantially Complete - Core algorithms implemented, sub-issues re-scoped for 2024-2026 research extensions

Goal: Implement state-of-the-art meta-learning algorithms to enable models that can learn new tasks rapidly from a small number of examples.

Current State (March 2026): 65+ meta-learning algorithms implemented. Core suite: MAML, MAML++, iMAML, ANIL, BOIL, MetaSGD, WarpGrad, CAVIA, Reptile, SEAL, OpenMAML, HyperMAML. Metric-based: ProtoNets, MatchingNetworks, RelationNetwork, TADAM, SimpleShot, DeepEMD, LaplacianShot, FEAT, TIM. Memory-based: MANN, NTM. Plus: CNAP, GNNMeta, MetaOptNet, SNAIL, MCL, DKT, DPGN, EPNet, FRN, ConstellationNet, PMF, and more. 5 episodic data loader variants (Uniform, Balanced, Stratified, Curriculum). 321 passing tests. Full enum-based algorithm selection.

Epic: [#290] Episodic Data Abstractions - OPEN (re-scoped for extensions)

  • AC 1.1: N-way K-shot DataLoader: EpisodicDataLoaderBase + UniformEpisodicDataLoader, BalancedEpisodicDataLoader, StratifiedEpisodicDataLoader, CurriculumEpisodicDataLoader all implemented. Issue re-scoped (Feb 2026) for additional PyTorch/learn2learn pattern alignment.

Epic: [#289] Implement SEAL - CLOSED

  • AC 1.1: SEAL Algorithm: SEALAlgorithm implemented with temperature scaling, entropy regularization, and adaptive learning rates. Full unit and integration tests.

Epic: [#291] Implement MAML - OPEN (re-scoped for extensions)

  • AC 1.1: MAML Algorithm: Full MAML family implemented: MAMLAlgorithm (first/second order), MAMLPlusPlusAlgorithm, iMAMLAlgorithm, ANILAlgorithm, BOILAlgorithm, MetaSGDAlgorithm, WarpGradAlgorithm, CAVIAAlgorithm, OpenMAMLAlgorithm. Issue re-scoped (Feb 2026) for additional 2024-2026 research extensions.

Epic: [#292] Implement Reptile - CLOSED

  • AC 1.1: Reptile Algorithm: ReptileAlgorithm implemented with first-order gradient updates and parameter interpolation. Full unit and integration tests.

Theme 4: Core Infrastructure & Productionization

Status: Complete

Goal: Build the cross-cutting infrastructure required to make the library robust, efficient, and easy to use in production.

Current State (March 2026): 348+ data loader files covering vision (ImageNet, COCO, CelebA, 30+ benchmarks), audio (LibriSpeech, CommonVoice, 10+ loaders), video (Kinetics-400, UCF101), text (GLUE, SQuAD), graph (OGB), and 3D (ShapeNet, ModelNet40). Full YAML training configuration with source-generated validation. Production-grade KV cache (874 lines) with FP16/INT8 backends, sliding window, and paged attention. 5 PTQ strategies (GPTQ, AWQ, SmoothQuant, QuIP#, SpinQuant) plus QAT, NF4, FP8. ONNX export (Opset 17) and runtime with CPU/CUDA/TensorRT/DirectML providers.

Epic: [#282] Datasets and DataLoaders - CLOSED

  • AC 1.1: ImageFolderLoader: ImageFolderDataset implemented with PyTorch-compatible directory structure, bilinear resizing, channel conversion, train/val/test split.
  • AC 1.2: AudioLoader: AudioFileDataset base + 10+ benchmark-specific loaders (LibriSpeech, CommonVoice, AudioSet, ESC-50, MAESTRO, etc.). FLAC/WAV support.

Epic: [#283] Training Recipes & Config System - CLOSED

  • AC 1.1: YAML Configuration: YamlConfigLoader, YamlConfigApplier, YamlConfigSourceGenerator (compile-time validation), TrainingRecipeConfig with Model/Dataset/Optimizer/Loss/Trainer sections.
  • AC 1.2: Configurable Trainer: Trainer class with TrainerBase<T>, supports YAML file or TrainingRecipeConfig initialization, full training pipeline.

Epic: [#277] Inference Optimizations - CLOSED

  • AC 1.1: KV Cache: KVCache<T> (874 lines) with native/FP16/INT8 storage backends, sliding window eviction, batch support, cache statistics. Integrated with CachedMultiHeadAttention, CachedGroupedQueryAttention, and PagedCachedMultiHeadAttention.

Epic: [#278] Quantization - CLOSED

  • AC 1.1: Post-Training Quantization (PTQ): 5 strategies: GPTQ, AWQ, SmoothQuant, QuIP#, SpinQuant. Quantization-Aware Training (QAT) with EfficientQATOptimizer. Format-specific: FP8, NF4, MXFP4. Inference layers: QuantizedDenseLayer, QuantizedAttentionLayer. Per-tensor/channel/group/block granularity.

Epic: [#280] ONNX Export & Runtime - CLOSED

  • AC 1.1: ONNX Exporter: OnnxExporter with automatic input shape inference, Opset 17 support, graph building via OnnxGraph/OnnxNode. Export to file or byte array.
  • AC 1.2: ONNX Runtime Executor: OnnxModel<T> wrapper with automatic execution provider selection (CPU, CUDA, TensorRT, DirectML), multi-input/output, warm-up, async inference. OnnxModelDownloader for pre-trained models. CoreML conversion support.

Progress Summary (March 2026)

Theme Status Sub-Issues Closed Open
RAG & Search Complete #303, #305, #306 3/3 0
Diffusion Models Complete #298 1/1 0
Meta-Learning Substantially Complete #289, #290, #291, #292 2/4 2 (re-scoped)
Core Infrastructure Complete #277, #278, #280, #282, #283 5/5 0
Total 13 epics 11/13 2

Note: The 2 open meta-learning issues (#290, #291) have their original requirements fully implemented. They were re-scoped in Feb 2026 to include additional extensions from 2024-2026 research papers.


CRITICAL ARCHITECTURAL REQUIREMENTS

Before implementing any remaining work, you MUST review:

Mandatory Implementation Checklist

1. INumericOperations Usage (CRITICAL)

  • Include protected static readonly INumericOperations<T> NumOps = MathHelper.GetNumericOperations<T>(); in base class
  • NEVER hardcode double, float, or specific numeric types - use generic T
  • NEVER use default(T) - use NumOps.Zero instead
  • Use NumOps.Zero, NumOps.One, NumOps.FromDouble() for values
  • Use NumOps.Add(), NumOps.Multiply(), etc. for arithmetic
  • Use NumOps.LessThan(), NumOps.GreaterThan(), etc. for comparisons

2. Inheritance Pattern (REQUIRED)

  • Create I{FeatureName}.cs in src/Interfaces/ (root level, NOT subfolders)
  • Create {FeatureName}Base.cs in src/{FeatureArea}/ inheriting from interface
  • Create concrete classes inheriting from Base class (NOT directly from interface)

3. PredictionModelBuilder Integration (REQUIRED)

  • Add private field: private I{FeatureName}<T>? _{featureName}; to PredictionModelBuilder.cs
  • Add Configure method taking ONLY interface (no parameters)
  • Use feature in Build() with default
  • Verify feature is ACTUALLY USED in execution flow

4. Beginner-Friendly Defaults (REQUIRED)

  • Constructor parameters with defaults from research/industry standards
  • Document WHY each default was chosen (cite papers/standards)
  • Validate parameters and throw ArgumentException for invalid values

5. Property Initialization (CRITICAL)

  • NEVER use default! operator
  • String properties: = string.Empty;
  • Collections: = new List<T>(); or = new Vector<T>(0);
  • Numeric properties: appropriate default or NumOps.Zero

6. Class Organization (REQUIRED)

  • One class/enum/interface per file
  • ALL interfaces in src/Interfaces/ (root level)
  • Namespace mirrors folder structure

7. Documentation (REQUIRED)

  • XML documentation for all public members
  • <b>For Beginners:</b> sections with analogies and examples
  • Document all <param>, <returns>, <exception> tags
  • Explain default value choices

8. Testing (REQUIRED)

  • Minimum 80% code coverage
  • Test with multiple numeric types (double, float)
  • Test default values are applied correctly
  • Test edge cases and exceptions
  • Integration tests for PredictionModelBuilder usage

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation and examplesroadmapRoadmap-tracked item

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions