Qualcomm이 Snapdragon 865에서 AI를 대폭 개선한 방법

click fraud protection

Qualcomm은 새로운 Snapdragon 865 SoC로 AI 성능을 크게 향상시켰습니다. 머신러닝을 가속화하기 위해 Qualcomm이 적용한 변경 사항을 분석합니다.

뉴스에서 '인공지능'을 하루도 빼놓을 수 없을 것 같은데, 지난주에도 스냅드래곤 테크 서밋(Snapdragon Tech Summit) 덕분에 적지 않게 예외가 아니었습니다. 매년 Qualcomm은 Hexagon DSP 및 Qualcomm AI 엔진에 제공되는 수많은 개선 사항을 공개합니다. AI에 관해 이야기할 때 전체 이기종 컴퓨팅 플랫폼(CPU, GPU, DSP)에 사용하는 용어입니다. 작업 부하. 몇 년 전만 해도 연도별 CPU 성능 향상과 같은 전통적인 화두에서 대화를 옮기려는 퀄컴의 주장은 다소 이상해 보였습니다. 그러나 2019년에는 Snapdragon 865를 통해 이기종 컴퓨팅이 실제로 모바일 컴퓨팅 추진의 중심에 있다는 것을 알 수 있습니다. 하드웨어 가속 워크로드가 소셜 미디어에서 일상에 이르기까지 광범위한 사용 사례와 애플리케이션에 몰래 들어가는 것 같습니다. 서비스.

Snapdragon 865는 Qualcomm의 5세대 AI 엔진을 탑재하고 있으며, 이를 통해 성능과 전력 효율성이 대폭 향상되었습니다. 하지만 이는 예상할 수 있는 일입니다. 사양, 성능 수치, 화려한 엔지니어링 용어, 지루한 마케팅 용어 등의 바다 속에서 이러한 개선이 실제로 무엇을 의미하는지 간과하기 쉽습니다. 그들은 무엇을 설명합니까? 이러한 업그레이드가 오늘날 앱에 AI를 구현하는 사람들에게, 그리고 아마도 더 중요하게는 미래에 AI를 구현하려는 사람들에게 그토록 의미가 있는 이유는 무엇일까요?

이 기사에서는 Qualcomm AI 엔진의 역사, 구성 요소, Snapdragon 865의 업그레이드를 자세히 살펴보고 가장 중요하게는 Qualcomm AI 엔진에 대해 접근하기 쉽지만 철저하게 살펴보겠습니다. 또는 어떻게 이들 각각은 재미있는 필터부터 디지털 보조 장치에 이르기까지 오늘날의 스마트폰 경험에 기여했습니다.

Hexagon DSP 및 Qualcomm AI 엔진: 브랜딩이 변화를 가져올 때

이번 주 Snapdragon Tech Summit에는 참석하지 못했지만, 그럼에도 불구하고 2015년 이후에는 두 번 모두 참석했습니다. 기억난다면, 저것 Snapdragon 810이 난리를 친 해였습니다. 그래서 뉴욕의 Chelsea 로프트에 있던 기자들은 Snapdragon 820이 회사를 어떻게 회복할 것인지 알고 싶어했습니다. 그리고 그것은 훌륭한 칩셋이었습니다. Qualcomm이 유명했던 당시 검증된 맞춤형 코어로 돌아가서 (스로틀링 없이) 건전한 성능 향상을 약속했습니다. 그러나 나는 돌이켜보면 더 많은 관심을 받았어야 했던 매우 미묘한 발표도 기억합니다. 2세대 Hexagon 680 DSP 및 SIMD(Single Instruction, Multiple Data) Hexagon Vector eXtensions, 또는 HVX. 아마도 엔지니어가 기능의 이름을 지정하지 않았다면 마땅한 관심을 받았을 것입니다.

이 보조 프로세서를 사용하면 스칼라 DSP 장치의 하드웨어 스레드가 광범위한 벡터 처리 기능을 위해 HVX "컨텍스트"(레지스터 파일)에 액세스할 수 있습니다. 이를 통해 전력 소모가 많은 CPU 또는 GPU에서 상당한 컴퓨팅 워크로드를 다른 컴퓨터로 오프로드할 수 있었습니다. 이미징 및 컴퓨터 비전 작업이 실질적으로 향상된 성능으로 실행될 수 있도록 전력 효율적인 DSP 밀리와트당. 인접한 벡터 요소(원래는 정수)에 동일한 연산을 적용하는 데 적합하므로 컴퓨터 비전 작업 부하에 적합합니다. 우리는 과거에 DSP와 HVX에 대해 심도 있는 기사를 쓴 적이 있습니다., HVX 아키텍처는 병렬화에 적합하며 분명히 큰 입력 벡터를 처리하는 데 적합합니다. 당시 Qualcomm은 DSP와 HVX의 개선 사항을 설명함으로써 거의 독점적으로 DSP와 HVX를 모두 홍보했습니다. Harris 코너 감지기 및 기타 슬라이딩 창과 같은 컴퓨터 비전 작업 부하를 가져올 것입니다. 행동 양식.

