AI Umum

Hidet: Kompiler Pembelajaran Mendalam Berbasis Python Sumber Terbuka

Permintaan untuk Beban Kerja Inferensi yang Dioptimalkan

Permintaan akan beban kerja inferensi yang dioptimalkan sangat penting dalam pembelajaran mendalam. Temui Hidet, kompilator pembelajaran mendalam sumber terbuka yang dikembangkan oleh tim khusus di CentML Inc. Kompiler berbasis Python ini bertujuan untuk menyederhanakan proses kompilasi, menawarkan dukungan menyeluruh untuk model DNN dari PyTorch dan ONNX hingga kernel CUDA yang efisien, dengan fokus pada GPU NVIDIA.

Mengatasi Tantangan Latensi

Hidet muncul dari penelitian yang disajikan dalam makalah “Hidet: Task-Mapping Programming Paradigm for Deep Learning Tensor Programs”. Kompiler ini mengatasi tantangan mengurangi latensi inferensi model pembelajaran mendalam, aspek penting untuk memastikan penyajian model yang efisien di berbagai platform, dari layanan cloud hingga perangkat edge.

Paradigma Pemrograman Pemetaan Tugas

Pengembangan Hidet didorong oleh pengakuan bahwa mengembangkan program tensor yang efisien untuk operator pembelajaran mendalam adalah tugas yang kompleks, mengingat kerumitan akselerator modern seperti GPU NVIDIA dan TPU Google, ditambah dengan perluasan jenis operator yang cepat. Sementara kompilator pembelajaran mendalam yang ada, seperti Apache TVM, memanfaatkan primitif penjadwalan deklaratif, Hidet mengambil pendekatan unik. Kompiler ini menyematkan proses penjadwalan ke dalam program tensor, memperkenalkan pemetaan khusus yang dikenal sebagai pemetaan tugas. Pemetaan tugas ini memungkinkan pengembang untuk menentukan penetapan dan pengurutan komputasi secara langsung dalam program tensor, memperkaya optimasi yang dapat diekspresikan dengan memungkinkan manipulasi berbutir halus pada tingkat pernyataan program. Pendekatan inovatif ini disebut sebagai paradigma pemrograman pemetaan tugas.

Fusi Pasca Penjadwalan

Selain itu, Hidet memperkenalkan optimasi fusi pasca penjadwalan, mengotomatiskan proses fusi setelah penjadwalan. Hal ini tidak hanya memungkinkan pengembang untuk fokus pada penjadwalan operator individu tetapi juga secara signifikan mengurangi upaya rekayasa yang diperlukan untuk fusi operator. Paradigma ini juga membangun ruang jadwal sentris perangkat keras yang efisien yang tidak bergantung pada ukuran input program, sehingga secara substansial mengurangi waktu penyetelan.

Hasil Eksperimen

Eksperimen ekstensif pada model konvolusi dan transformer modern menunjukkan kekuatan Hidet, mengungguli kerangka kerja inferensi DNN canggih seperti ONNX Runtime dan kompilator TVM yang dilengkapi dengan penjadwal AutoTVM dan Ansor. Rata-rata, Hidet mencapai peningkatan 1,22x, dengan peningkatan kinerja maksimum 1,48x. Selain kinerja superiornya, Hidet menunjukkan efisiensinya dengan mengurangi waktu penyetelan secara signifikan. Dibandingkan dengan AutoTVM dan Ansor, Hidet memangkas waktu penyetelan masing-masing sebesar 20x dan 11x.

Masa Depan Hidet

Saat Hidet terus berkembang, ia menetapkan standar baru untuk efisiensi dan kinerja dalam kompilasi pembelajaran mendalam. Dengan pendekatannya terhadap pemetaan tugas dan optimasi fusi, Hidet berpotensi menjadi landasan dalam perangkat pengembang yang ingin mendorong batas penyajian model pembelajaran mendalam.