1 poin oleh GN⁺ 2024-09-08 | 1 komentar | Bagikan ke WhatsApp

LLM yang Dipercepat Perangkat Keras: Survei dan Perbandingan Komprehensif

  • LLM telah muncul sebagai alat yang kuat dalam tugas pemrosesan bahasa alami, merevolusi bidang ini dengan kemampuannya memahami dan menghasilkan teks yang menyerupai manusia
  • Makalah ini secara komprehensif meninjau berbagai upaya penelitian untuk mempercepat jaringan transformer bagi model bahasa besar dengan menggunakan akselerator perangkat keras

Kerangka kerja dan perbandingan

  • Memperkenalkan kerangka kerja yang diusulkan dan melakukan perbandingan kualitatif serta kuantitatif terkait teknologi, platform pemrosesan (FPGA, ASIC, in-memory, GPU), peningkatan kecepatan, efisiensi energi, kinerja (GOPs), dan efisiensi energi (GOPs/W)
  • Tantangan utamanya adalah setiap skema yang diusulkan diimplementasikan dengan teknologi proses yang berbeda, sehingga perbandingan yang adil menjadi sulit
  • Kontribusi utama makalah ini adalah memperkirakan hasil kinerja dan efisiensi energi pada teknologi yang sama agar memungkinkan perbandingan yang adil

Eksperimen dan hasil

  • Mengimplementasikan sebagian dari LLM pada beberapa chip FPGA untuk memperkirakan hasil pada teknologi proses yang sama dan membandingkan kinerjanya secara adil

Ringkasan GN⁺

  • Makalah ini memberikan survei komprehensif tentang akselerasi perangkat keras untuk model bahasa besar (LLM)
  • Membandingkan kinerja dan efisiensi energi di berbagai platform pemrosesan sehingga memungkinkan perbandingan yang adil
  • Melalui eksperimen menggunakan chip FPGA, makalah ini memperkirakan hasil pada teknologi yang sama
  • Dapat berguna bagi orang-orang yang tertarik pada peningkatan kinerja LLM di bidang pemrosesan bahasa alami
  • Proyek lain dengan fungsi serupa antara lain akselerator GPU dari NVIDIA dan TPU dari Google

