안녕하세요
디바이스마트의
잔나비 솔다입니다
오늘날 인공지능 기술들이 AI 스피커부터 시작해서 점점 우리 삶에 침투하고 있습니다
이런 인공지능 기술들을 개발할 때에 많이 사용되는 개발보드에는
엔비디아 젯슨 패밀리가 있는데요
젯슨 패밀리에는 여러 종류가 있지만 이름만으로는 어떤 보드가 얼마나 좋은지 알 수 없습니다
어느 수준으로 사용하면 좋은지 알면 비용을 절약하고 오버킬을 예방할 수 있습니다
그래서 이번 포스팅에서는 젯슨 패밀리의 성능을 벤치마크해보는 시간을 가져보겠습니다
-
우선 하드웨어 비교표입니다!
엔비디아 공식 홈페이지에 나와있는 내용이기는 하지만 보시기 편하도록 다시한번 정리 했습니다
*
Jetson AGX Xavier 시리즈에는 곧 출시 될 Jetson AGX Xavier 모듈의 산업용 버전이 포함됩니다.
** Jetson Nano 개발자 키트의 일부로 포함 된 Jetson Nano 및 Jetson Xavier NX 모듈과 Jetson Xavier NX 개발자 키트에는 시스템 저장 장치로 eMMC 대신 microSD 카드를
사용하기위한 슬롯이 있습니다.
나름대로 보기 편하도록 편집을 좀 했습니다
Nano와 TX2는 FLOPs라는 단위로 AI 성능을 표기하다가
Xavier부터 TOPs로 성능을 표기한 것이 특이할만 합니다
Nano와 TX2에는 텐서코어가 탑재되어있지 않기 때문에
GPU의 부동소숫점 연산 속도 단위인 FLOPs로 AI성능을 표기한 것으로 보입니다
반면에 Xavier 시리즈들은 텐서코어가 탑재되었으므로
초당 텐서 작업 횟수인 TOPs로 표기되어있습니다
머신러닝을 하게 된다면 오픈소스 라이브러리의 존재 때문에
텐서플로우를 활용할 일이 많은데 이때에는
Xavier 시리즈들을 사용하면 20~30TOPs 정도의 속도로 처리할수 있겠구나~
하고 봐주시면 되시겠습니다
-
엔비디아는 젯슨 패밀리를 위해 JetPack이라는 인공지능 SDK를 제공하는데요
이 JetPack에 속한 여러 기능들을 이용해서 각 모델들을 벤치마크 해봤습니다
주로 이미지(화상)처리와 관련된 딥러닝 기능들이지만
Xavier 시리즈 부터는 BERT라는 자연어 처리 모델도 지원합니다
지원하는 모델들은 대체로 인공신경망 기술들입니다
공식사이트에 표로 정리되어있지만(링크) 모델별로 한눈에 보기 좋게
그래프로 정리해 봤습니다
그래프는 레이턴시 제한시의 성능 그래프(위)와
최대 성능시의 그래프(아래) 두 부분으로 구분하였습니다
단위는 FPS이므로 수치가 높을수록 고성능이라는 의미입니다
1. Inception V4
우선 구글에서 고안한 모델인 인셉션-v4입니다
사용상의 복잡함 때문에 점유율은 낮지만
그럼에도 연산량을 획기적으로 줄인 모델이라 앞으로의 행보가 기대되는 모델입니다
인셉션 모델에 299x299 이미지를 처리했을때의 초당 처리량입니다
비전 가속기를 탑재한 자비에 시리즈가 상당히 높은 속도를 보입니다
영상 처리시에는 자비에를 사용하는게 좋을 것 같습니다
이미지를 처리 하더라도 TX2정도는 사용해야 답답하지 않게 작업을 할 수 있을것 같습니다
2. VGG-19
사실상 가장 많이 사용되는 것으로 보이는 모델인 VGG입니다
인셉션에 비해 연산절차가 많으나 사용상의 간편함 때문에
개발자들의 많은 사랑을 받고 있습니다
재밌게도 고성능으로 갈수록 인셉션의 처리속도와 격차가 벌어집니다
VGG를 주로 사용하신다면 TX2 이하의 사양으로 사용하시는 것이 효율적입니다
3. Super Resolution
저화질 사진이나 이미지를 고화질로 변환할 수 있는 재미있는 모델입니다
한글로는 '초해상화'라고도 표현한다고 합니다
몇배율로 연산했는지는 확인되지 않으나 원본 화질이 481x321이므로
어느정도 참고하신다고 생각하시면 될 것 같습니다
레이턴시를 제한했을 때와 최대 처리량일 때의 폭이 매우 적습니다
슈퍼 레졸루션 역시 영상처리시에는 자비에를 사용하시는 것이 권장됩니다
4. Unet
Unet은 생물학, 의학용으로 개발이 시작된 이미지 분할 모델입니다
슈퍼 레졸루션처럼 최대 처리량과 레이턴시 제한시 처리량의 차이가 근소합니다
더 적은 해상도로 벤치마크 하긴 했으나
결과가 유사하다보니 별로 짚어볼게 없어서 넘어가겠습니다ㅎㅎ
4. OpenPose
OpenPose는 얼굴을 포함한 신체의 움직임을 추척하는 모델입니다
대체로 영상을 처리하기때문에 해당 모델을 주로 사용하는경우
60FPS 이상인 자비에 시리즈를 사용하는 것이 권장됩니다
5. Tiny YOLO V3
Tiny YOLO는 실시간 물체 감지 기술입니다
OpenPose는 인체의 자세에만 해당하는 반면
타이니 욜로는 다양한 물체(생물 포함)를 검출할 수 있기 때문에
실습시에도 접할 기회가 많습니다
역시 실시간이니 만큼 60FPS가 넘는 TX2 버전 이상으로 사용하는것이 좋아보입니다
6. ResNet-50
마이크로소프트의 예하의 중국인 연구팀이 개발한 모델입니다
VGG를 기반으로 하고 있지만 뎁스를 깊게하고 shortcut 알고리즘을 추가하였다고 합니다
확실히 위의 VGG와 동일한 해상도를 처리하지만
FPS는 현저히 높은 것을 확인할 수 있습니다
자비에 이상의 모델을 사용했을 때 비약적인 성능 향상을 볼 수 있습니다
7. SSD Mobilenet-V1
타이니 욜로와 비슷하게 물체를 감지할 수 있는 모델입니다
타이니 욜로과 기능은 비슷하지만 연상량과 파라미터 수가 적기 때문에
GPU가 없거나 실시간 처리가 필요한 서비스에 적합합니다
실제로 TX2의 경우 GPU가 없음에도 60FPS를 가뿐히 상회하는 모습을 보입니다
그러나 벤치마크한 이미지의 해상도가 300x300기준이므로
실제로 실시간으로 사용하기 위해서는 자비에 이상을 사용하는것이 적합할 것입니다
8. SSSD Resnet34
위의 VGG-19는 이름처럼 19의 레이어를 사용합니다
당연하게도 Resnet34는 34개의 레이어를 사용합니다
상대적으로 깊이가 깊다는 것인데 그것 말고 다른 차이가 있다면
나머지값을 학습하는 과정을 포함하여 연산 과정을 대폭 줄였습니다
위 그래프 수치만으로 보면 VGG-19에 비해 매우 느린 것 처럼 보이지만
벤치마크에 사용된 이미지의 해상도는 무려 1200x1200의 고해상도 이미지입니다
해당 모델의 유의미한 사용을 위해서는 자비에 이상의 사양이 필요할 것입니다
9. BERT_BASE
자연어 처리 모델인 BERT입니다
Volta 이상의 CPU에서만 사용이 가능하여 TX2이하의 모델은 벤치마크 결과가 없습니다
시퀀스 길이 128의 자연어를 처리했을 때 위 그래프와 같은 FPS로 처리할 수 있습니다
텍스트임에도 저해상도 이미지에 비하면 처리량이 그렇게 많지는 않습니다
자연어를 처리하는건 컴퓨터 입장에서는 상당히 복잡한 일인가 봅니다
10. BERT_LARGE
BERT LARGE는 BERT BASE에 비해 더 큰 자연어를 처리하는게 아닙니다
인코더 블록 1개당 한번씩 반복 구축을 하는데
BERT BASE는 12개 BERT LARGE는 24개의 인코더 블록을 갖고 있습니다
즉, BASE 모델에 비해 연산이 더 많다는 뜻입니다
자연어의 시퀀스 길이가 길수록 연산이 더더욱 오래 걸리므로
시퀀스 길이가 128일 때에 BASE와는
위 그래프 정도의 차이가 있다고 참고해주시면 되시겠습니다
-
결론!
젯슨 패밀리의 각 모델별 용도는
Jetson Nano 및 Jetson Nano 2GB : AI 학습용
Jetson TX2 : 저해상도 머신비전 학습용
Jetson Xavier NX : 중간 해상도 머신비전 처리 / 간단한 자연어 처리
Jetson AGX Xavier : 고해상도 머신비전 처리 / 일반적인 자연어 처리
정도로 보시면 되시겠습니다
물론 더 낮은 모델로 시간을 들여서 처리하셔도 되고
학습용인데도 돈 좀 더 들여서 빨리빨리 학습하셔도 되니
위의 정리는 참고만 부탁드립니다
-
부족한 글이지만 젯슨 패밀리를 구매하실 때 고민이 되신다면
참고해주시면 좋을 것 같습니다
끝으로 각 모델별 링크를 남겨드립니다
Jetson Nano 2GB Developer Kit - https://www.devicemart.co.kr/13023833
Jetson Nano Development Kit - https://www.devicemart.co.kr/12513656
Jetson Nano Module - https://www.devicemart.co.kr/12513655
Jetson TX2 Module 8GB - https://www.devicemart.co.kr/12527299
Jetson Xavier NX Developer Kit - https://www.devicemart.co.kr/13024476
Jetson Xavier NX Module - https://www.devicemart.co.kr/13109947
Jetson AGX Xavier Development Kit - https://www.devicemart.co.kr/12806665
Rmx
1 댓글
성능비교표 알려주셔서 감사해요
답글삭제실제로 실시간 사용할때는 적어도 jetson Xavier NX 정도는 되어야 원활하겠군요