산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 감지기

자율주행차의 두뇌: AI가 현대 자동차를 구동하는 방식

자율주행차(AV)나 첨단 운전자 보조 시스템(ADAS)을 갖춘 차량은 다수의 카메라, 라이다, 레이더, 때로는 소나 등 수많은 센서로부터 데이터를 수집합니다. 이 센서 배열에서 쏟아지는 데이터 스트림을 처리하는 것은 방대하면서도 동시에 중요한 과제입니다. 모든 데이터는 완벽한 인간 운전자만큼이나 안전하게 주행할 수 있도록 실시간으로 정보로 변환되어야 합니다. "도로에서 인간 운전자는 현재 주변 환경을 경계하고, 다른 운전자와 상호작용하며, 결정을 내립니다. 인간 운전자처럼 자율주행차도 인지하고, 상호작용하며, 결정해야 합니다. 나아가 자율주행차는 탑승자와 좋은 관계를 형성해야 합니다."1

이러한 기능은 인공지능(AI)에 의존하여 다양한 센서의 데이터를 융합하고, 차량과 동적 환경에 대한 즉각적인 그림을 생성합니다. 이 과정을 센서 융합(Sensor Fusion)이라고 합니다. 자동차 용도에 최적화하려면 AI가 심층 신경망(DNN)을 사용해야 합니다. 인간의 뇌가 정보를 처리하는 방식을 모델로 한 DNN은 프로그래머가 지시하는 것이 아니라 경험을 통해 학습함으로써 실제 주행 세계를 탐색하는 법을 익힙니다. DNN은 여러 입력을 받아 각각에 다른 가중치를 부여하고 추론을 도출합니다. 이 모든 것을 '실시간'으로 수행하려면 매우 고성능이면서도 에너지 효율적인 컴퓨팅 플랫폼이 필요하며, 처리 가속기를 사용하면 속도를 높일 수 있습니다.

AI를 행동으로 전환하기

자동차 AI를 위한 고성능 플랫폼에 어떤 요소들이 들어가는지 알아보기 위해, CEVA의 길 아브라함(Gil Abraham)을 인터뷰하여 그들의 구현 도구에 대해 물었습니다.

CEVA의 비전 및 AI 사업부는 아브라함이 '세 가지 기둥'이라 부르는 요소들을 갖추고 있습니다: AI 프로세서인 뉴로프로-M(NeuPro-M), 고성능 센서 허브 디지털 신호 프로세서(DSP)인 센스프로(SensPro), 그리고 CDNN-인바이트(CDNN-Invite) 소프트웨어입니다. CDNN-인바이트는 제조사가 독자적인 DNN 가속기를 입력하여 CEVA의 뉴로프로-M AI 프로세서 및 센스프로 DSP와 협업하게 하고, 동일한 메모리와 흐름 소프트웨어 개발 키트(SDK)로 중앙에서 관리할 수 있는 통합 시스템을 구현합니다.

센스프로 DSP는 다중 라이다, 레이더, 카메라 등 다양한 센서로부터 입력을 받아 신호 처리를 수행하고 이들을 컨볼루션(Convolution)합니다. 여러 센서의 입력을 모아 하나의 그림으로 만드는 센서 융합 과정입니다. 이는 각 센서마다 고유한 한계가 있기 때문에 자동차 용도로 매우 중요합니다.

예를 들어:

센스프로 DSP는 이러한 입력뿐만 아니라 ToF(Time of Flight) 센서, IMU(관성 측정 장치) 등도 받아 SLAM(동시 위치 추정 및 지도 작성) 알고리즘을 효율적으로 처리하여 '상황 인식(Contextual Awareness)'을 생성합니다. 이는 자동차와 환경의 전체 상황을 보여주는 완전한 그림입니다. 필요시 전용 명령어 세트를 하드웨어에 추가하여 특정 처리를 추가로 가속할 수도 있습니다.

시스템 통합

뉴로프로-M은 자율주행차 기능의 주요 과제들을 해결합니다: 고속 및 저지연 확장 가능 동작, 저전력 동작, 높은 보안, 그리고 양산 도로 차량의 안전 관련 전기/전자 시스템에 대한 ISO 26262 기능 안전 표준 요구사항 충족. 또한 확장 가능하여 단일 센서, 센서 클러스터(존), 혹은 자동차의 엔진 제어 유닛(ECU)에 내장되는 형태 등으로 사용할 수 있습니다.

고성능 자동차 AI 플랫폼의 아키텍처

