DeVIT: Low-Power Vision Transformer Acceleration Using Delta Computation
이 논문은 양자화된 모델의 값 국부성(value locality)을 활용하여 차분 연산을 통한 승산 없는 행렬 곱셈을 가능하게 함으로써 비전 트랜스포머를 위한 저전력 가속 방법인 DeVIT을 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 초고성능 로봇에게 사진을 인식하는 법, 예를 들어 나무 위에 있는 고양이나 거리 위의 자동차를 찾아내는 법을 가르치려 한다고 상상해 보세요. 이를 위해 우리는 "비전 트랜스포머(Vision Transformers)"라고 불리는 특별한 뇌 닮은 컴퓨터 프로그램들을 사용합니다. 이 프로그램들은 믿을 수 없을 정도로 강력하지만, 동시에 거대하고 탐욕스러운 괴물과 같습니다. 사진 한 장을 볼 때마다 수십억 번의 아주 작은 수학 계산을 수행해야 하며, 엄청난 양의 메모리와 배터리 전력을 집어삼킵니다. 이 때문에 이들을 스마트폰이나 드론 같은 작은 기기에 넣는 것은 기기가 과열되거나 에너지가 바닥나는 문제 때문에 매우 어렵습니다.
이 탐욕스러운 괴물들을 길들이기 위해, 과학자들은 수학을 더 단순하게 만드는 방법을 시도해 왔습니다. "양자화(quantization)"라는 아주 대중적인 기술이 있는데, 이는 로봇이 사용하는 숫자를 반올림하는 것과 비슷합니다. 정밀한 소수점 대신, 로봇은 0, 1, 2부터 255까지와 같이 제한된 정수 세트만을 사용합니다. 이렇게 하면 공간은 절약되지만, 로봇이 수십억 번의 곱셈을 수행해야 한다는 사실 자체를 멈추게 하지는 못합니다. 하지만 이 반올림에는 숨겨진 보너스가 있습니다. 로봇이 제한된 특정 숫자들만을 사용하도록 강제되기 때문에, 결과적으로 똑같은 숫자를 반복해서 사용하게 된다는 점입니다. 마치 요리사가 단 다섯 가지 식재료만 가지고 있다면, 같은 양념통을 반복해서 사용하는 것과 같습니다. 여기서 큰 질문은, 로봇이 똑같은 양념을 다시 사용하려는 순간을 알아차리고 그 작업을 건너뛰어 에너지를 아낄 수 있는 구조를 만들 수 있느냐는 것입니다.
이것이 바로 DeVIT(Delta-coded Vision Transformer)를 개발한 연구진이 해결하고자 했던 문제입니다. 그들은 "비전 트랜스포머"가 제한된 숫자들을 사용하도록 강제되기 때문에, 가중치(로봇이 무엇을 찾아야 할지 알려주는 숫자들)가 값 측면에서 서로 바로 옆에 붙어 있게 된다는 점을 깨달았습니다. 예를 들어, 로봇이 어떤 숫자에 5를 곱하고, 그다음엔 6을, 그다음엔 7을 곱해야 한다면, 세 번의 별개적이고 어려운 계산을 할 필요가 없습니다. 첫 번째 계산을 수행한 뒤, 다음 숫자를 위해 아주 조금을 더하고, 그다음 숫자를 위해 조금 더 더하기만 하면 됩니다.
DeVIT 팀은 로봇이 이 "조금씩 더하기" 기술을 사용할 수 있도록 숫자를 정리하는 영리한 방법을 발명했습니다. 그들은 숫자들을 작은 것부터 큰 순서대로 일렬로 정렬하고, 그들 사이의 차이(즉, "델타(delta)")만을 저장합니다. 만약 그 차이가 작다면, 로봇은 복잡한 곱셈 대신 숫자를 "시프트(shift)"(이는 2나 4를 곱하는 것과 비슷함)하고 더하는 방식을 사용할 수 있습니다. 또한 만약 차이가 0이라면(즉, 이전 숫자와 같다면), 로봇은 아무것도 할 필요가 없습니다. 그저 이전의 답을 재사용하면 됩니다.
이 방법을 사용하여, 연구진은 로봇이 수행해야 하는 수학 계산량을 최적화되지 않은 버전의 0.53배 수준으로 줄일 수 있음을 보여주었습니다. 이는 로봇이 원래 해야 할 일의 절반도 안 되는 양의 작업만 한다는 뜻입니다. 실험에서 이 새로운 설계는 하나의 주요 계산 단계에 159.57 nJ(나노줄)의 에너지를 사용했습니다. 이는 그들이 비교 대상으로 삼은 기존의 가장 뛰어난 "시프트 앤 애드(shift-and-add)" 방식보다 에너지를 약 5.5% 덜 사용하는 수치입니다.
하지만 여기에는 함정이 있습니다. 이 방식이 작동하려면 연구진은 숫자를 정렬하고 그것들이 어디에 속하는지에 대한 추가 정보를 저장해야 하는데, 이는 약간의 추가 메모리 공간을 차지합니다. 또한, 차이값을 근사하는 과정에서 미세한 정확도의 트레이드오프(trade-off)가 발생합니다. 실험 결과, 이미지 분류에서는 최대 3.11 퍼센트 포인트, 객체 탐지에서는 2.53 mAP 포인트까지 정확도가 떨어졌습니다. 이러한 엄청난 에너지 절감 효과에 비하면 이는 작은 대가이지만, 이 방법이 아직 모든 상황에 완벽하게 적합하지는 않다는 것을 의미합니다.
요약하자면, DeVIT는 로봇에게 참조표를 주는 것과 같습니다. 매번 수학 문제를 처음부터 다시 계산하는 대신, 정렬된 숫자 목록을 보고 다음 숫자가 단지 아주 작은 단계만큼 떨어져 있다는 것을 확인한 뒤 지름길을 택하는 것입니다. 이 방식은 로봇을 더 빠르고 훨씬 더 에너지 효율적으로 만들어 주며, 강력한 AI가 배터리를 소모하지 않고도 일상적인 기기에서 구동될 수 있는 시대에 한 걸음 더 다가가게 해줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.