Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Pytorch Lightning TPU'larda veri paralelliği nasıl ele alıyor


Pytorch Lightning TPU'larda veri paralelliği nasıl ele alıyor


Pytorch Lightning, matris çarpımları ve konvolüsyonlar gibi yüksek verimli iş yükleri için optimize edilen TPU mimarisinin yeteneklerinden yararlanarak TPU'lar üzerindeki veri paralellikini işler. TPU'lar üzerinde eğitim alırken, Lightning, verilerin TPU çekirdekleri üzerindeki dağılımını otomatik olarak yönetir ve her çekirdek verilerin uygun kısmını işler. Bu, Lightning TPU eğitimi için otomatik olarak doğru örnekleyicileri eklediğinden, dağıtılmış örnekleyicilerin manuel olarak uygulanmasına gerek kalmadan elde edilir [7].

Bir TPU kurulumunda, model her cihazda çoğaltılır ve veri paralel eğitimi, dağıtılmış bir yapılandırmada birden fazla cihazda çoğaltılırken modelin tek bir TPU cihazına sığmasına izin verir [6]. Bu yaklaşım, büyük veri kümelerinin verimli bir şekilde işlenmesini sağlar ve eğitim sürelerini önemli ölçüde hızlandırır.

TPU'ları Pytorch Lightning ile kullanmak için, TPU çekirdek sayısını belirterek `` eğitmenini '' yapılandırabilirsiniz. Örneğin, 8 çekirdekli tam bir TPU kapsili kullanmak için, `eğitmen 'başlatma [7]' de` tpu_cores = 8 'ayarlarsınız. Bu kurulum, TPU çekirdeklerinde veri dağılımının açık bir şekilde yönetilmesini gerektirmeden kesintisiz veri paralelliğine izin verir.

Bununla birlikte, TPU'lar üzerindeki optimal performans için, TPU kaynaklarının verimli kullanılmasını sağlamak için parti boyutu, tensör değerlendirmesi, dinamik tensör şekilleri ve kaynak sınırlamaları gibi faktörleri dikkate almak çok önemlidir [9].

Alıntılar:
[1] https://pytorch-lightning.readthedocs.io/en/1.5.10/advanced/multi_gpu.html
[2] https://pytorch-lightning.readthedocs.io/en/1.1.8/multi_gpu.html
[3] https://pytorch-lightning.readthedocs.io/en/0.9.0/multi_gpu.html
[4] https://github.com/lightning-ai/pytorch-lightning/issues/11922
[5] https://www.restack.io/p/pytorch-lightning-wringwer-multi-cpu-usage-ci-i
[6] https://cloud.google.com/blog/topics/developers-practioners/scaling-deep-learning-workloads-pytorch-xla-and-cloud-voud-vm
[7] https://lightning.ai/docs/pytorch/1.5.9/advanced/tpu.html
[8] https://forums.fast.ai/t/how-to-create-a-callback-using-torch-multiProcessing-tpu/56264?page=7
[9] https://www.restack.io/p/pytorch-lightning-wringwer-set-mevice-cat-ai