소비자 모바일 애플리케이션에 딥 러닝이 등장하고 나서야 DSP의 벡터인 처리 장치(현재는 텐서 가속기)가 AI 및 신경망과 결합하여 특정한. 하지만 되돌아보면 완벽하게 이해가 됩니다. 원래 디지털 신호 처리용으로 설계된 디지털 신호 프로세서(DSP) 아키텍처는 실제 또는 아날로그 신호 입력은 많은 기계 학습 알고리즘 및 신경망과 동일한 워크로드에 적합합니다. 네트워크. 예를 들어 DSP는 필터 커널, 컨볼루션 및 상관 관계 작업, 8비트 계산, 수많은 작업에 맞게 조정되었습니다. 선형 대수학(벡터 및 행렬 곱) 및 곱셈-누산(MAC) 연산은 모두 다음과 같은 경우에 가장 효율적입니다. 병렬화. 신경망의 런타임은 대형 벡터, 행렬 및/또는 텐서를 곱하는 것에 크게 의존하므로 DSP의 성능 이점이 다음과 같이 신경망 아키텍처로 깔끔하게 변환되는 것은 자연스러운 일입니다. 잘. 이 주제를 간단히 다시 살펴보겠습니다!

이후 몇 년 동안 Qualcomm은 자신들이 제공하지 않는 것을 계속해서 강조했습니다. 단지 칩셋이지만 모바일 플랫폼, 그리고 그들은 초점을 맞추지 않습니다 단지 특정 구성 요소를 개선하지만 "이기종" 컴퓨팅을 제공합니다. 2017년에는 Qualcomm Developer Network에서 Snapdragon Neural Process Engine SDK(런타임 가속용)를 출시했으며, 2018년 초에는 여러 AI 지원 하드웨어(CPU, GPU, DSP)와 소프트웨어 구성 요소를 단일 장치로 통합하는 Qualcomm 인공 지능 엔진을 발표했습니다. 이름. 이 유용한 명명법을 통해 그들은 Snapdragon 855와 855 모두에서 AI 성능 향상을 깔끔하게 광고할 수 있었습니다. 스냅드래곤 865, TOPS(초당 작업 수)와 전년 대비 비율을 편안하게 표시할 수 있음 개량. CPU, GPU 및 DSP의 세대별 개선을 활용합니다. 모두 AI에 초점을 맞추고 있습니다. 업그레이드 - 회사는 경쟁사와 비교하여 인상적인 벤치마크를 게시할 수 있습니다. 이에 대해 살펴보겠습니다. 곧. 회사의 최근 마케팅 노력과 이기종 컴퓨팅에 대한 통일되고 일관된 메시징을 통해 AI 브랜딩은 마침내 언론인과 기술 애호가들 사이에서 관심을 끌고 있습니다.

이해하기 쉬운 신경망: 선형 대수학의 평범한 더미

기사 후반부에서 접하게 될 많은 전문 용어를 풀기 위해서는 다음과 같은 짧은 입문서가 필요합니다. 신경망이란 무엇입니까? 그리고 더 빠르게 하기 위해 필요한 것. 나는 가능한 한 많은 전문 용어와 표기법을 피하면서 신경망의 수학적 토대 중 일부를 매우 간략하게 살펴보고 싶습니다. 이 섹션의 목적은 기본적으로 신경망이 수행하는 작업을 간단히 식별하는 것입니다. 산술 연산 이는 해당 작업을 정당화하는 이론적 기반보다는 실행됩니다(이는 훨씬 더 복잡합니다!). Qualcomm AI 엔진 업그레이드로 바로 이동하려면 다음 섹션으로 넘어가세요.

“벡터 수학은 딥러닝의 기초입니다.” – Travis Lanier, 2017 Snapdragon Tech Summit에서 Qualcomm 제품 관리 부문 수석 이사

아래에서는 매우 일반적인 피드포워드 완전 연결 신경망 다이어그램을 볼 수 있습니다. 실제로 다이어그램을 사용하면 전체 프로세스가 실제보다 조금 더 복잡해 보입니다(적어도 익숙해지기 전까지는). 우리는 순방향 전달을 계산할 것입니다. 이는 궁극적으로 네트워크가 생성할 때마다 수행하는 작업입니다. 추론, 기사의 뒷부분에서도 보게 될 용어입니다. 지금은 각 구성 요소에 대한 간략한 설명과 함께 기계와 그 부품에만 관심을 가질 것입니다.

