Pytorch Lightning이있는 Kaggle 환경에서 TPU를 사용할 때 몇 가지 제한 사항이 발생합니다.
1. 자원 제한 : Kaggle은 TPU에 대한 사용 제한을 부과하여 주당 20 시간의 TPU 사용 만 허용합니다. 이것은 대규모 또는 장기간의 훈련 세션을 크게 제한 할 수 있습니다 [1].
2. 성능 최적화 문제 : TPU는 특정 워크로드, 특히 광범위한 매트릭스 곱셈 및 컨볼 루션과 관련된 작업에 대해 최적화됩니다. 그러나 Pytorch와 함께 TPU를 사용하면 작은 배치 크기, 훈련 중 명시적인 텐서 평가, 텐서 모양의 빈번한 변화 및 지원되지 않는 텐서 작동과 같은 요인으로 인해 성능 병목 현상이 발생할 수 있습니다. .
3. 소프트웨어 호환성 문제 : TPU는 주로 Google의 Tensorflow에 최적화되어 Pytorch와 같은 다른 프레임 워크와 호환성 문제로 이어질 수 있습니다. 사용자는 종종 이러한 호환성 문제로 인해 Kaggle의 Pytorch와 함께 TPU를 설정하고 사용하는 데 어려움을보고합니다 [3] [6].
4. 데이터 병목 현상 : TPU는 매우 빠르기 때문에 TPU가 데이터를 기다리는 데 대부분의 시간을 소비하는 데이터 병목 현상이 발생할 수 있습니다. 이러한 비 효율성은 TPU 기능의 전체 활용을 제한 할 수있다 [7].
5. Pytorch 통합의 실험적 특성 : Pytorch와 TPU의 통합은 여전히 실험적이므로 Tensorflow와 같은보다 확립 된 프레임 워크와 비교하여 잠재적 성능 문제와 누락 된 기능으로 이어집니다 [4].
인용 :[1] https://admantium.com/blog/llm32_cloud_provider_comparison/
[2] https://www.restack.io/p/pytorch-lightning-answer-tpu-kaggle-cat-ai
[3] https://www.datacamp.com/blog/tpu-vs-gpu-ai
[4] https://lightning.ai/docs/pytorch/1.5.9/advanced/tpu.html
[5] https://www.kaggle.com/questions-and-answers/184059
[6] https://www.kaggle.com/product--feedback/159705
[7] https://www.kaggle.com/docs/tpu
[8] https://lightning.ai/docs/pytorch/stable/accelerators/tpu_basic.html