Pytea, penganalisa statis untuk mendeteksi kesalahan bentuk tensor dalam kode Pytorch, memiliki beberapa keterbatasan meskipun ada efektivitasnya dalam mengidentifikasi ketidaksesuaian bentuk potensial:
1. Path Explosion and Complexity: Sementara Pytea menggunakan pemangkasan konservatif untuk mengelola jumlah jalur eksekusi, model kompleks dengan banyak pernyataan bersyarat atau loop masih dapat menyebabkan ledakan jalur, berpotensi membatasi skalabilitasnya dalam basis kode yang sangat besar atau sangat dinamis [1] [ 3].
2. API yang tidak diimplementasikan: Pytea dapat meningkatkan alarm palsu jika bertemu Pytorch atau API pihak ketiga lainnya yang belum diterapkan dalam kerangka kerja. Ini berarti bahwa pengguna perlu menyadari API mana yang didukung untuk menghindari peringatan yang tidak perlu [5].
3. Keterbatasan Analisis Offline: Analisis offline menggunakan pemecah Z3 SMT dapat menghasilkan jalur yang tidak dapat dipahami jika kendala terlalu kompleks atau non-linear, yang mengarah ke batas waktu. Ini mungkin tidak selalu memberikan indikasi yang jelas tentang apakah suatu jalur valid atau tidak [5].
4. Interpretasi Hasil: Pengguna perlu menafsirkan hasil dengan cermat, karena Pytea mengidentifikasi kesalahan potensial berdasarkan kendala yang mungkin tidak selalu menyebabkan kesalahan runtime yang sebenarnya. Ini membutuhkan pemahaman konteks dan jalur eksekusi potensial kode [5].
5. Integrasi dan Dukungan: Sementara Pytea mendukung perpustakaan utama seperti TorchVision, Numpy, dan PIL, integrasi dengan lingkungan pengembangan seperti VScode masih dalam pengembangan. Ini berarti bahwa fitur debugging interaktif belum sepenuhnya matang [2].
Kutipan:[1] https://arxiv.org/pdf/2112.09037.pdf
[2] https://www.reddit.com/r/machinelearning/comments/rm4fgz/p_a_static_analyzer_for_detecting_tensor_shape/
[3] https://sf.snu.ac.kr/pytea/
[4] https://www.researchgate.net/publication/370473038_static_analysis_of_shape_in_tensorflow_programs
[5] https://github.com/ropas/pytea
[6] https://arxiv.org/pdf/2106.02887.pdf
[7] https://dl.acm.org/doi/10.1145/3510454.3528638
[8] https://towardsdatascience.com/understanding-tensors-learning-a-data-through-3-pesky-errors-6d674776be0c/