신경망은 순차적으로 구성됩니다. 레이어, 각각은 다음과 같이 연결된 여러 개의 "뉴런"(다이어그램에서 원으로 표시됨)으로 구성됩니다. 무게 (다이어그램에서 선으로 표시됨) 일반적으로 레이어에는 세 가지 종류가 있습니다. 입력 레이어, 원시 입력을 취합니다. 숨겨진 레이어, 이전 레이어의 수학적 연산을 계산하고 출력 레이어, 최종 예측을 제공합니다. 이 경우에는 3개의 숨겨진 레이어가 하나만 있습니다. 숨겨진 유닛. 그만큼 입력 특정 차원이나 길이의 벡터, 배열 또는 숫자 목록으로 구성됩니다. 예에서 우리는 2차원 입력을 갖게 될 것입니다. [1.0, -1.0]. 여기서는 산출 네트워크의 구성은 스칼라 또는 단일 숫자(목록 아님)로 구성됩니다. 각 숨겨진 유닛은 다음과 같은 집합과 연관되어 있습니다. 무게 그리고 편향항, 각 노드 옆과 아래에 표시됩니다. 계산하려면 가중 합계 단위의 출력, 각 무게에 해당 입력을 곱한 다음 제품을 더합니다. 그런 다음 해당 곱의 합에 편향 항을 추가하여 뉴런의 출력을 생성합니다. 예를 들어, 우리의 입력으로 [1.0,-1.0], 첫 번째 숨겨진 유닛의 출력은 다음과 같습니다. 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. 간단하죠?

다이어그램의 다음 단계는 활성화 기능, 그리고 이를 통해 각 숨겨진 레이어의 출력 벡터를 생성할 수 있습니다. 우리의 경우에는 매우 인기 있고 매우 간단한 방법을 사용하겠습니다. 정류된 선형 유닛 또는 ReLU, 이는 입력 숫자를 가져와 (i) 해당 숫자가 음수인 경우 0을 출력하거나 (ii) 숫자가 양수인 경우 입력 숫자 자체를 출력합니다. 예를 들어, ReLU(-0.1) = 0, 하지만 ReLU(0.1) = 0.1. 우리가 입력한 예를 그대로 따르세요. 전파하다 첫 번째 숨겨진 유닛을 통해 우리가 계산한 1.1의 출력이 활성화 함수로 전달되어 다음을 생성합니다. ReLU(1.1)=1.1. 이 예에서 출력 레이어는 은닉 유닛처럼 기능합니다. 은닉 유닛의 출력을 가중치에 곱한 다음 바이어스 항을 추가합니다. 0.2. 마지막 활성화 함수인 계단 함수, 양수 입력을 1로, 음수 값을 0으로 바꿉니다. 네트워크의 각 작업이 어떻게 작동하는지 알면 다음과 같이 추론의 전체 계산을 작성할 수 있습니다.

이것이 피드포워드 신경망 계산의 전부입니다. 보시다시피, 작업은 거의 전적으로 제품과 숫자의 합으로 구성됩니다.. 우리의 활성화 기능 ReLU(x) 예를 들어 간단히 호출하여 매우 쉽게 구현할 수도 있습니다. 최대(x, 0), 입력이 0보다 클 때마다 x를 반환하고 그렇지 않으면 0을 반환합니다. 참고하세요 단계(x) 비슷하게 계산할 수 있습니다. 다음과 같이 훨씬 더 복잡한 활성화 함수가 존재합니다. 시그모이드 함수 아니면 그 쌍곡탄젠트, 다양한 내부 계산이 포함되며 다양한 목적에 더 적합합니다. 여러분이 이미 알아차리기 시작할 수 있는 또 다른 사실은 우리도 또한 세 개의 숨겨진 유닛의 계산과 ReLU 애플리케이션을 병렬로 실행할 수 있습니다., 출력 노드에서 가중치 합을 계산할 때까지 해당 값이 동시에 필요하지 않기 때문입니다.