CEVA 뉴로프로-M AI 프로세서의 기능은 고수준 주행 결정을 내리는 것입니다. 이 결정들은 상황 정보를 제공하는 DNN 입력에 기반합니다: 마주 오는 차가 있는가? 차선을 유지하고 있는가? 절대 위치(SLAM)는 어디인가?

뉴로프로-M AI 프로세서는 수신한 정보를 바탕으로 어떤 행동을 취할지 결정하는 의사결정자입니다. AI는 결정을 내리기 위해 막대한 연산량을 필요로 하며, 이는 실시간에 근접하게 수행되어야 합니다. 따라서 강력한 프로세서가 필요합니다. 자동차 애플리케이션에서는 전력 소모 최소화도 필수적입니다. 연산량이 늘고 수행 시간이 짧아질수록 전력 소모가 증가하기 때문입니다. 프로세서 성능을 한 숫자로 요약하면: 와트당 테라 연산 횟수(TOPS/watt) — 숫자가 높을수록 성능이 좋습니다. 뉴로프로-M의 전력 효율은 24 TOPS/watt로, 대부분의 다른 자동차 AI 프로세서보다 현저히 높습니다.

보안은 최우선 과제입니다. 사실 보안과 안전이 자동차 애플리케이션의 가장 중요한 요구사항이라고 할 수 있습니다. 자율주행차의 AI 프로세서는 운전자 역할을 합니다. AI 처리를 수행하는 신경망은 각 입력에 가중치를 부여하는데, 이 가중치는 악의적 변조에 취약합니다. 따라서 보안 시스템은 이러한 공격을 방어하기 위해 프로세서의 필수적인 구성 요소입니다.

성능 최적화

성능 최적화를 위해 인식해야 할 것은 프로세서가 아무리 빨라도, 정보를 프로세서로 이동시키는 대역폭 제한(주로 메모리 측면의 시스템 인터페이싱 제한) 때문에 병목이 발생할 수 있다는 점입니다. 연산 유닛은 메모리에 방대한 데이터를 저장하고 가져오는 시간보다 훨씬 빠르게 작동합니다. 이를 해결하는 한 가지 방법은 특정 연산을 위해 충분한 정보가 모일 때까지 기다리는 대신, 데이터를 프로세서로 지속적으로 흘려보내는 것입니다.

또 다른 최적화 방법은 적응형 모듈러 토폴로지를 사용하는 것입니다. 프로세서 토폴로지를 다양한 센서 유형 처리와 연산 유형에 맞게 최적화할 수 있습니다. 예를 들어 파워트레인 효율 최적화처럼 많은 수학 연산이 필요한 기능이 있는가 하면, 단일 센서 처리만 필요한 경우도 있습니다.

매우 정확한 계산이 필요하면 벡터 프로세서 내부에서 고정소수점 대신 부동소수점 연산을 사용할 수 있습니다. 대역폭 감소를 위한 또 다른 방법은 데이터를 압축하여 시스템 내 데이터 이동량을 줄이는 것입니다. 이는 소프트웨어적 해결책이지만, DSP와 AI 프로세서 자체를 최적화하기 위해 각 영역의 병목 지점을 심층 분석하여 해결해야 합니다.

병렬 처리

자율주행차의 두뇌: AI가 현대 자동차를 구동하는 방식

뉴로프로-M(NPM) 프로세서는 세 부분으로 구성됩니다(그림 2 참조): 마스터 컨트롤러, NPM 공통 서브시스템, NPM 엔진. 프로세서는 애플리케이션 필요에 따라 1개에서 8개까지 엔진을 포함할 수 있습니다. 엔진 수를 선택함으로써 프로세서 동작을 확장할 수 있습니다. "이렇게 더 많은 마력을 얻습니다."라고 아브라함은 말합니다.

NPM 공통 서브시스템은 NPM 엔진과 끊임없이 통신합니다. 이 채널은 병목이 되지 않도록 모니터링되어 데이터가 시스템으로 계속 유입되도록 보장합니다. 추론 AI는 두 데이터셋으로 작동합니다: 데이터 자체(예: 이미지)와 추론을 위해 데이터에 적용되는 가중치. 공통 서브시스템은 데이터와 가중치 모두에 압축을 적용하여 채널을 열어둡니다.

병렬 처리는 여러 엔진을 사용하는 것과, 각 엔진 내에 5개의 코프로세서와 공유 내부 메모리를 포함하는 코프로세서를 활용하는 것, 두 가지 수준에서 구현됩니다.

자율주행차의 두뇌: AI가 현대 자동차를 구동하는 방식

예시: 4엔진 NPM으로 차량 제어

