2 poin oleh GN⁺ 2024-04-25 | 1 komentar | Bagikan ke WhatsApp

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
  • mlx_example: contoh menjalankan model CoreNet secara efisien di Apple Silicon
  • corenet/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

 
GN⁺ 2024-04-25
Komentar Hacker News
  • CoreNet berkembang dari CVNets dan kini mencakup aplikasi yang lebih luas melampaui computer vision. Ini memudahkan pelatihan foundation model termasuk LLM.
  • Jika melihat default_trainer.py milik 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.
  • Menarik bahwa mereka membangunnya dari nol, alih-alih bekerja sama dengan framework yang sudah ada (mungkin pilihan yang sangat khas Apple).
  • Contoh MLX saat ini tampaknya hanya mendukung inferensi. Ini terlihat bisa menjadi landasan untuk implementasi yang lebih spesifik untuk MLX.
  • Mengingat akuisisi Datakalab dan DarwinAI baru-baru ini, menarik untuk melihat bagaimana perkembangannya dalam satu tahun ke depan.
  • Apple juga secara aktif mengembangkan library axlearn yang dibangun di atas Jax. Tampaknya setengah dari tim ML Apple menggunakan PyTorch, dan sisanya menggunakan Jax.
  • README juga menyebut model baru bernama CatLIP, tetapi tautannya rusak.
  • CoreNet dibangun berbasis PyTorch.
  • MLX saya pahami sebagai padanan PyTorch yang dioptimalkan untuk Apple Silicon. Saya penasaran apakah tujuan CoreNet adalah untuk distributed training model MLX, atau sebenarnya apa tujuan utamanya.
  • Akan bagus jika ada agen LLM di repositori ini yang bisa membuat contoh API kecil untuk berbagai model dan cara penggunaannya.
  • Library apa yang direkomendasikan untuk pelatihan dan inferensi jaringan saraf di Apple M1? Saya ingin menggunakannya dari C++ atau Rust, dan jaringan sarafnya akan memiliki hingga 5M parameter.
  • Apa keuntungan menggunakan ini dibanding Huggingface Transformers dengan backend MPS?
  • Tidak jelas apakah ini mendukung pelatihan di Apple Silicon, kecuali saya melewatkannya di README.
  • Menarik bahwa Apple mendorong informasi terbuka tentang pelatihan LLM. Dunia sedang berubah.