[논문 리뷰] In-network Neural Networks
이 논문은 프ogrammable 스위칭 칩에서 기존 하드웨어 프리미티브인 XNOR, POPCNT 및 비트단위 연산을 활용하여 이중화 신경망(BNNs)을 사용한 네트워크 내 추론을 가능하게 하는 N2Net 시스템을 제안한다. 이를 통해 BNNs는 라인 레이트(최대 초당 96000만 개의 뉴런)로 효율적으로 실행될 수 있으며, 단지 14개의 파이프라인 요소만을 사용함으로써 전통적인 룩업 테이블에 비해 메모리 사용을 줄이고, 칩 면적의 최소한의 증가로도 가능하다.
We present N2Net, a system that implements binary neural networks using commodity switching chips deployed in network switches and routers. Our system shows that these devices can run simple neural network models, whose input is encoded in the network packets' header, at packet processing speeds (billions of packets per second). Furthermore, our experience highlights that switching chips could support even more complex models, provided that some minor and cheap modifications to the chip's design are applied. We believe N2Net provides an interesting building block for future end-to-end networked systems.
연구 동기 및 목표
- 고속 패킷 분류를 위한 네트워크 스위칭 칩 내부에 신경망을 직접 구현하는 것이 가능한지 탐색한다.
- 큰 메모리 소비가 발생하는 룩업 테이블을 대체하기 위해 압축된, 계산 중심의 BNN 모델을 도입하여 의존도를 줄인다.
- 기존의 프로그래머블 스위칭 칩 프리미티브(예: 비트단위 논리 연산 및 POPCNT)를 활용하여 BNN 추론을 라인 레이트로 실행한다.
- RMT 기반 스위칭 칩에 BNN을 배포하기 위한 P4 코드를 자동 생성하는 컴파일러를 개발한다.
- 기본적으로 낮은 면적을 차지하는 회로 구조(예: 내장형 POPCNT)를 추가함으로써 BNN의 효율성과 확장성을 크게 향상시킬 수 있는지 확인한다.
제안 방법
- N2Net는 XNOR, AND, 시프트 연산과 함께 POPCNT를 사용하여 이중화 신경망(BNNs)의 순방향 전파를 비트단위 연산만으로 실행한다.
- 다섯 단계 파이프라인을 사용한다: 활성화 값의 복제, XNOR 및 복제, 트리 기반 알고리즘을 통한 병렬 POPCNT 계산, 부호 활성화, 결과의 출력 벡터로의 병합.
- 시스템은 패킷 헤더 벡터(PHV)에 정의된 P4 액션에 BNN 레이어를 매핑하며, RMT 칩의 32개 파이프라인 요소와 512바이트 PHV 용량을 활용한다.
- 사용자 정의 컴파일러는 BNN 모델 기술(레이어, 뉴런 수)에서 P4 코드를 자동 생성하여 추론을 위한 파이프라인을 자동으로 구성한다.
- RISC 프로세서를 통해 활성화 벡터를 복제하여 병렬 처리를 통해 여러 뉴런을 동시에 처리함으로써 병렬성을 활용한다.
- 실행 시간 동안 메모리 접근 오버헤드를 방지하기 위해 사전 설정된 BNN 가중치를 SRAM에 저장하는 것을 가정한다. 이는 BrainWave의 접근 방식과 유사하다.
실험 결과
연구 질문
- RQ1기존 하드웨어 프리미티브만을 사용하여 일반적인 프로그래머블 스위칭 칩에서 이중화 신경망을 효율적으로 실행할 수 있는가?
- RQ2패킷 분류에서 전통적인 룩업 테이블에 비해 BNNs는 얼마나 많은 메모리 사용을 줄일 수 있는가?
- RQ3라인 레이트에서 BNN 추론을 지원하기 위해 필요한 파이프라인 요소와 PHV 자원의 수는 얼마나 되는가?
- RQ4기본적으로 낮은 면적을 차지하는 하드웨어 확장(예: 내장형 POPCNT)을 추가함으로써 얻을 수 있는 성능 향상은 어느 정도인가?
- RQ5N2Net은 DoS 방어나 로드 밸런싱과 같은 실세계 워크로드에 대해 확장 가능하고 고성능의 네트워크 내 추론을 가능하게 할 수 있는가?
주요 결과
- N2Net는 2048비트 활성화 벡터를 사용하여 최대 초당 96000만 개의 뉴런을 처리하며, RMT 스위칭 칩에서 라인 레이트 성능을 달성한다.
- 32비트 활성화 벡터를 사용할 경우, 단지 14개의 파이프라인 요소만으로도 최대 64개의 뉴런을 동시에 처리하여, 매초 최대 96000만 개의 두 레이어 BNN을 처리할 수 있다.
- 각 뉴런당 파이프라인 요소 수는 3+2log₂(N)이며, 여기서 N은 활성화 벡터 크기이다. 2048비트 벡터의 경우 최대 25개의 파이프라인 요소가 필요하다.
- 내장형 POPCNT 프리미티브를 추가하면 파이프라인 요소 수를 12~25개에서 5~10개로 줄일 수 있으며, 이는 하드웨어 비용을 감소시키고 동시에 병렬 뉴런 처리 용량을 두 배로 늘린다.
- BNN을 위한 계산 회로는 칩 총 면적의 3~5% 미만을 소비하므로, 비용 효율적인 향상이다.
- 이 방법은 대규모 패킷 필터링이나 애플리케이션 인식 기반 로드 밸런싱과 같은 사용 사례에 적합한 작고 메모리 효율적인 분류기의 구현을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.