연구원들은 에지 트레이닝을 최적화 문제로 보고 주어진 메모리 예산 하에서 최소 에너지 소비를 달성하기 위한 최적의 일정을 발견했다고 말했습니다.
현재 딥 러닝 모델은 추론을 위해 스마트폰 및 임베디드 플랫폼과 같은 엣지 디바이스에 널리 배포되었습니다. 그 중 아직까지 훈련은 GPU 등 처리량이 높은 가속기를 갖춘 대규모 클라우드 서버에서 주로 이뤄지고 있다. 중앙 집중식 클라우드 교육 모델에서는 사진 및 키 입력과 같은 민감한 데이터를 엣지 장치에서 클라우드로 전송해야 하므로 사용자 개인정보 보호가 희생되고 추가 데이터 이동 비용이 발생합니다.
캡션: Twitter @Shishir Patil
따라서 사용자가 개인 정보 보호를 희생하지 않고 모델을 개인화할 수 있도록 연합 학습과 같은 기기 기반 교육 방법에서는 데이터를 클라우드에 통합할 필요가 없으며, 로컬 교육 업데이트를 수행하는 것도 가능합니다. 이러한 방법은 키보드 제안을 개인화하기 위해 Google의 Gboard 키보드에 배포되었으며 iPhone에서 자동 음성 인식을 개선하는 데에도 사용됩니다. 동시에 현재의 장치 기반 교육 방법은 최신 아키텍처 및 대규모 모델 교육을 지원하지 않습니다. 제한된 장치 메모리로 인해 역전파 활성화를 저장할 수 없기 때문에 에지 장치에서 더 큰 모델을 훈련하는 것은 불가능합니다. ResNet-50의 단일 교육 반복에는 추론보다 200배 더 많은 메모리가 필요합니다.
이전 작업에서 제안된 전략에는 보조 메모리로의 페이징과 클라우드 훈련의 메모리 사용량을 줄이기 위한 재구현이 포함됩니다. 그러나 이러한 방법은 전체 에너지 소비를 크게 증가시킵니다. 페이징 방법과 관련된 데이터 전송에는 일반적으로 과도한 데이터 계산보다 더 많은 에너지가 필요합니다. 메모리 예산이 줄어들면서 재구현은 O(n^2)의 비율로 에너지 소비를 증가시킵니다.
최근 UC Berkeley 논문에서 몇몇 연구자들은 페이징과 재구현이 매우 상호보완적이라는 것을 보여주었습니다. 복잡한 작업의 결과를 플래시나 SD 카드와 같은 보조 스토리지에 페이징하면서 간단한 작업을 다시 구현함으로써 최소한의 에너지 소비로 효과적인 메모리 용량을 확장할 수 있습니다. 또한, 이 두 가지 방법의 결합을 통해 연구원들은 모바일급 엣지 디바이스에서 BERT와 같은 모델을 훈련하는 것이 가능하다는 것도 입증했습니다. 에지 훈련을 최적화 문제로 처리하여 주어진 메모리 예산 하에서 최소 에너지 소비를 달성하는 최적의 일정을 발견했습니다.
연구원들은 메모리가 제한된 엣지 장치에서 현대 신경망의 에너지 최적화 훈련을 위한 알고리즘인 POET(Private Optimal Energy Training)를 제안했습니다. 그 아키텍처는 그림 1과 같습니다. . 역전파를 위해 모든 활성화 텐서를 캐싱하는 데 드는 비용이 매우 높기 때문에 POET는 페이징 및 활성화 재구현을 최적화하여 메모리 소비를 최대 2배까지 줄입니다. 그들은 한계 훈련 문제를 정수 선형 계획법(ILP)으로 재구성하고 솔버를 통해 10분 안에 최적으로 풀 수 있다는 것을 발견했습니다.
캡션: POET는 에지 장치에서 SOTA 기계 학습 모델 교육을 최적화합니다.
실제 에지 장치에 배포된 모델의 경우 에지 장치가 유휴 상태가 되면 학습이 발생하고 휴대전화가 충전되는 동안 모델 업데이트를 예약하는 Google Gboard와 같은 주기를 계산할 수 있습니다. 따라서 POET에는 엄격한 훈련 제약 조건도 포함되어 있습니다. 메모리 제약과 훈련 시대의 수를 고려하여 POET는 주어진 훈련 기한을 충족하는 솔루션을 생성합니다. 또한 POET를 사용하여 포괄적인 비용 모델을 개발하고 이것이 수학적으로 가치를 보존하고(즉, 근사치를 만들지 않음) 기존의 기본 아키텍처와 작동한다는 것을 보여줍니다.
논문의 첫 번째 저자인 Shishir Patil은 시연 영상에서 POET 알고리즘이 스마트폰과 같은 상업용 첨단 장치에서 대용량 메모리를 필요로 하는 모든 SOTA 모델을 훈련할 수 있다고 말했습니다. 또한 그들은 스마트폰 및 ARM Cortex-M 장치에서 BERT 및 ResNet과 같은 SOTA 기계 학습 모델 훈련을 시연한 최초의 연구팀이 되었습니다.
재구현과 페이징은 대규모 SOTA ML 모델의 메모리 소비를 줄이는 두 가지 기술입니다. 재구현에서 활성화 텐서는 더 이상 필요하지 않으면 삭제되며, 가장 일반적으로 정방향 전달 중에 삭제됩니다. 이렇게 하면 후속 레이어에 대한 활성화를 저장하는 데 사용할 수 있는 귀중한 메모리가 확보됩니다. 삭제된 텐서가 다시 필요할 때 메서드는 계보에 지정된 대로 다른 관련 활성화에서 이를 다시 계산합니다. 오프로딩이라고도 알려진 페이징은 메모리를 줄이기 위한 보완 기술입니다. 페이징에서는 즉시 필요하지 않은 활성화 텐서를 기본 저장소에서 플래시 메모리나 SD 카드와 같은 보조 저장소로 호출합니다. 텐서가 다시 필요하면 페이지 아웃하세요.
그림 2는 8계층 신경망의 실행 일정을 보여줍니다. X축을 따라 각 단위는 신경망의 각 레이어(총 8개 레이어 L8)에 해당합니다. Y축은 한 시대 내의 논리적 시간 단계를 나타냅니다. 다이어그램에서 점유된 셀(색상으로 채워짐)은 해당 시간 단계(정방향/역전파 계산, 재구현 또는 페이징)에서 수행되는 작업을 나타냅니다.
예를 들어 L1의 활성화가 첫 번째 시간 단계(T1)에서 계산되는 것을 볼 수 있습니다. T2와 T3에서는 L2와 L3의 활성화량이 각각 계산됩니다. L2 및 L3 레이어가 메모리 집약적이지만 비선형성(tanH, ReLU 등)과 같이 계산 비용이 저렴한 작업이라고 가정하면 재구현이 최선의 선택이 됩니다. 활성화({T3, L2}, {T4, L3})를 삭제하여 메모리를 확보할 수 있으며, 역전파 중에 이러한 활성화가 필요할 경우 이를 다시 구현할 수 있습니다({T14, L3}, {T16, L2}).
L5 및 L6 레이어가 컨볼루션, 조밀한 행렬 곱셈 등과 같이 계산 집약적인 작업이라고 가정합니다. 이러한 작업의 경우 다시 구현하면 실행 시간과 에너지가 증가하므로 차선책입니다. 이러한 레이어의 경우 활성화 텐서를 보조 저장소({T6, L5}, {T7, L6})에 페이징하고 필요한 경우({T10, L6}, {T11, L5})에 페이징하는 것이 좋습니다.
페이징의 주요 장점은 메모리 버스 점유를 기반으로 대기 시간을 숨기도록 파이프라인을 구성할 수 있다는 것입니다. 이는 최신 시스템에는 컴퓨팅 엔진이 병렬로 실행되는 동안 활성화 텐서를 보조 저장소에서 주 메모리로 이동하는 DMA(직접 메모리 액세스) 기능이 있기 때문입니다. 예를 들어, 시간 단계 T7에서 L6을 호출하고 동시에 L7을 계산할 수 있습니다. 그러나 재구현은 계산 집약적이며 병렬화할 수 없으므로 런타임이 늘어납니다. 예를 들어, 시간 단계 T14를 사용하여 L3을 다시 계산해야 하므로 나머지 역전파 실행이 지연됩니다.
이 연구는 높은 에너지 효율성을 유지하면서 엣지 디바이스의 메모리 제약을 수용하기 위해 대규모 모델의 훈련 DAG를 다시 작성하는 심층 신경망용 그래프 수준 컴파일러인 POET를 제안합니다.
POET는 하드웨어를 인식하므로 먼저 정방향 및 역방향 패스의 실행과 관련 메모리 할당 요청, 런타임, 각 작업의 메모리 및 에너지 소비를 추적합니다. 각 워크로드에 대한 이러한 세밀한 분석은 특정 하드웨어에 대해 한 번만 발생하며 자동화되고 저렴하며 POET에 대한 가장 정확한 비용 모델을 제공합니다.
POET는 효율적으로 풀 수 있는 MILP(혼합 정수 선형 계획법)를 생성합니다. POET 최적화 프로그램은 메모리 바인딩된 엔드투엔드 에너지 소비를 최소화하는 효율적인 재구현 및 페이징 일정을 검색합니다. 그런 다음 결과 일정은 에지 장치에서 실행할 새 DAG를 생성하는 데 사용됩니다.
MILP는 상용 하드웨어에서 해결되지만 엣지 디바이스로 전송되는 일정은 수백 바이트에 불과하므로 메모리 효율성이 매우 높습니다.
재구현은 계산 비용이 저렴하지만 메모리 집약적인 작업에 가장 효율적입니다. 그러나 페이징은 재구현으로 인해 상당한 에너지 오버헤드가 발생하는 계산 집약적 작업에 가장 적합합니다. POET는 통합 검색 공간에서 재구현과 페이징을 공동으로 고려합니다.
이 기사의 방법은 복잡하고 현실적인 아키텍처로 확장될 수 있습니다. POET 최적화 알고리즘은 다음과 같습니다.
이 연구에서는 계산, 페이지 인 및 페이지 아웃의 종합적인 에너지 소비를 최소화하기 위해 최적화 문제에 새로운 목적 함수를 도입합니다. 페이징과 재구현 에너지 소비를 결합한 새로운 목적 함수는 다음과 같습니다.
여기서 Φ_compute, Φ_pagein 및 Φ_pageout은 각각 계산, 페이지 인 및 페이지 아웃 시 각 노드에서 소비되는 에너지를 나타냅니다.
POET는 그래프의 어떤 노드(k)가 다시 구현되고 각 시간 단계(t)에서 어떤 노드가 페이지 인또는 페이지 아웃인지에 따라 DAG 일정을 출력합니다.
POET 평가에서 연구자들은 세 가지 핵심 질문에 답하려고 노력했습니다. 첫째, POET는 다양한 모델과 플랫폼에서 얼마나 많은 에너지를 줄일 수 있습니까? 둘째, POET는 하이브리드 페이징 및 재구현 전략으로부터 어떤 이점을 얻습니까? 마지막으로 POET는 다양한 런타임 예산에 어떻게 적응합니까?
연구원들은 아래 표 2에 ARM Cortex M0 MKR1000, ARM Cortex M4F nrf52840, A72 Raspberry Pi 4B+ 및 Nvidia Jetson TX2라는 네 가지 하드웨어 장치를 나열합니다. POET는 하드웨어를 완벽하게 인식하며 세분화된 분석에 의존합니다.
아래 그림 3은 단일 훈련 에포크의 에너지 소비를 보여줍니다. 각 열은 서로 다른 하드웨어 플랫폼에 해당합니다. 연구원들은 POET가 모든 플랫폼에서 에너지 효율적인 일정(Y축)을 생성하는 동시에 최대 메모리 소비(X축)를 줄이고 시간 예산을 충족한다는 것을 발견했습니다.
아래 그림 5에서 연구원들은 A72에서 ResNet-18을 훈련할 때 POET와 Capuchin을 벤치마킹했습니다. RAM 예산이 감소하면 Capuchin은 전체 메모리를 사용한 기준보다 73%~141% 더 많은 에너지를 소비합니다. 이에 비해 POET는 소비되는 에너지의 1% 미만을 생성합니다. 이러한 추세는 테스트된 모든 아키텍처와 플랫폼에 적용됩니다.
표 3에서 연구는 Nvidia의 Jetson TX2에서 ResNet-18을 교육할 때 POET와 POFO를 벤치마크합니다. 연구에 따르면 POET는 최대 메모리 소비를 8.3% 줄이고 처리량을 13% 향상시키는 통합 재구현 및 페이징을 발견했습니다. 이는 더 큰 검색 공간에 대해 최적화할 수 있는 POET의 MILP 솔버의 장점을 보여줍니다. POFO는 선형 모델만 지원하는 반면 POET는 그림 3과 같이 비선형 모델로 일반화될 수 있습니다.
그림 4는 다양한 시간 제약 하에서 앙상블 전략을 채택한 POET의 이점을 강조합니다. 아래 그림은 각 런타임에 대한 총 에너지 소비량을 나타냅니다.
위 내용은 최초로 스마트폰에서 BERT와 ResNet을 훈련시켜 에너지 소비를 35% 줄였습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!