하지만 여기서 멈출 필요는 없습니다. 위에서는 동일한 계산을 볼 수 있지만 이번에는 대신 행렬 및 벡터 곱셈 연산으로 표현되었습니다. 이 표현에 도달하기 위해 입력 벡터에 1.0(밝은 색조)을 추가하여 입력 벡터를 "증가"합니다. 위에 표시된 것처럼 행렬의 가중치와 편향(밝은 색상)을 사용하면 결과 곱셈으로 동일한 은닉 단위가 생성됩니다. 출력. 그런 다음 출력 벡터에 요소별로 ReLU를 적용한 다음 ReLU 출력을 "증가"하여 출력 레이어의 가중치와 편향을 곱할 수 있습니다. 전체 은닉층의 매개변수(가중치 및 편향)를 단일 변수 아래에 넣을 수 있으므로 이 표현은 표기법을 크게 단순화합니다. 하지만 우리에게 가장 중요한 것은 다음과 같습니다. 네트워크의 내부 계산은 본질적으로 행렬과 벡터 곱셈 또는 내적입니다. 이러한 벡터와 행렬의 크기가 입력의 차원과 네트워크의 매개변수 수에 따라 어떻게 확장되는지를 고려하면 대부분의 런타임은 이러한 종류의 계산을 수행하는 데 소비됩니다. 선형 대수학의 무리!

물론 우리의 장난감 예는 다음과 같습니다. 매우 범위가 제한되어 있습니다. 실제로 최신 딥 러닝 모델에는 수백 개는 아니더라도 수십 개의 숨겨진 레이어와 수백만 개의 관련 매개 변수가 있을 수 있습니다. 2차원 벡터 입력 예제 대신 수천 개의 항목이 있는 벡터를 사용할 수 있습니다. 행렬(예: 단일 채널 이미지) 또는 텐서(3채널 RGB)와 같은 다양한 모양으로 이미지). 또한 원래 입력에 행을 추가하면 행렬 표현이 여러 입력 벡터를 동시에 받아들이는 것을 막을 수 없습니다. 신경망은 피드포워드 신경망과 다르게 "연결"되거나 다른 활성화 기능을 실행할 수도 있습니다. 네트워크 아키텍처와 기술은 엄청나게 많지만 결국에는 주로 장난감 예제에서 볼 수 있는 것과 동일한 병렬 산술 연산을 훨씬 더 큰 규모로 분해합니다.

텐서에서 작동하는 컨볼루션 레이어의 시각적 예입니다. (이미지 출처: 데이터 과학을 향하여)

예를 들어, 인기 있는 CNN(컨벌루션 신경망) 당신이 읽었을 것 같은 것은 우리의 모의 네트워크처럼 "완전히 연결"되지 않았습니다. 숨겨진 "가중치" 또는 매개변수 컨벌루션 레이어 일종의 필터, 즉 위에 표시된 대로 입력의 작은 패치에 순차적으로 적용되는 슬라이딩 윈도우로 생각할 수 있습니다. 이 "컨볼루션"은 실제로는 슬라이딩 내적에 불과합니다! 이 절차를 통해 흔히 발생하는 현상이 발생합니다. 기능 맵. 풀링 레이어는 이미지의 작은 패치의 최대값 또는 평균값을 계산하여 입력 또는 컨벌루션 레이어의 출력 크기를 줄입니다. 네트워크의 나머지 부분은 일반적으로 우리 예와 같은 완전 연결 레이어와 ReLU와 같은 활성화 기능으로 구성됩니다. 이는 초기 컨볼루션 레이어의 특징 맵이 "감지"할 수 있는 이미지의 특징 추출에 자주 사용됩니다. 선이나 가장자리와 같은 패턴과 이후 레이어는 얼굴이나 복잡한 특징과 같은 더 복잡한 특징을 감지할 수 있습니다. 모양.

말한 내용은 모두 추론으로 엄격히 제한됨또는 다음을 통해 매개변수를 찾은 후 신경망을 평가합니다. 훈련 이는 훨씬 더 복잡한 절차입니다. 그리고 다시 말하지만, 우리는 많은 설명을 제외했습니다. 실제로 네트워크의 각 구성 요소는 목적을 위해 포함됩니다. 예를 들어, 선형 대수학을 공부한 분들은 별도의 설명 없이도 이를 쉽게 관찰할 수 있습니다. 비선형 활성화 함수를 사용하면 네트워크가 예측이 매우 제한된 선형 모델로 단순화됩니다. 용량.

Snapdragon 865의 업그레이드된 AI 엔진 - 개선 사항 요약

신경망의 구성 요소와 수학적 연산을 쉽게 이해하면 하드웨어 가속이 왜 중요한지 정확히 이해할 수 있습니다. 마지막 섹션에서는 병렬화가 네트워크 속도를 높이는 데 필수적이라는 점을 확인할 수 있습니다. 예를 들어 각 뉴런에 해당하는 여러 병렬 내적을 계산할 수 있습니다. 활성화. 이러한 내적 각각은 숫자에 대한 곱셈-덧셈 연산으로 구성되며, 일반적으로 모바일 애플리케이션의 경우 8비트 정밀도를 사용하며 이는 가능한 한 빨리 발생해야 합니다. AI 엔진은 개발자의 성능 및 전력 효율성 고려 사항에 따라 이러한 작업을 오프로드하기 위한 다양한 구성 요소를 제공합니다.

