1 poin oleh GN⁺ 2023-12-21 | 1 komentar | Bagikan ke WhatsApp

mamba-minimal

  • Penjelasan tentang mamba-minimal, implementasi Mamba sederhana dalam satu file yang ditulis dengan PyTorch.
  • Memberikan keluaran numerik yang sama dengan implementasi resmi, baik untuk forward pass maupun backward pass.
  • Kodenya disederhanakan, mudah dibaca, dan dilengkapi komentar.
  • Tidak menyertakan fitur seperti optimasi kecepatan dari implementasi resmi.
  • Tidak menyertakan inisialisasi parameter yang tepat, tetapi dapat ditambahkan tanpa merusak keterbacaan.

Demo

  • File demo.ipynb yang menampilkan contoh penyelesaian prompt.
  • Menyediakan contoh pembuatan teks menggunakan model Mamba dan AutoTokenizer.
  • Dalam contoh teks yang dihasilkan, Mamba digambarkan sebagai ular berbisa terpanjang di dunia.

References

  • Arsitektur Mamba diperkenalkan dalam makalah "Mamba: Linear-Time Sequence Modeling with Selective State Spaces" yang ditulis oleh Albert Gu dan Tri Dao.
  • Implementasi resminya dapat dilihat di GitHub.

Pendapat GN⁺

  • mamba-minimal adalah proyek yang dibuat untuk mengurangi kompleksitas implementasi Mamba yang sudah ada agar dapat dipahami bahkan oleh insinyur perangkat lunak pemula.
  • Proyek ini berkontribusi meningkatkan keterbacaan kode dan kemudahan pemahaman di bidang pembelajaran mesin.
  • Melalui contoh penggunaan nyata, proyek ini dengan mudah menunjukkan cara memanfaatkan model Mamba, yang dapat menjadi materi yang sangat menarik bagi para pembelajar.

1 komentar

 
GN⁺ 2023-12-21
Opini Hacker News
  • Berbagi pustaka

    • Membuat sebuah pustaka bersama rekan untuk mengekstrak sebagian besar kode model yang umum. Sebagian besar model bisa diimplementasikan dalam sekitar 100 baris, tidak termasuk proses import Python dan komentar.
    • Sebagai contoh disebutkan model BERT, Llama 1/2, dan MPT, serta mendukung TorchScript JIT, PyTorch flash attention, dan lainnya.
  • Berbagi implementasi inferensi Mamba

    • Kode Mamba memiliki banyak bagian seperti optimasi kecepatan yang membuatnya sulit langsung diterapkan untuk pelatihan, sehingga ia membagikan implementasi inferensi Mamba miliknya yang bisa membantu untuk itu.
  • Permintaan penjelasan Mamba untuk non-ahli

    • Meminta penjelasan untuk non-ahli tentang wawasan utama Mamba dan state space model, alasan Mamba berhasil, serta keunggulan lain Mamba meskipun orang tersebut tidak terlalu peduli pada panjang konteks.
  • Ekspektasi inti algoritme

    • Mengira inti algoritme Mamba akan berupa parallel prefix scan, tetapi kode nyatanya diimplementasikan dengan cara yang berbeda.
  • Lelucon cerdas tentang Mamba

    • Tertawa pada lelucon bahwa mamba adalah ular berbisa terpanjang di dunia. Senang karena bisa mengintip hal-hal yang tersembunyi di balik riset dengan merujuk ke makalah arXiv.
  • Pertanyaan tentang tingkat kesulitan melatih model Mamba

    • Bertanya seberapa sulit melatih model Mamba yang ada di Huggingface, serta berapa banyak GPU dan waktu yang dibutuhkan untuk melatih model terbesar.
  • Berbagi upaya menafsirkan versi CUDA resmi

    • Pernah mencoba memahami versi CUDA resmi tetapi gagal lalu tidak mencobanya lagi. Dibanding itu, implementasi baru ini dinilai jauh lebih baik.
  • Kekaguman pada implementasi PyTorch satu berkas

    • Kagum pada implementasi PyTorch satu berkas lainnya, dan menganggap pekerjaan seperti ini penting untuk riset ML yang efisien. Kecepatan kemajuan riset berkaitan dengan kebalikan dari waktu menjalankan eksperimen, dan ini berhubungan dengan kompleksitas Kolmogorov dari kode. Menekankan betapa pentingnya alat riset dalam mempercepat proses penemuan pengetahuan.
  • Permintaan diskusi makalah asli

    • Bertanya apakah pernah ada diskusi tentang makalah aslinya, sambil menunjukkan bahwa model-model sebelumnya seperti RWKV dan RetNet tidak memiliki hasil lengkap untuk panjang konteks 8k karena kurangnya implementasi yang efisien, masalah memori, atau kebutuhan komputasi yang tidak realistis.
  • Pujian terhadap penyederhanaan inti pembahasan

    • Menyukai bagaimana hal-hal yang kompleks disederhanakan dan diekspresikan menjadi bagian yang esensial.