AI 및 로봇 공학
Tesla는 차량, 로봇 등의 분야에서 대규모의 자율 주행 기술을 개발하고 배포합니다. Tesla는 효율적인 추론 하드웨어 사용으로 뒷받침되는 비전 및 플래닝을 위한 첨단 AI 기반 접근 방식이야말로 풀 셀프 드라이빙과 이족 보행 로봇 공학 및 기타 기술에 대한 해결책을 찾을 수 있는 유일한 방법이라고 생각합니다.
Tesla Optimus
안전하지 않거나 반복적이거나 지루한 작업을 수행할 수 있는 범용 이족 보행 휴머노이드 로봇을 개발합니다. 최종 목표를 달성하기 위해서는 물리적 세계와의 균형, 탐색, 인식 및 상호 작용을 가능하게 해주는 소프트웨어 스택을 구축해야 합니다. Tesla는 가장 어려운 엔지니어링 과제 해결을 위해 딥 러닝, 컴퓨터 비전, 모션 플래닝, 제어, 기계 및 일반 소프트웨어 엔지니어를 고용하고 있습니다.
풀 셀프 드라이빙 칩
와트당 최대 실리콘 성능을 발휘하면서 모든 소형 아키텍처 및 마이크로 아키텍처 개선을 고려하여 풀 셀프 드라이빙 소프트웨어를 실행하는 AI 추론 칩을 개발합니다. 설계에 대한 평면도, 타이밍 및 전력 분석을 수행합니다. 강력한 테스트와 스코어보드를 작성하여 기능 및 성능을 검증합니다. 성능 최적화 및 이중화에 중점을 두고 칩을 프로그래밍하고 통신할 수 있는 드라이버를 구현합니다. 마지막으로, 실리콘 칩을 검증하여 Tesla 차량에서 대량 생산할 수 있도록 합니다.
신경망(Neural Network)
인지부터 제어까지 다양한 과제를 다루는 심층 신경망을 최첨단 연구 성과를 바탕으로 학습시킵니다. 차량에 장착된 각 카메라 전용 신경망이 카메라로부터 들어오는 원시 영상을 분석하여, 시맨틱 분할, 객체 인식 및 단안 깊이 추정을 수행합니다. Tesla의 버드아이뷰 신경망은 모든 카메라로부터 입력되는 영상을 통합해, 도로 레이아웃과 고정 인프라, 3D 객체를 상방(top-down) 시점에서 직접 산출합니다. 전 세계 수백만 대 규모 차량 플릿에서 실시간으로 수집되는 가장 복잡하고 다양한 주행 상황을 반복 학습함으로써, Tesla의 신경망은 지속적으로 고도화됩니다. 셀프 드라이빙용 신경망 전체 한 빌드를 학습하는 데에는 48개의 신경망과 약 7만 GPU-시간이 소요됩니다 🔥. 이들 신경망은 매 타임스텝마다 서로 다른 약 1,000개의 텐서(예측값)를 동시에 출력합니다.
자율 학습 알고리즘
공간을 높은 정밀도로 표현하고 해당 공간에서 궤적을 계획하여 차량을 주행하는 핵심 알고리즘을 개발합니다. 이러한 표현을 예측하기 위해 신경망을 학습시키려면 공간과 시간에 걸쳐 차량 센서의 정보를 결합하여 알고리즘으로 정확하고 대규모의 실측 데이터를 생성합니다. 최첨단 기술을 사용하여 불확실성이 높은 복잡한 실제 상황에서 작동하는 강력한 계획 및 의사 결정 시스템을 구축합니다. 전체 Tesla 차량의 규모로 알고리즘을 평가합니다.
코드의 기초
코드 최적화 과정에서는 처리량, 지연 시간, 정확성, 결정성(일관된 동작)을 핵심 지표로 삼습니다. 셀프 드라이빙 소프트웨어는 스택의 최하단 계층부터 구축되어, Tesla 전용 하드웨어와 긴밀하게 통합됩니다. OTA(Over-the-air) 업데이트를 지원하는 고신뢰 부트로더를 구현하고, 차량 시스템에 최적화된 맞춤형 Linux 커널을 구동합니다. 각 센서에서 발생하는 고주파·대용량 데이터를 수집하고, 중앙 메모리 액세스 지연을 악화시키거나 핵심 기능 코드의 CPU 사이클을 잠식하지 않으면서 여러 소비 프로세스에서 활용할 수 있도록, 고속이면서 메모리 효율적인 하위 계층 시스템 코드를 작성합니다. 여러 개의 시스템 온 칩(SoC)에 분산된 다양한 하드웨어 연산 유닛 전반에 걸쳐 연산을 파이프라인화하고, 가용 연산 자원을 극대화합니다.
평가 인프라
혁신 속도를 높이고 성능 향상 추이를 추적하며 회귀(regression)를 방지하기 위해, 오픈 루프·클로즈드 루프 및 하드웨어 인 더 루프(HIL) 평가 도구와 인프라를 대규모로 구축합니다. Tesla 차량 플릿에서 수집한 비식별화(익명화)된 특징 클립을 활용해, 이를 방대한 테스트 케이스 세트에 통합합니다. 현실 세계 환경을 정밀하게 모사하는 코드를 작성해 고품질 그래픽과 다양한 센서 데이터를 생성하고, 이를 셀프 드라이빙 소프트웨어에 공급하여 실시간 디버깅과 자동화 테스트를 수행합니다.