올해 Snapdragon Summit 무대에 전시된 인기 있는 MNIST 데이터세트에 대한 CNN 다이어그램. 벡터 처리 장치는 모의 예제와 같이 완전 연결 레이어에 적합합니다. 한편, 텐서 프로세서는 다중 슬라이딩을 처리하는 컨벌루션 및 풀링 레이어를 처리합니다. 위의 다이어그램과 같이 병렬로 커널을 생성하며 각 컨볼루셔널 레이어는 많은 개별 기능을 출력할 수 있습니다. 지도.

먼저, 우리가 흔히 3D 게임에서 이야기하는 GPU에 대해 살펴보겠습니다. 비디오 게임 소비자 시장은 수십 년 동안 그래픽 처리 하드웨어의 개발을 촉진해 왔지만 신경망에서 GPU가 왜 그렇게 중요한가요? 우선, 그들은 게임 내 세계 상태를 추적하기 위해 다각형 정점의 방대한 3D 좌표 목록을 한 번에 씹어봅니다. GPU는 또한 이러한 3D를 변환(또는 매핑)하기 위해 거대한 행렬 곱셈 작업을 수행해야 합니다. 2D 평면의 화면 좌표로 좌표를 지정하고 픽셀의 색상 정보도 처리합니다. 평행한. 무엇보다도 게임 내 형상에 오버레이된 텍스처 비트맵에 대한 대규모 메모리 버퍼를 처리할 수 있는 높은 메모리 대역폭을 제공합니다. 병렬화, 메모리 대역폭 및 그에 따른 선형 대수 기능의 이점은 신경망의 성능 요구 사항과 일치합니다.

따라서 Adreno GPU 라인은 Qualcomm AI 엔진에서 큰 역할을 하며, 무대에서 Qualcomm은 Snapdragon 865의 이 업데이트된 구성 요소를 통해 부동 소수점 기능이 2배 증가 그리고 TOPS 수의 두 배 이전 세대에 비해 그래픽 렌더링 성능이 25% 향상되었다는 점을 고려하면 놀라운 결과입니다. 그럼에도 불구하고 이번 릴리스에서 회사는 산술 논리 장치(ALU) 수 50% 증가, 평소와 같이 GPU 주파수를 공개하지 않았습니다. Qualcomm은 혼합 정밀도도 나열했습니다. 지침, 이는 말 그대로 단일 계산 방법의 작업 전반에 걸쳐 수치 정밀도가 다릅니다.

Hexagon 698 DSP는 Snapdragon 865가 제공하는 성능 향상의 상당 부분을 볼 수 있는 곳입니다. 올해 회사는 DSP의 벡터 확장(작년 855에서 성능이 4배 증가)이나 스칼라 단위의 개선 사항을 알리지 않았습니다. 그러나 그들은 이 블록의 Tensor Accelerator를 통해 다음과 같은 목표를 달성했다는 점에 주목합니다. TOP의 4배 작년에 출시된 Hexagon 695 DSP 버전과 비교하면 다음과 같은 기능도 제공할 수 있습니다. 35% 향상된 전력 효율성. 이미지 객체 감지부터 자동 음성 인식에 이르기까지 현대 AI 사용 사례에서 컨볼루션 신경망 아키텍처가 널리 보급되어 있다는 점을 고려하면 이는 큰 문제입니다. 위에서 설명한 것처럼 이러한 네트워크의 컨벌루션 작업은 다음을 위한 행렬 출력의 2D 배열을 생성합니다. 각 필터는 함께 쌓일 때 컨볼루션 레이어의 출력이 3D 배열이거나 텐서.

Qualcomm은 또한 "새롭고 독특한" 것을 홍보했습니다. 딥 러닝 대역폭 압축 분명히 할 수 있는 기술 약 50% 정도 무손실로 데이터 압축, 결과적으로 데이터의 절반을 이동하고 칩셋의 다른 부분에 대한 대역폭을 확보합니다. 또한 데이터 처리량을 줄여 전력을 절약해야 합니다. 하지만 수치는 제공되지 않았으며 데이터를 압축하는 데에도 전력 비용이 적습니다.

