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.18

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.18
File Size Uploaded
fedops-1.1.30.18.tar.gz 81.5 kB Details

Built distribution (wheel)

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

Total release size: 166.6 kB

Release files / fedops-1.1.30.18.tar.gz

Download URL fedops-1.1.30.18.tar.gz
Size 81.5 kB
Tags Source
SHA-256 checksum
How to use checksums
811292baed6b84034c7d80223b735cafcbe9d082f338b02989bde27ea98db562
BLAKE2b-256 checksum
How to use checksums
edd99489f04e98c49756ad0ee4f31938902101ae5c91452b518f5cc681188425
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.18-py3-none-any.whl

Download URL fedops-1.1.30.18-py3-none-any.whl
Size 85.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d55777551b38ecadb5f47bfbde1d70c930524da96cfebe5e0b39cd1c9095e77
BLAKE2b-256 checksum
How to use checksums
cd3ab1b1ccdfe03507dc772c3743be1b6d3271362ae5354f6ce36b98707b8641
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.18 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