뉴럴 엔진은 사용할 수 없는 모양입니다. M1의 GPU만으로 연산을 했으며, 기존 어떤 인텔맥보다도 빠릅니다.
물론, 이건 지포스 계열의 칩셋보단 여전히 많이 느린편 입니다.
7700HQ + 1060 6gb 탑제 노트북 학습 결과:
5s/epoch
11ms/step
98.96% acc
가 나오며,
말할것도 없이 1080ti의 경우 1초에 epoch가 모두 끝납니다.
M1 노트북 :
22s/epoch
45ms/step
98.9% acc
1. 메모리 관련해서는 금액대비 훨씬 여유로운 인텔인지라 위의 결과는 조금 더 판이해질 수 있단 점도 유념해 두셔야할 것 같습니다.
2. 전체적으로 뉴럴 엔진을 사용하지 않은 M1의 GPGPU능력은 생각보단 높진않은 것 같습니다. 이 정도 성능이라면 1060을 따라가기 위해서 현재의 4배가 필요한 상황이니...
3. RX 5000 시리즈 이후로 NAVI 아키텍쳐가 머신러닝에서 동급 GPU 대비 상당히 밀리는 모습인지라, 추후엔 그래픽의 성능을 나타내는 지표로써 게임/GPGPU연산 등등이 모두 나뉘어 비교되어야하지 않을까 싶습니다. RX 5500M은 약간의 클럭 손실을 제외하면 1650과도 비교가 가능한 정도인데, 텐서플로우에선 이와는 비교하기도 힘들만큼 떨어지게 됩니다. (=56s/epoch) m1의 2배 정도 시간이 소요됩니다. (=22s/epoch) 이는 i5 8세대의 epoch 시간(=50s)과도 어느정도 비교가 가능한 수준으로.. 매우 낮은 편에 속합니다.
분명 신경망은 GPGPU를 가장 많이 쓰는 어플리케이션중 하나일 겁니다만, GPGPU성능과 신경망 연산 성능은 동일한 개념은 아닙니다. GPGPU가 신경망 연산에만 쓰이는 것은 아니고, 용도를 바꾸면 성능이 확 바뀌는 일이 많아서요. 그래서 GPGPU라기보단 머신러닝 성능이라고 확실히 나누어야 할 거 같습니다. 뭐 근데 그와 별개로 AMD RDNA쪽은 연산 성능이 전반적으로 그닥인 건 사실 같습니다. 아마 CDNA 나누면서 점점 더 그렇게 가는 거 같은데..
전에 다른 글에도 답을 남긴 적이 있습니다만 엔비디아도 연산용 카드와 게이밍 카드간의 격차가 갈수록 벌어질 가능성이 높습니다. 지금 게이밍과 신경망이 요구하는 아키텍쳐가 완전 달라지기 시작해서... 결국 둘 다 GPU로 퉁치긴 무리인 시대가 올 수도 있는데 그래픽카드를 계산기로 쓰는 입장에선 걱정거리죠.