대역폭 측면에서 Snapdragon 865는 다음을 지원합니다. LPDDR5 메모리이는 리소스와 입력 데이터가 전송되는 속도를 높여 AI 성능에도 도움이 됩니다. 하드웨어를 넘어 Qualcomm의 새로운 AI 모델 효율성 툴킷 개발자는 모델을 쉽게 압축하여 전력 효율성을 절감할 수 있습니다. 신경망에는 종종 "중복" 매개변수가 많이 있습니다. 예를 들어 숨겨진 레이어를 필요한 것보다 더 넓게 만들 수 있습니다. 무대에서 논의된 AI 툴킷 기능 중 하나는 다음과 같습니다. 모델 압축, 인용된 방법 중 두 가지는 공간 특이값 분해(SVD)와 베이지안 압축입니다. 중복 노드를 제거하고 모델 구조를 다음과 같이 조정하여 신경망을 효과적으로 정리합니다. 필수의. 무대에서 제시된 다른 모델 압축 기술은 양자화와 관련이 있으며 여기에는 가중치 매개변수의 수치 정밀도 변경과 활성화 노드 계산이 포함됩니다.

신경망 가중치의 수치 정밀도는 계산에 사용되는 수치 값이 64, 32, 16(반정밀도) 또는 8비트 값으로 저장, 전송 및 처리되는지를 나타냅니다. 낮은 수치 정밀도(예: INT8 대 FP32)를 사용하면 전체 메모리 사용량과 데이터 전송 속도가 줄어들어 더 높은 대역폭과 더 빠른 추론이 가능해집니다. 오늘날의 많은 딥 러닝 애플리케이션은 추론을 위해 8비트 정밀 모델로 전환했습니다. 놀라운 점: 수치 정확도가 높을수록 분류나 회귀에서 더 "정확한" 예측이 가능하지 않을까요? 작업? 반드시 그런 것은 아닙니다. 신경망이 시끄러운 입력에 대처하도록 훈련되므로 특히 추론 중에 더 높은 수치 정밀도가 낭비될 수 있습니다. 어쨌든 훈련 전반에 걸쳐 작은 교란이 발생하며 주어진 (FP) 값의 하위 비트 표현 오류는 균일하게 '무작위'입니다. 충분한. 어떤 의미에서 계산의 정밀도가 낮은 것은 네트워크에서 또 다른 잡음 원인으로 처리되며 예측은 계속 사용 가능합니다. 경험적 설명은 제쳐두고, 모델을 형편없이 양자화하면 정확도가 저하될 가능성이 높습니다. 몇 가지 중요한 고려사항을 고려하지 않은 채 주제

Qualcomm AI Toolkit으로 돌아가서: 이를 통해 그들은 다음을 제공합니다. 데이터 없는 양자화, 데이터나 매개변수의 미세 조정 없이 모델을 양자화하는 동시에 다양한 작업에서 원본에 가까운 모델 성능을 달성할 수 있습니다. 본질적으로 이는 양자화를 위해 가중치 매개변수를 조정하고 낮은 정밀도 가중치로 전환할 때 발생하는 편향 오류를 수정합니다. 양자화로 인해 발생하는 이점을 고려할 때 API 호출로 절차를 자동화하면 모델 생산 및 배포가 단순화될 것이며 Qualcomm은 주장합니다. 와트당 성능이 4배 이상 향상됨 양자화된 모델을 실행할 때.

그러나 다시 한번 말씀드리지만, 이는 놀라운 일이 아닙니다. 양자화 모델은 엄청난 대역폭과 저장 공간 이점을 제공할 수 있습니다. 모델을 INT8로 변환하면 대역폭이 4배 감소할 뿐만 아니라 정수 계산 속도가 빨라지는 이점도 있습니다(하드웨어에 따라 다름). 그렇다면 양자화와 수치 계산 모두에 대한 하드웨어 가속 접근 방식이 엄청난 성능 향상을 가져온다는 것은 당연합니다. 그의 블로그에서예를 들어, Google의 Pete Warden은 Qualcomm과 Tensorflow 팀 간의 협력을 통해 8비트 모델을 최대 7배 더 빠르다CPU보다 HVX DSP에서. 특히 Qualcomm이 INT8 성능에 중점을 둔 방식을 고려할 때 사용하기 쉬운 양자화의 잠재력을 과장하기는 어렵습니다.

Snapdragon 865의 ARM 기반 Kryo CPU는 여전히 AI 엔진의 중요한 구성 요소입니다. 위 단락에서 설명한 하드웨어 가속이 더 바람직하더라도 때로는 이러한 블록을 적절하게 활용하지 못하는 애플리케이션을 피할 수 없어 CPU가 대체. 과거에 ARM은 행렬 및 벡터 기반 계산을 가속화하기 위한 특정 명령어 세트를 도입했습니다. ARMv7 프로세서에서는 DSP와 유사한 명령어를 지원하는 SIMD 아키텍처 확장인 ARM NEON이 도입되었습니다. 그리고 ARMv8.4-A 마이크로아키텍처에서는 특히 내적을 위한 명령어가 도입되었습니다.

