CoreNet: Library untuk pelatihan jaringan saraf mendalam
(github.com/apple)Pengenalan CoreNet, framework deep learning yang dikembangkan oleh Apple
- CoreNet adalah framework deep learning yang dikembangkan oleh Apple, yang dapat melatih model skala besar baik yang standar maupun yang baru untuk berbagai tugas
- Mendukung tugas seperti Foundation Model (CLIP, LLM), klasifikasi objek, deteksi objek, Semantic Segmentation, dan lainnya
- Pembaruan terbaru v0.1.0 mencakup OpenELM, CatLIP, contoh MLX, dan lain-lain
Hasil riset Apple yang memanfaatkan CoreNet
- OpenELM: Language Model yang efisien dan open source untuk pelatihan/inferensi
- CatLIP: Mencapai performa setingkat CLIP dengan prapelatihan 2,7x lebih cepat menggunakan data image-text berskala web
- FastVit: Vision Transformer hibrida cepat yang memanfaatkan structural reparameterization
- Bytes Are All You Need: Transformer yang bekerja langsung pada level byte dari file
- MobileOne: Backbone network untuk mobile dengan latensi 1 ms
- RangeAugment: Teknik online augmentation yang efisien dengan memanfaatkan Range Learning
- MobileViT: Vision Transformer ringan yang ramah perangkat mobile
- Memperkenalkan banyak hasil riset lainnya
Instalasi dan konfigurasi lingkungan pengembangan
- Perlu memasang Git LFS (dibutuhkan untuk pengujian, menjalankan Jupyter Notebook, dan kontribusi)
- Di Linux, direkomendasikan Python 3.10+ dan PyTorch v2.1.0+
- Di macOS, Python 3.9+ sudah memadai
- Paket dependensi opsional diperlukan saat berkontribusi atau menjalankan pengujian
- Menjelaskan metode instalasi Linux dan macOS secara detail serta cara memasang paket untuk pemrosesan audio/video
Struktur direktori CoreNet
tutorials: contoh untuk pemula- Melatih model dari awal dengan dataset baru
- Panduan pelatihan SLURM dan multi-node
- Contoh CLIP, Semantic Segmentation, dan Object Detection
projects: menyediakan recipe pelatihan, bobot pralatih, dan checkpoint untuk tiap tugas- Terdokumentasi di
README.md, termasuk tautan bobot pralatih dan informasi sitasi - Menyediakan konfigurasi pelatihan/evaluasi yang dapat direproduksi melalui file
<task_name>/<model_name>.yaml
- Terdokumentasi di
mlx_example: contoh menjalankan model CoreNet secara efisien di Apple Siliconcorenet/modeling/models: implementasi model yang disusun per tugas- Menentukan nama tugas dan nama model dengan decorator
- Menjelaskan cara menentukan kelas model yang akan digunakan dari file konfigurasi YAML
corenet/data/datasets: dataset yang disusun per tugas- Penjelasan direktori implementasi kelas lain yang dirujuk di konfigurasi YAML
loss_fn,metrics,optims,data, dll.
Informasi proyek CoreNet
- Sachin memulai pengembangan, dan saat ini dipelihara oleh Sachin, Maxwell Horton, Mohammad Sekhavat, dan Yanzi Jin
- Kontribusi Pull Request dari komunitas sangat diterima. Lihat dokumentasi kontribusi.
- CoreNet adalah proyek yang berkembang dari CVNets, diperluas agar mendukung pelatihan Foundation Model seperti LLM selain Vision
Opini GN⁺
-
CoreNet tampak sebagai framework deep learning yang komprehensif dan mencakup model-model SOTA terbaru. Selain menyediakan implementasi model SOTA, framework ini juga menyediakan pipeline pelatihan sehingga reproduksi hasil riset yang ada tampaknya akan lebih mudah.
-
Karena ini adalah framework yang dikembangkan oleh Apple, kita bisa berharap ada optimasi berjalan yang baik di perangkat Apple Silicon. Khususnya, contoh MLX memberi gambaran tentang pendekatan optimasi di Apple Silicon.
-
Ciri khasnya adalah dukungan bukan hanya untuk tugas vision tetapi juga pelatihan Foundation Model seperti LLM. Namun, versi yang saat ini dirilis masih 0.1.0 sehingga tampaknya masih berada pada tahap awal. Rencana pembaruan dan roadmap ke depan jadi menarik untuk dinantikan.
-
Karena merupakan framework berbasis PyTorch, tampaknya ia dapat memanfaatkan beragam fitur dalam ekosistem PyTorch. Namun, dengan struktur proyek saat ini, interoperabilitas dengan framework lain tampaknya akan sulit.
-
Akan bagus jika tersedia fitur export model melalui ONNX atau TorchScript. Selain itu, integrasi dengan ekosistem Apple seperti konversi ke CoreML saat mengembangkan aplikasi iOS dan macOS juga layak dipertimbangkan.
1 komentar
Komentar Hacker News
default_trainer.pymilik CoreNet, ia menggunakan Tensor dari PyTorch tetapi mengimplementasikan metode pelatihannya sendiri. Ia mengimplementasikan scheduler LR dan optimizer sendiri, dan pemanggil secara opsional dapat menggunakan Adam dari PyTorch.