Replies: 1 comment
|
@or9327 thank you so much for the information! We deprecated our current support for HA as that is not complete. For your use case, on the controller side you can add saving mechanism (for example "torch.save") to save the aggregated model parameters after each round. remember to also read these saved model back to start the next round. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Python version (
python3 -V)3.10.19
NVFlare version (
python3 -m pip list | grep "nvflare")2.7.0
NVFlare branch (if running examples, please use the branch that corresponds to the NVFlare version,
git branch)2.7
Operating system
Debian Linux (python:3.10-slim)
Have you successfully run any of the following examples?
Please describe your question
Context
We have successfully completed a PoC using NVFlare (https://github.com/NVIDIA/NVFlare/tree/main/examples/advanced/nlp-ner) using 2 clients and 1 server in Production mode and are planning to deploy it to production. Based on the FAQ documentation, I understand that:
However, since federated learning jobs typically run across multiple rounds, I believe snapshot persistence could make NVFlare viable for production use by enabling job recovery from the last saved state.
Understanding of HA Mode Requirements
From my research, I understand that:
ha_mode: trueHttpOverseerAgent(notDummyOverseerAgent)The Problem
When attempting to configure
HttpOverseerAgentinproject.ymlfor v2.7.0, I've encountered what appears to be contradictory requirements:Issue 1: Overseer cannot be defined as a participant
project.ymlIssue 2: StaticFileBuilder configuration doesn't propagate
HttpOverseerAgentconfiguration toStaticFileBuilderinproject.yml:fed_server.jsonstill showsDummyOverseerAgentconfigurationfed_server.jsonto useHttpOverseerAgent, I get a "not secure content" error and the server startup kit becomes unusableIssue 3: Unable to verify snapshot functionality
Questions
Environment
NVFlare Version: 2.7.0
Python Version: 3.10.19
Deployment Platform: Google Kubernetes Engine (GKE)
OS: Debian-based (python:3.10-slim Docker image)
Key Dependencies:
Deployment Configuration:
Server Startup Command for K8S:
Current
fed_server.json(Auto-generated):{ "format_version": 2, "servers": [...], "overseer_agent": { "path": "nvflare.ha.dummy_overseer_agent.DummyOverseerAgent", "args": { "sp_end_point": "server1-svc-ha.nvflare.svc.cluster.local:8002:8003" } } }Snapshot Persistor Configuration (in
resources.json.default):{ "snapshot_persistor": { "path": "nvflare.app_common.state_persistors.storage_state_persistor.StorageStatePersistor", "args": { "uri_root": "/", "storage": { "path": "nvflare.app_common.storages.filesystem_storage.FilesystemStorage", "args": { "root_dir": "/workspace/nvflare/snapshot-storage", "uri_root": "/" } } } } }Any guidance on the proper configuration approach would be greatly appreciated!
All reactions