게시된 이러한 모든 성능 향상은 이전 섹션에서 설명한 많은 작업 부하와 관련이 있지만 이러한 Snapdragon 865 업그레이드는 다음과 같습니다. 최신 것만 Qualcomm의 AI 기능이 향상되었습니다. 2017년에 우리는 Hexagon 685 DSP 및 기타 칩셋 업데이트를 통해 AI 기능이 3배 증가했다는 사실을 기록했습니다. 작년에 그들은 하드웨어 수준에서 텐서 가속기와 앞서 언급한 ReLU!와 같은 비선형 기능에 대한 통합 지원을 도입했습니다. 또한 벡터 가속기의 수를 두 배로 늘리고 스칼라 처리 장치의 성능을 20% 향상시켰습니다. 이 모든 기능을 ARM이 제공하는 더 빠른 내적 연산, GPU의 추가 ALU 등 CPU 측면의 향상된 기능과 결합하여 Qualcomm은 궁극적으로 3배로 증가 원시 AI 기능도 마찬가지입니다.

실질적인 이점 및 확장된 사용 사례

이러한 모든 업그레이드로 인해 스냅드래곤 865의 AI 기능은 불과 2년 전보다 5배 향상되었습니다. 아마도 가장 중요한 것은 모바일의 중요한 지표인 밀리와트당 성능이 향상되었다는 점일 것입니다. 장치. Snapdragon Summit 2019에서 Qualcomm은 AI 엔진을 다양한 분류 네트워크의 두 경쟁업체와 비교하는 몇 가지 벤치마크를 제공했습니다. 이 수치는 Apple의 A 시리즈 및 Huawei의 HiSilicon 프로세서와 비교할 수 있는 크로스 플랫폼 벤치마킹 애플리케이션인 AIMark를 사용하여 수집된 것으로 보입니다. Qualcomm은 이러한 결과가 전체 AI 엔진을 활용한다고 주장하며 더 많은 결과가 나올 때까지 기다려야 합니다. 각 구성 요소의 효과를 적절하게 분리하고 이러한 테스트가 어떻게 진행되었는지 확인하기 위한 철저한 벤치마킹 실시. 예를 들어, B 회사의 결과는 CPU 폴백을 나타냅니까? 예를 들어 내가 아는 한 AIMark는 현재 Mate 30 Pro 장치에서 Kirin 990의 NPU를 활용하지 않습니다. 하지만 Snapdragon 신경 처리 엔진을 지원하므로 확실히 Qualcomm AI 엔진을 활용할 수 있습니다. 내부 테스트이기 때문에 벤치마크가 경쟁사에 적합한 라이브러리나 SDK를 올바르게 활용하고 있는지 명시적으로 명확하지 않습니다.

또한 Qualcomm은 Snapdragon 865의 AI 처리 기능을 이전에 발표했거나 출시된 칩셋과 효과적으로 비교하고 있다고 말할 수 있습니다. 경쟁업체가 다음 주기에도 비슷한 영향을 미치는 성능 개선을 가져올 가능성이 매우 높습니다. 이 경우 Qualcomm은 Snapdragon 865 장치가 출시된 순간부터 약 반년 동안만 왕좌를 유지하게 됩니다. 즉, 이는 여전히 Snapdragon 865에서 기대할 수 있는 일종의 충돌을 나타냅니다. Qualcomm은 일반적으로 향후 릴리스의 성능 개선 사항과 벤치마크 결과를 매우 정확하게 전달했습니다.

이 벤치마크에 제시된 모든 네트워크는 ImageNet과 같은 데이터베이스의 이미지를 분류하여 입력으로 수신하고 수백 개의 카테고리 중 하나를 출력합니다. 다시 말하지만, 두 번째 섹션에서 설명한 것과 동일한 종류의 작업에 의존하지만 아키텍처는 매우 다양합니다. 이러한 예보다 더 복잡하며 출판 당시에는 최첨단 솔루션으로 간주되었습니다. 최선의 경우, 가장 가까운 경쟁자는 초당 추론 횟수의 절반 미만을 제공합니다.

전력 소비 측면에서 Qualcomm은 주어진 전력량에서 가능한 AI 처리량을 보여주기 위해 와트당 추론을 제공했습니다. 최상의 경우(MobileNet SSD)에서 Snapdragon AI 엔진은 동일한 전력 예산 하에서 두 배의 추론 수를 제공할 수 있습니다.

