Goolge_adsense_default_ad




Tesla의 자율주행 플랫폼 관련 새소식(?) 남자는 자동차!!


작년 10월에 테슬라의 모델 S, 모델 X 그리고 곧 출시될 예정인 모델 3의 자율주행 기능 구현을 위해 nVidia의 Drive PX2 AI 플랫폼이 사용될거라는 발표(링크)가 있었는데, 며칠 전에 Tesla Motor Club에 관련된 재미있는 자료가 올라와서 공유합니다. 

호기심 해결을 위해 동원된 Kaddy씨의 2016년 12월 출고된 테슬라 모델 S (출처 - 링크

Tesla 오너 중 한명인 Kaddy 씨가 자신의 테슬라 모델 S를 직접 뜯어(박수~!!!) 자율주행 기능을 구현하는 보드를 살펴봤는데, 테슬라 오너들 사이에서는 Drive PX 2의 두 가지 버전 중 어떤 제품이 사용되었는지 궁금증이 있었던 것 같습니다. nVidia의 드라이브 PX 2 는 아래와 같이 한개의 칩이 사용된 "AUTOCRUISE" 버전과 두개의 칩이 사용된 "AUTOCHAUFFER" 버전이 있습니다. 

두 가지 버전의 nVidia의 Drive PX 2 시스템 (출처 - 링크

아래는 사진은 보드를 뜯는 과정의 일부인데, 추후 시스템 업그레이드 등을 고려한 때문인지 보드는 상당히 접근이 용이한 장소에 부착되어 있습니다. 조수석 글로브 박스를 뜯어내면 보이는 에어 필터 상단의 은색 금속판 위로 보드가 위치하고 있습니다. 자동차에 탑재되는 칩 치고 방열판이 엄청 크게 달려 있는 점이 인상적인데 보다 많은 사진은 Tesla Motor Club의 원래 글을 참고하시기 바랍니다.

Tesla 모델 S에 탑재된 Drive PX 2 보드 (출처 - Tesla Motor Club)


아래는 보드를 완전히 뜯어낸 모습입니다. 오른쪽의 방열판 아래 있는 칩은 확실하지는 않지만 CPU로 추정되며 nVidia사의 칩은 별도의 보드에 부착되어 커넥터로 연결되는데 1개만 사용되었다고 합니다. 부착된 보드의 형상이 nVidia의 홈페이지에 공개된 것과 완전히 일치하지는 않아 Tesla에서 약간의 변경(customization)을 가했을 가능성도 이야기 되고있습니다. 제 생각으로는 nVidia의 홈페이지에 공개된 사진은 엔지니어링 샘플이고 보드의 형태는 각 자동차 제조사에 맞게 바꾸어 제공되는게 아닌가 싶습니다. 

Tesla 모델 S에 탑재된 Drive PX 2와 시스템 보드 (출처 - Tesla Motor Club)

Tesla Motor Club에서는 1개의 칩만 탑재된 AUTOCRUISE 버전이 탑재된 사실에 아쉬워 하는 분위기가 있습니다만 탑재된 보드의 위치와 연결상태를 보면 추후 보다 강력한 플랫폼이 개발되면 테슬라에서 업그레이드 프로그램을 제공하는 것도 가능하지 않을까하는 생각을 해 봅니다. 2017년 GTC(GPU Tech. Conference)에서 도요타도 nVidia의 Drive PX 플랫폼을 채용할거란 발표가 있었는데 (관련 링크) 양산과 신기술 채용에서 각각 선두에 서 있는 두 회사와 파트너십을 맺은 걸 보니 자율주행 분야에서 nVidia의 영향력이 확대되는 느낌입니다. 




구글 TPU2 발표소식 칩 설계 지식 공유해요~


우리나라 시간으로 어제새벽 구글 I/O 행사에서 Tensor Processing Unit 두번째(TPU2) 버전이 공개됐습니다. 첫번째 버전의 TPU는 딥러닝과 관련된 연산을 가속하는 프로세서로 2013년부터 개발이 시작되어 2015년 부터 구글의 데이터 센터에서 사용되고 있으며 올해 4월에 관련 논문이 공개가 됐습니다. 

딥러닝에는 대량의 데이터를 이용하여 Neural Network(NN)을 학습시키는 "Training" 과정과 학습된 NN을 이용하여 추론을 수행하는 "Inferencing" 단계가 있는데, TPU의 경우 "Inferencing"만 지원했다면 TPU2의 경우 "Training"과 "Inferencing"을 모두 지원하는 차이가 있습니다. "Training"의 경우 32-bit 또는 64-bit 부동소수점 연산이 필요한반면 "Inferencing"의 경우 8-bit 부동소수점 또는 정수 연산이면 충분하다는 연산특성차이가 있는데 아직 자세한 자료가 공개되지는 않았지만 8-bit정수 연산을 주로 고려해서 설계된 TPU와 적어도 32-bit 부동소수점 연산까지는 지원해야 하는 TPU2는 내부 구조에 많은 차이가 있을 것으로 생각됩니다. 


4개의 TPU2를 탑재한 서버용 Pod (사진 출처 - The Next Platform 사이트)

위의 사진은 공개된 TPU2의 보드 사진인데 TPU2 4개가 서버랙에 바로 탑재될 수 있는 Pod의 형태로 구성되어있는 것이 눈에 띕니다. TPU의 경우 PCIe 슬롯에 카드형태로 꽂히는 Co-processor여서 호스트 CPU가 TPU가 실행할 명령을 TPU의 메모리로 이동시켜줄 필요가 있었는데 TPU2의 경우는 호스트 CPU의 도움없이 독립적으로 동작이 가능할지도 모른다는 추측을 해 봅니다. 

TPU2로 구성된 구글 데이터 서버 (출처 - The Next Platform 사이트)

TPU2의 경우 여러개의 TPU2를 사용하여 멀티코어 서버를 구성하는 것도 가능한데 위의 사진은 TPU2 보드를 여러장 이용하여 구성된 구글의 데이터 서버입니다. 구글의 따르면 머신러닝 어플리케이션에 대해 11.5 peta flops의 성능을 보여준다고 합니다. (peta는 giga의 1,000배) 

최근 발표된 nVidia Volta 아키텍처의 경우 첫번째 버전 TPU의 접근방법과 비슷하게 4x4 행렬곱을 한 싸이클에 계산하는 "Tensor Core"를 탑재하는 방법으로 AI/머신러닝 어플리케이션에 대한 성능 향상을 약속했는데, TPU2의 경우 nVidia가 이미 채택하고 있던 Multi-GPU와 비슷한 접근 방법을 추가로 도입한 것이 재미있습니다. TPU의 경우 동시대 GPU 대비 "Inferencing" 분야에 한정하여 훨씬 높은 성능과 효율성을 달성했었는데, TPU2의 경우 전장이 "Training" 분야까지 확대된 상태에서 GPU 대비 성능상의 우위를 계속 유지할 수 있을지 궁금합니다. 

TPU2는 아직 공개된 내부구조에 대한 자료가 없습니다만, TPU의 구조가 "Inferencing"에 유리한 이유가 궁금하다면 제가 최근에 썼던 글을 참고하여 주시기 바랍니다. (링크 - 구글 TPU 들여보기) 





1 2 3 4 5 6 7 8 9 10 다음