그림 3은 병렬 처리의 간단한 자동차 애플리케이션을 보여줍니다. 그림 좌측은 전방 카메라로 촬영한 도로 이미지입니다. 차량 내 프로세서는 연산량을 줄이기 위해 대향 차선을 차단하고 이미지를 메모리에 저장합니다. 저장된 이미지는 차량 메모리에서 NPM 공통 서브시스템으로 입력되며, 이 예시에서는 4개 엔진을 지원합니다. 소프트웨어는 사용 사례(필요한 기능)를 결정하고, 원하는 기능에 대해 최대 성능과 최소 전력(높은 활용도)을 얻기 위해 이미지를 어떻게 분할할지 결정합니다. 여기서는 이미지를 약간의 겹침 영역을 두고 4등분하여 각 엔진에 보냅니다. 각 도로 세그먼트에서 AI 추론이 실행됩니다. 4개 세그먼트는 다시 서브시스템 메모리에서 결합되어 SoC 내 다른 곳의 인식 계층으로 출력되어 원하는 작업을 수행합니다.

이 예시는 두 수준의 병렬 처리를 보여줍니다: 4개 엔진이 이미지의 다른 세그먼트를 처리하는 1차 병렬 처리, 그리고 각 엔진 내부에서 5개 내부 코프로세서 간 연산을 공유하는 2차 병렬 처리.

소프트웨어를 통한 최적화

AI 기능은 주로 컨볼루션(Convolution)을 통해 수행됩니다. 컨볼루션은 두 함수에 대한 수학적 연산으로, 한 함수의 형태가 다른 함수에 의해 어떻게 변형되는지를 표현하는 세 번째 함수를 생성합니다. 수학자 슈무엘 위노그라드(Shmuel Winograd)는 일반적인 단계의 절반만으로 컨볼루션을 수행하는 새로운 방법을 고안했습니다. CEVA는 이 이론적 아이디어를 프로세서에 구현하여 일반 컨볼루션과 동일한 정밀도를 달성하면서 약 2배 가속(성능 향상 및 전력 감소)을 실현했습니다. 이는 엔진 내 5개 코프로세서 각각에서 수행 가능합니다.

또 다른 기법은 애플리케이션에 최적인 데이터 유형에 따라 다르게 연산하는 것입니다. 예를 들어 SLAM(동시 위치 추정 및 지도 작성)은 매우 높은 정확도가 필요하므로 부동소수점 연산을 사용해야 합니다. 다른 애플리케이션에서는 고정 비트 수가 완벽할 수 있습니다. 이렇게 자동차 제조사는 차량 내 각 기능에 가장 적합한 계산 방식을 선택할 수 있습니다.

소프트웨어 조작과 하드웨어 최적화를 모두 활용하면 상당한 가속을 얻을 수 있습니다. 아브라함에 따르면 뉴로프로-M으로 최대 16배 가속이 가능합니다.

요약

이 글은 다양한 센서(레이더, 라이다, 소나, 카메라)로부터 데이터를 처리하고 결정을 내리는 특정 AI 프로세서의 내부 동작을 개괄했습니다. NPM은 이종 프로세서로, 다양한 데이터 유형에서 동작하고 두 수준의 병렬 처리 및 표적화된 소프트웨어 설계를 통해 TOPS/watt로 측정된 연산을 최적화할 수 있습니다.

  1. 팡 첸(PhD), SAE Edge Research Report — Unsettled Issues in Vehicle Autonomy, Artificial Intelligence, and Human-Machine Interaction.

이 기사는 센서 기술 편집장 에드 브라운(Ed Brown)이 작성했습니다. 자세한 정보는 여기를 방문하거나 이메일(자바스크립트 필요)로 문의하세요.

감지기

  1. 리테일 인공지능: 일시적 유행 아닌 검증된 혜택
  2. 인공지능이 사물인터넷의 힘을 증폭시키는 방식
  3. AI가 IoT 환경을 변화시키는 방식
  4. AI, 머신러닝, 딥러닝 설명: 주요 차이점과 작동 원리
  5. AI 최적 활용처 발굴: 효율성과 혁신 극대화
  6. AI가 제조·가공 산업을 혁신하는 방식: 맷 댄포드 인터뷰
  7. AI 기반 로보틱스: 최첨단 지능형 기계
  8. 여행 산업을 변화시키는 AI 어시스턴트: 내일의 지능형 솔루션 수용
  9. 센서가 제조 효율성과 인사이트를 변화시키는 방법
  10. AI: 사이버 위협에 맞서는 최고의 방어 수단