모바일 장치에서는 전력이 특히 중요합니다. 예를 들어 신경망 기반 Snapchat 필터를 생각해 보세요. 현실적으로 컴퓨터 비전 파이프라인은 얼굴 정보를 추출하고 마스크나 입력을 적용합니다. 변환은 유동적인 결과를 얻기 위해 초당 30~60회의 완료 속도로만 실행하면 됩니다. 경험. 원시 AI 성능을 높이면 더 높은 해상도의 입력을 사용하고 더 보기 좋은 필터를 출력할 수 있지만 또한 더 빠른 업로드를 위해 HD 해상도에 만족하고 전력 소비 및 열 조절을 줄이는 것이 더 좋습니다. 많은 애플리케이션에서 "더 빠른" 것이 반드시 "더 나은" 것은 아니며, 그러면 향상된 전력 효율성의 이점을 얻을 수 있습니다.

Snapdragon Summit 2일차에는 Snapchat의 Yurii Monastyrshyn 엔지니어링 수석 이사가 무대에 올라 어떻게 최신 딥 러닝 기반 필터는 Snapdragon의 Hexagon 695 DSP를 사용하는 Hexagon Direct NN에 의해 ​​크게 가속화됩니다. 865.

게다가, 개발자가 더 쉬운 신경망 구현에 액세스할 수 있게 되면서 더 많은 애플리케이션이 AI 기술을 사용하기 시작하면 스마트폰이 여러 가지 작업을 처리해야 하므로 동시성 사용 사례가 더욱 주목을 받게 될 것입니다. 한 번에 병렬 AI 파이프라인(다양한 소스의 입력 신호를 처리하는 단일 애플리케이션 또는 개별적으로 실행되는 많은 애플리케이션용) 온디바이스). 컴퓨팅 DSP, GPU 및 CPU 전반에 걸쳐 전력 효율성이 상당히 향상되는 반면, Qualcomm Sensing Hub는 상시 사용 사례를 처리하여 매우 낮은 전력 소비로 트리거 단어를 수신합니다. 1mA 미만의 전류에서 오디오, 비디오 및 센서 피드를 모니터링할 수 있어 장치가 익숙한 디지털 보조 키워드 외에 특정 소리 신호(예: 아기 우는 소리)를 감지할 수 있습니다. 그 점에서 Snapdragon 865는 키워드뿐만 아니라 해당 키워드를 말하는 사람도 감지하여 승인된 사용자를 식별하고 그에 따라 행동할 수 있도록 합니다.

엣지 디바이스에 더 많은 AI 제공

이러한 개선은 궁극적으로 사용자 경험에 대한 실질적인 이점으로 이어질 수 있습니다. 번역, 객체 인식 및 라벨링, 용도 예측 또는 품목 추천과 관련된 서비스, 자연어 이해, 음성 구문 분석 등은 더 빠르게 작동하고 더 적은 비용을 소비하는 이점을 얻습니다. 힘. 컴퓨팅 예산이 높으면 새로운 사용 사례와 경험을 창출하고 클라우드에서 발생했던 프로세스를 장치로 이동할 수도 있습니다. 과거에는 AI라는 용어가 모호하고, 기만적이며, 심지어 잘못된 방식으로 사용되었지만(OEM에서도), 오늘날 여러분이 즐기는 많은 서비스는 궁극적으로 어떤 형태로든 기계 학습 알고리즘에 의존합니다. 또 다른.

그러나 Qualcomm 외에도 다른 칩셋 제조업체들도 이 분야를 빠르게 반복하고 개선해 왔습니다. 예를 들어, 990 5G는 2+1 NPU 코어 설계를 도입하여 Kirin 980보다 최대 2.5배, Apple A12보다 2배 향상된 성능을 제공합니다. 프로세서가 발표되었을 때 초당 최대 두 배의 프레임(추론)을 제공하는 것으로 나타났습니다. INT8 MobileNet의 Snapdragon 855는 Qualcomm이 제공한 결과와 일치하기 어렵습니다. 반면, Apple A13 Bionic은 이전 제품보다 6배 더 빠른 행렬 곱셈을 제공하고 8코어 신경 엔진 설계를 개선한 것으로 알려졌습니다. 현재 및 미래의 경쟁사와 비교하여 상업용 장치에서 Snapdragon 865를 적절하게 테스트할 수 있을 때까지 기다려야 하지만 세 회사가 AI 개선을 위해 엄청난 양의 자원을 쏟아부었기 때문에 이 분야의 경쟁은 결코 멈추지 않을 것입니다. 성능.