1 komentar

 
GN⁺ 2024-09-08
Komentar Hacker News
  • Makalah ini punya penjelasan latar belakang yang dangkal, jadi untuk menambahkan konteks: sejak awal 1990-an sudah ada pengamatan bahwa performa komputasi CPU (FLOPs) meningkat lebih cepat daripada bandwidth memori, dan pada 1995 William Wulf dan Sally Mckee memprediksi bahwa kesenjangan ini akan mengarah pada memory wall, yaitu kondisi ketika sebagian besar komputasi terhambat bukan oleh operasi aritmetika, melainkan oleh akses data
    Selama 20 tahun terakhir, FLOPS maksimum perangkat keras server naik 3 kali lipat setiap 2 tahun, tetapi bandwidth DRAM dan interkoneksi masing-masing hanya meningkat sekitar 1,6 kali dan 1,4 kali
    Karena itu, dalam pelatihan dan inferensi LLM, bottleneck performa makin bergeser ke bandwidth memori, dan khususnya pada model decoder Transformer autoregresif, ini bisa menjadi bottleneck yang dominan
    Tren ini menciptakan kebutuhan akan teknologi seperti Compute-in-memory(CIM) dan processing-in-memory(PIM). Karena perangkat keras ini melakukan komputasi langsung pada data di dalam memori tanpa terlebih dulu memindahkan data ke register CPU, ia dapat mengurangi latensi dan konsumsi daya, serta berpotensi mengakali memory wall
    Makalah tersebut mengekstrapolasi ASIC dan perangkat keras FPGA ke acuan 16nm dengan polynomial fitting untuk membandingkannya pada ukuran proses semikonduktor yang berbeda: “Berdasarkan ‘Scaling equations for the accurate prediction of CMOS device performance from 180 nm to 7nm’ karya Aaron Stillmaker dan B.Baas, kami mengekstrapolasi performa dan efisiensi energi pada teknologi 16nm demi perbandingan yang adil”
    Namun untuk CIM/PIM, mereka tidak melakukan ekstrapolasi dengan alasan bahwa “karena performa akselerator in-memory tidak hanya didasarkan pada teknologi proses, ekstrapolasi hanya dilakukan untuk akselerator FPGA dan ASIC, yang performa sistemnya sangat dipengaruhi oleh teknologi proses.” Sekilas ini terasa seperti keputusan yang aneh, dan mungkin ada orang yang bisa menjelaskan keputusan ini lebih lanjut
    Bacaan tambahan: https://arxiv.org/abs/2403.14123, https://en.m.wikipedia.org/wiki/In-memory_processing, http://vcl.ece.ucdavis.edu/pubs/2017.02.VLSIintegration.Tech...

    • Upaya semacam ini pada umumnya gagal di pasar, dan daftarnya saya rangkum di sini: https://news.ycombinator.com/item?id=41069685
      Meski begitu, saya suka produk yang masuk dalam bentuk modul RAM dan harganya murah. Bisa dibayangkan banyak modul seperti itu ditancapkan ke board 1U lalu diikat dengan interkoneksi berkecepatan tinggi, atau bahkan memenuhi sebuah kartu PCI
    • Sebelum 2018 mungkin benar, tetapi setelah itu Ethernet 400GbE menjadi interkoneksi yang paling cepat diadopsi, dan sekarang interkoneksi 1,6Tbit juga sudah ada
      PCI-e V4 berlalu begitu cepat sampai rasanya umurnya hanya sekitar 2 tahun, dan NVMeOF telah terskala dengan baik seiring performa fabric. H100 DGX saat ini memiliki interkoneksi 400GB/s
    • Saya penasaran apa yang akhirnya terjadi dengan memristor dan janji bahwa memori akan berada berdampingan dengan CPU
    • Benar. Dr. Jung Bae Lee dari Samsung juga baru-baru ini mengatakan hal serupa
      “Pertumbuhan pesat model AI dibatasi oleh kesenjangan yang makin melebar antara performa komputasi dan bandwidth memori. Model generasi berikutnya seperti GPT-5 diperkirakan akan mencapai skala 3 hingga 5 triliun parameter yang belum pernah terjadi sebelumnya, tetapi bottleneck teknis berupa bandwidth memori menjadi hambatan utama untuk sepenuhnya merealisasikan potensinya”
      https://www.lycee.ai/blog/2024-09-04-samsung-memory-bottlene...
  • Saya sudah lama menyukai systolic array, dan setelah meninjau berbagai opsi selama beberapa dekade terakhir, saya melihat kisi Kartesius berisi sel sebagai solusi optimal
    Setiap sel memiliki 4 bit input yang masing-masing datang dari tetangga, dan 4 bit output yang masing-masing keluar ke tetangga. Di tengahnya ada shift register 64-bit pada scan chain panjang, dan outputnya masuk ke 4 multiplexer 16:1 serta latch 4-bit
    Dengan keajaiban graph coloring, jika semua sel diberi clock dalam pola papan catur, data bisa mengalir ke arah mana pun tanpa condong ke arah tertentu dan tanpa race condition. Input sel mana pun akan berada dalam keadaan stabil
    Pendekatan ini memberi fleksibilitas FPGA tanpa harus mengkhawatirkan masalah timing, race condition, glitch, dan sebagainya. Semua jalur juga pendek, sehingga semuanya lokal, cepat, dan berdaya rendah
    Sebagai gantinya, efisiensi gate-nya tidak bagus dan tidak menyediakan jalur terpendek untuk logika. Semua operasi tunggal pada dasarnya terjadi secara paralel, dan semua komputasi dipipeline
    Ini ide yang sudah saya miliki sejak sekitar 1982, dan saya berharap ada yang mengambil alih lalu membuatnya dengan benar. Saya menyebutnya BitGrid

    • Kedengarannya mirip chip GA144 yang dibuat oleh penemu Forth
    • Mengingatkan pada TPU
  • Materi terkait: https://arxiv.org/pdf/2406.08413
    Memory Is All You Need: An Overview of Compute-in-Memory Architectures for Accelerating Large Language Model Inference

  • Saya ingin melihat LLM berjalan di WebGL, tempat segala sesuatu adalah tekstur. Sepertinya cukup menarik jika perbedaan arsitekturnya dilihat secara visual

    • Bukankah itu akan mirip seperti melihat derau statis saja?
    • Bukankah Google punya alat untuk memeriksa status aktivasi matriks? Sepertinya namanya Gemma Scope
  • Bottleneck saat ini adalah pemindahan memori, dan itulah sebabnya HBM mahal. Desain Nvidia juga dioptimalkan untuk memori, bottleneck yang sebenarnya, baik di level chip maupun level sistem

    • Saya penasaran mengapa semua GPU tidak beralih ke HBMx
      Kenyataannya, itu jarang terlihat
  • Apakah arsitektur hibrida FPGA + ASIC + in-memory bisa berperan dalam skalabilitas dan fleksibilitas? FPGA punya keunggulan fleksibilitas, ASIC punya performa, dan in-memory punya efisiensi energi, jadi saya penasaran apakah pendekatan hibrida yang mengintegrasikan semuanya dapat makin meningkatkan performa LLM

    • Biasanya dimulai dulu dengan FPGA + memori, lalu ketika menemukan titik yang tepat saat volume di pasar mulai muncul, FPGA diganti dengan ASIC demi performa dan penghematan biaya. Perusahaan besar cenderung langsung menuju ASIC
  • In-memory tampaknya tepat bukan hanya dari sisi performa, tetapi juga dari arah pendekatannya. Rasanya kurang masuk akal untuk membuat ASIC atau memprogram FPGA demi model yang, kalaupun beruntung, kemungkinan besar akan usang beberapa bulan kemudian

  • Ada makalah tentang menjalankan LLM dengan daya setara satu bola lampu
    https://arxiv.org/abs/2406.02528
    https://news.ucsc.edu/2024/06/matmul-free-llm.html

    • Mereka mengklaim pengurangan memori 90% beserta kode open source yang dapat direproduksi di GPU standar: https://github.com/ridgerchu/matmulfreellm
      Intinya adalah memakai dua teknik untuk menghindari perkalian matriks. Pertama, semua angka di dalam matriks dipaksa menjadi nilai ternary yang hanya memiliki tiga nilai: -1, 0, +1, sehingga perkalian direduksi menjadi penjumlahan. Kedua, alih-alih mengalikan setiap elemen satu per satu, matriks ditumpuk lalu hanya operasi penting yang dijalankan
      Para peneliti mengatakan mereka memperkenalkan komputasi berbasis waktu dalam pelatihan model untuk mempertahankan performa jaringan saraf, dan dengan demikian jaringan memiliki “memori” atas informasi penting yang diprosesnya, sehingga performanya meningkat
      Pada GPU standar, penggunaan memori berkurang sekitar sepersepuluh dan kecepatannya sekitar 25% lebih tinggi, serta dapat menyediakan jalan untuk menjalankan algoritma pada kapasitas maksimum bahkan di perangkat dengan memori kecil seperti smartphone. Prototipe FPGA yang dibuat dalam 3 minggu melampaui throughput yang dapat dibaca manusia hanya dengan daya 13W, sedangkan GPU akan membutuhkan sekitar 700W, sehingga mereka mengatakan hardware kustom lebih dari 50 kali lebih efisien daripada GPU
  • Saya tidak yakin apakah in-memory yang dimaksud di sini berarti hardware khusus yang menggabungkan CPU dan RAM

    • Saya menduga maksudnya adalah memasukkan hardware MAC ke dalam die DRAM. Jika HBM bertumpuk, mungkin bisa masuk ke die substrate
      Mengutip makalah akselerasi lama yang menunjukkan peningkatan 19 kali dibanding DRAM + GPU, “Karena operasi MAC mendominasi sebagian besar waktu eksekusi dalam beban kerja machine learning, kami mengusulkan perkalian di dalam subarray dan akumulasi di dalam bank. Perkalian ditangani dengan metode berbasis kolom yang melakukan operasi AND dan penjumlahan, dengan overhead area tambahan kurang dari 1%”
      https://arxiv.org/pdf/2105.03736
    • In-memory umumnya berarti tidak mengambil ulang data dari media penyimpanan
  • Apakah ada cara untuk melihat konten Arxiv dengan lebih mudah dibaca?
    Setiap kali masuk ke situs itu, saya bingung apakah sebenarnya ada antarmukanya atau tidak, lalu tersesat, sehingga biasanya keluar sebelum sampai ke isinya

    • Dengan menekan View PDF atau HTML (experimental) di kanan atas, Anda bisa masuk ke isi makalah
    • Karena ini situs prapublikasi makalah, pada dasarnya semuanya berbentuk PDF. Baru-baru ini HTML juga ditambahkan: https://arxiv.org/html/2409.03384v1
      Untuk makalah individual, ini cara terbaik, dan ada juga beberapa frontend Arxiv seperti https://arxiv-sanity-lite.com/
    • Saya juga membuka tautan ini hari ini dan sempat berpikir, “Ah, cuma ada abstrak, keluar saja.” Saya pernah membaca makalah Arxiv, tetapi dari UI-nya saja tidak terlihat seperti kontennya tersedia