Split-learning

1231·2026년 5월 13일

AI네트워킹

목록 보기
9/13

기말프로젝트.

실습 자료에 있는거 외(다른 데이터셋이나 메커니즘)

  1. 공격 유형 파악까지만 하면 됨. discard는 라우터단에서
  2. 라우터 시뮬레이션으로..트래픽데이터셋으로 path 최적화
  3. 시계열 분석. LSTN, Time-LLM
  4. aggregation(collective 통신) 병목을 해결할 수 있는 방법

새로운 로직 넣었덛니 시간이 줄었다...그러면 된거임.
노드들간에 어떤식으로 통신을 할것인가

2명 팀으로 가능. 수업시간 내용을 그대로 하면 안됨. 왜 이걸 선정했고, 어떤 유형의 문제가 있고..등...어떤 데이터셋,,어떻게 학습했고 실제 데이터를 packet filtering...되더라 안되더라 정도

캡쳐할때 eBPF나 DPDK. 그값으로 추론하는 방식

수업시간에 썻던 데이터셋에서 필요한 정보만 추려내야함.

XDP 활용, 네트워크 로직을 변경하는 방법으로 효율성을 챙기는것을 생각중임.
네트워크 로직 변경(Early Acknowledgement)를 custom Ack 방식으로 변경...이나 네트워크 스케줄링 관련 로직 변경으로..?
혹은 User-level custom network stack을 사용해서...하는 방법등이 있을 수 있겠음.
..혹은 TCP -> UDP + XDP 변환하는 방법도 존재 가능.

Best-Effort Reliable UDP? 이정도가
ATP: In-Network Aggregation for Multi-tenant Learning (NSDI 2021)

OmniReduce: Efficient Bandwidth Utilization with Sparse Update Aggregation (SIGCOMM 2021)

또... 이런것들도 있을 수 있겠음.
1. In-Network Computing (INC) / In-Network Aggregation

  1. AI-Native Congestion Control (Incast 해결)

  2. Kernel Bypass & Zero-Copy (Software-Defined RDMA)

  3. Embedded XDP

참고할만한것들.

Split-learning

Split learning
아랫부분은 연합학습으로 수행. 윗부분(서버)또한 학습을 수행한다.
기존 연합학습에서는 서버에 결과만 줌. 서버는 학습을 수행하지 않음.
이걸 왜 하느냐 클라이언트와 서버
클라이언트가 학습을 적게한다. 첫번째 layer의 결과만 넘어간다.
data privacy가 여전히 보장된다.
클라이언트에 있는 성능안좋은 GPU에서 적게 학습을 시키고 남은 것을 성능 좋은놈에게 맡긴다. 모든 노드의 CPU, GPU 자원들을 사용하면서 데이터 privacy까지 보장된다.
Scalabitiy for edge deivces. 레이어뿐만 아니라 다른곳에서 다른 모델을 사용할 수 있다. 엣지 디바이스끼리 다른 모델을 사용할 수 있다.

바닐라 스플릿 러닝
U-shaped 러닝 *수평과 수직 모두 고려
Multiclient
핵심은 자르면 자를 수록 학습이 빠르게 끝낼 수 있을것같으나, 통신 오버헤드가 점점 많아진다.

통신 병목만 잘 해결하면 많은 장점을 가짐. server: 성능 좋으므로 많은 양의 처리. client: 남은양을 성능 안좋은 애들이 나눠서 학습.
학습만 이렇게 하는게 아니라 추론도 모델을 쪼갤 수 있다. offloading?

  1. 학습 단계의 오프로딩 (Parallel Split Learning)
    `

    클라이언트: 모델의 앞부분(입력층)만 학습하고, 중간 결과값(Activation)을 서버로 보냅니다.
    
    서버: 무거운 뒷부분(출력층) 계산과 역전파(Backpropagation)를 전담합니다.
    
    장점: 클라이언트의 배터리를 아끼고, 모델의 핵심 로직(서버 보유)을 보호할 수 있습니다.
  1. 추론 단계의 오프로딩 (Split Inference)

실시간 서비스(예: 자율주행, 스마트폰 AI)에서 아주 중요합니다.

상황: 스마트폰이 최신 LLM이나 무거운 객체 인식 모델을 돌리기엔 너무 뜨거워지고 느릴 때.

방법: 모델의 1~3번 레이어만 스마트폰에서 돌려 특징(Feature)을 뽑고, 이를 서버로 오프로딩합니다. 서버가 나머지를 계산해 결과만 폰으로 쏴줍니다.

핵심: 이때 전송하는 데이터(Feature)가 원본 이미지보다 작아야 오프로딩하는 의미가 있습니다.

이렇게 쪼개면 쪼갤 수록 효율이 늘어나지만 통신 병목을 많이 발생시키는것은 split learning.

Optimizing split learning
compression
async
hybrid 기술 필요.
여전히 보안이슈 존재
edge device 들을 사용해서 모델을 잘 활용할 수 있도록 할 것이냐(경량화 이슈)
efficient support multi-client system 순서스케줄링?

0개의 댓글