네 텐서플로우 워크로드에 대한 최적화를 인텔에서 지원하고 있습니다. 이 부분도 인텔 AI 사이트나 Neural Compressor 사이트 등을 참조하시면 좋겠습니다.
적당하다는 것은 서비스의 상황에 따른 개념입니다. 빠르면 빠를 수록 좋겠지만 그만큼 여유가 있다면 서비스제공자의 입장에서는 낭비의 요소가 생길 수가 있다는 점을 생각하시면 될 것 같습니다.
파이토치는 인텔의 최적화가 계속 반영되고 있습니다. 그리고, 더 빠른 적용을 원하신다면 인텔의 최적화 패키지 (Intel Extensions for PyTorch)가 있습니다.
현재까지는 트레이닝은 GPU에서 활용하고 추론은 CPU에서 활용합니다.
상대적으로 크지 않은 모델과 적당한 응답속도라고 볼 수 있겠습니다. 양자화를 통해서 이를 확인할 수 있기 때문에 특정 모델에 대해서 확인하면 됩니다. 성능데이터는 인텔에서 공개하고 있기 때문에 참고하시면 되겠습니다.
GPU는 빠른 응답속도가 장점이나 기존 장비에 추가해야하는 부담이 있고, CPU는 적당한 응답속도가 가능하면 활용성이 높습니다. 그리고 대량의 데이터를 적당한 시간에 처리하는 배치처리에도 효율성이 높습니다.
CPU에 있어서 중요한 부분은 지원하는 딥러닝 부스트 명령어, 사용하는 스레드 개수, 클럭 입니다. 이 3가지를 맞추게 되면 어느 정도 예측이 가능하게 됩니다.
가장 좋은 것은 추론작업의 응답속도를 먼저 벤치마크해서 장비당 대응할 수 있는 용량을 확인해보는 것이 좋겠습니다.
저전력 디바이스의 경우에는 CPU보다는 저전력의 AI명령어가 추가된 전용 프로세서를 사용하는 편이 좋겠습니다.
현재까지로는 트레이닝의 연산량이 추론보다 크기 때문에 GPU를 트레이닝에 대부분 사용하고 있습니다. 통합적으로 사용하려는 부분은 이후의 사파이어래피즈 서버에서 그 가능성을 찾을 수도 있을 것 같습니다.
일반적으로 GPU로 트레이닝하는 경우에 한번에 처리하는 데이터의 제한이 걸릴 수 있습니다. 얘기하신대로 효율적으로 많은 메모리를 활용하는 경우와 전처리 과정 등에서 CPU의 활용성을 높일 수 있습니다
이 부분은 프레임웍에 따라 조금씩 다르기는 하지만 많은 변경이 필요없이 사용가능합니다. 예를 들어 PyTorch의 경우는 cpu와 gpu에 대한 구분 정도만 지정을 하면 코드나 모델을 재사용할 수 있습니다
머신러닝 프레임워크에 인텔의 AVX 명령어에 기반한 최적화를 적용한 패키지를 적용하였습니다. 기본 프레임워크에 인텔의 최적화 적업을 지속적으로 적용하고 있습니다.
일반적으로 GPU 클러스터를 구축하는 것은 비용의 부담이 있기 때문에 CPU 클러스터를 활용하는 측면이 중요할 수 있습니다
GPU의 종류와 관계없이 CPU는 인텔을 사용하시면 GPU외의 처리부분을 효율적으로 사용하실 수 있고, 이후에 나오게 될 인텔의 GPU를 활용하시면 더욱 더 효과적으로 사용할 수 있습니다.
여기서 이야기하는 CPU의 활용은 엔드투엔드 과정의 일부를 담당하거나 인퍼런스 등을 모두 처리하는 것을 얘기합니다. 아직까지는 하나의 디바이스 (CPU/GPU)에서만 처리하는 것이 효율이 좋습니다.
네 GPU 서비스도 많이 사용되고 중요하지만 CPU를 활용할 수 있다면 사용하는 사례도 있고 CPU쪽의 인공지능 연산성능도 계속 좋아지고 있습니다
안녕하세요 CPU는 실제 인공지능 서비스 (인퍼런스)에 일정 수준 이내의 응답속도를 보여줄 수 있는 경우가 많기 때문에 GPU 등의 가속기가 없이 구축이 가능하게 됩니다