.. _developer_guide: .. _programming_guide: ############################## Architecture & Developer Guide ############################## This guide is for developers who need to understand FLARE internals, build custom workflows, or extend the platform. For higher-level usage, see the :ref:`User Guide `. System Architecture =================== - :doc:`System Architecture Overview ` - :doc:`FLARE System Architecture ` - :doc:`CellNet Architecture ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/system_architecture flare_system_architecture system_architecture/cellnet_architecture Core Concepts ============= - :doc:`Job ` - :doc:`Workspace ` - :doc:`Application ` - :doc:`FLModel ` - :doc:`FLContext ` - :doc:`FLComponent ` - :doc:`Event System ` - :doc:`FedJob API ` - :doc:`FL Simulator ` - :doc:`POC ` .. toctree:: :maxdepth: 1 :hidden: user_guide/core_concepts/job user_guide/core_concepts/workspace user_guide/core_concepts/application programming_guide/fl_model programming_guide/fl_context programming_guide/fl_component programming_guide/event_system programming_guide/fed_job_api user_guide/nvflare_cli/fl_simulator user_guide/data_scientist_guide/poc Workflows & Controllers ======================= - :doc:`Workflows and Controllers ` - :doc:`Model Controller ` - :doc:`Scatter and Gather ` - :doc:`Cyclic Workflow ` - :doc:`Client-Controlled Workflows ` - :doc:`Cross-Site Model Evaluation ` - :doc:`Initialize Global Weights ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/workflows_and_controllers programming_guide/controllers/model_controller programming_guide/controllers/scatter_and_gather_workflow programming_guide/controllers/cyclic_workflow programming_guide/controllers/client_controlled_workflows programming_guide/controllers/cross_site_model_evaluation programming_guide/controllers/initialize_global_weights Advanced Topics =============== - :doc:`Filters ` - :doc:`Component Configuration ` - :doc:`Resource Manager and Consumer ` - :doc:`Global Model Initialization ` - :doc:`Timeouts Reference ` - :doc:`Dashboard API ` - :doc:`Unsafe Component Detection ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/filters programming_guide/component_configuration programming_guide/resource_manager_and_consumer programming_guide/global_model_initialization programming_guide/timeouts programming_guide/dashboard_api user_guide/admin_guide/security/unsafe_component_detection Large Models & LLM ================== Techniques for federated training and fine-tuning of large models, including LLMs. **Deployment & Optimization:** - :doc:`Notes on Large Models ` -- Deployment considerations for large model training - :doc:`Message Quantization ` -- Reducing message size via quantization - :doc:`File Streaming ` -- Streaming large files between participants - :doc:`Tensor Downloader ` -- Efficient model parameter transfer - :doc:`Memory Management ` -- Controlling memory usage during training - :doc:`Decomposer for Large Objects ` -- Serializing large objects efficiently **LLM Fine-Tuning:** - `Federated SFT (Supervised Fine-Tuning) `_ -- Federated SFT with HuggingFace - `Federated PEFT (Parameter-Efficient Fine-Tuning) `_ -- LoRA and other PEFT methods - `NeMo SFT Integration `_ -- Federated SFT with NeMo - `NeMo PEFT Integration `_ -- Federated PEFT with NeMo - `NeMo Prompt Learning `_ -- Federated prompt tuning with NeMo .. toctree:: :maxdepth: 1 :hidden: user_guide/admin_guide/deployment/notes_on_large_models programming_guide/message_quantization programming_guide/memory_management programming_guide/tensor_downloader programming_guide/file_streaming programming_guide/decomposer_for_large_object Hierarchical Architecture ========================= - :doc:`Hierarchical Architecture ` - :doc:`Hierarchical Communication ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/hierarchical_architecture programming_guide/hierarchical_communication 3rd-Party Integration ===================== - :doc:`3rd-Party Integration ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/execution_api_type/3rd_party_integration Low-Level APIs ============== These are foundational APIs that higher-level abstractions (Client API, FLARE API) are built on top of. Most users do not need these directly, but they are available for advanced customization. - :doc:`Executor ` - :doc:`Shareable ` - :doc:`Data Exchange Object ` - :doc:`Controllers ` - :doc:`Execution API Types ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/execution_api_type/executor programming_guide/shareable programming_guide/data_exchange_object programming_guide/controllers/controllers programming_guide/execution_api_type Testing ======= - :doc:`Developer Testing ` - :doc:`Notebook Testing ` .. toctree:: :maxdepth: 1 :hidden: programming_guide/developer_testing programming_guide/notebook_testing Troubleshooting =============== - :doc:`Timeout Troubleshooting ` - :doc:`FAQ ` .. toctree:: :maxdepth: 1 :hidden: user_guide/timeout_troubleshooting faq