Skip to main content

FedOps: Federated Learning Lifecycle Operations Management Platform

FedOps | Slack | LinkedIn | CCL Site | Youtube

GitHub license Slack

FedOps (fedops) is a platform that helps organizations effectively manage and coordinate their federated learning operations:

  • FLScalize: It simplifies the application of data and models in a FL environment by leveraging Flower's Client and Server.

  • Manager: The manager oversees and manages the real-time FL progress of both clients and server

  • CE/CS: Contribution Evaluation and Client Selection processes based on their performance.

  • CI/CD/CFL: the CI/CD/CFL system seamlessly integrates with a Code Repo, enabling code deployment to multiple clients and servers for continuous or periodic federated learning.

  • Monitoring: The FL dashboard is available for monitoring and observing the lifecycle of FL clients and server

FedOps Tutorial

FedOps has developed a web service to manage the lifecycle operations of federated learning on real devices.

  • Install FedOps Library
$ pip install fedops

Run FedOps Agent Studio

Docker Desktop 또는 Docker Engine이 설치된 환경에서 다음 명령으로 실행합니다.

fedops run agent-studio

이 명령은 현재 OS와 CPU architecture에 맞는 gachonccl/fedops-agent-studio:latest 이미지를 확인하고, ~/fedops-workspace를 로컬 Workspace로 연결한 뒤 브라우저를 엽니다. Task별 Python 환경과 데이터는 Workspace에 유지하고, 반복 환경 Sync에 사용하는 uv package/Python cache는 fedops-agent-studio-uv Docker volume에 보존합니다. 따라서 컨테이너와 이미지가 교체되어도 cache를 재사용하며, 특히 Windows Docker Desktop에서 불필요한 재다운로드와 압축 해제 비용을 줄입니다. NVIDIA Container Runtime이 준비된 Linux/Windows 환경에서는 GPU를 자동 사용하고, 그 외 환경에서는 CPU 모드로 실행합니다.

기본 Docker bind address는 0.0.0.0입니다. 따라서 같은 실행으로 localhost, 127.0.0.1, 호스트의 LAN IP에서 접속할 수 있습니다. 호스트 네트워크에 공개되므로 OS firewall에서 허용 범위를 관리해야 합니다. 로컬 장치에서만 접속하려면 다음 옵션을 사용합니다.

fedops run agent-studio --bind-address 127.0.0.1

실제 컨테이너를 변경하지 않고 실행 구성을 먼저 확인할 수 있습니다.

fedops run agent-studio --dry-run

Workspace, Studio port 또는 GPU 모드를 명시하려면 다음 옵션을 사용합니다.

fedops run agent-studio --workspace ~/fedops-workspace --port 24368 --gpu auto

Agent Studio와 로컬 Host integration을 종료하고 결과를 확인하려면 다음 명령을 사용합니다.

fedops stop agent-studio

폴더 열기만 실패하면 Docker가 실행 중인 컴퓨터의 터미널에서 다음 명령으로 호스트 연결을 복구하고 컨테이너 내부에서 연결을 확인합니다. 이미지 다운로드나 Studio 재시작 없이 현재 Workspace와 포트를 사용합니다.

fedops run agent-studio --repair-host

--repair-host는 FedOps 패키지 1.1.30.18부터 지원합니다. 이 옵션이 없다면 해당 버전 배포 후 python -m pip install -U fedops로 호스트의 FedOps를 업데이트합니다. Docker 이미지 업데이트와 호스트에 설치된 FedOps 업데이트는 별개입니다. PC 재부팅 후 Docker에서 컨테이너만 자동 시작됐다면 위 복구 명령이나 fedops run agent-studio로 호스트 프로그램도 시작해야 합니다. 원격 브라우저로 접속한 경우 폴더는 브라우저 컴퓨터가 아니라 Docker 호스트에서 열립니다. 연결 시간 초과가 계속되면 해당 호스트의 방화벽/VPN 설정을 확인합니다. Linux에서 폴더 창을 열려면 그래픽 데스크톱과 xdg-open이 필요합니다.

Real Devices

Single Machine

Community

Paper

FLScalize: Federated Learning Lifecycle Management

@article{Cognitive Computing Lab,
  title={FLScalize: Federated Learning Lifecycle Management},
  author={Semo Yang; Jihwan Moon; Jinsoo Kim; Kwangkee Lee; Kangyoon Lee}, 
  journal={IEEE Access},
  Page(s)={47212 - 47222}
  DOI={10.1109/ACCESS.2023.3275439}
  year={2023}
}

Support

For any questions or issues, please contact the FedOps support team at gyom1204@gachon.ac.kr

Metadata

Release files for fedops 1.1.30.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fedops 1.1.30.19
File Size Uploaded
fedops-1.1.30.19.tar.gz 81.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fedops 1.1.30.19
File Interpreter ABI Platform
fedops-1.1.30.19-py3-none-any.whl Python 3 none any Details

Total release size: 166.5 kB

Release files / fedops-1.1.30.19.tar.gz

Download URL fedops-1.1.30.19.tar.gz
Size 81.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b9f26666a945fda4792d4f0ad535303813ee8d3a385048a248f641b1e621a866
BLAKE2b-256 checksum
How to use checksums
2f8d67e959fe1babfaf41ab642a94e64a03e50be813a0124cb2e28e86304c5fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Release files / fedops-1.1.30.19-py3-none-any.whl

Download URL fedops-1.1.30.19-py3-none-any.whl
Size 85.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8da55ae5e13d825e11886993150cb23d43eeffbe70778e6ceeb96d0d18500451
BLAKE2b-256 checksum
How to use checksums
a8190037b58185eb4d4fea41a94e4e379f93ad4757720f1503c47b070ad8727e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.5

Release history Release notifications | RSS feed

This release

1.1.30.19 This release

2 release files

1.1.28

2 release files

1.1.27

2 release files

1.1.26

2 release files

1.1.25

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page