Pembangun Mencipta Implementasi Penuh GPT-2 dalam Shader WebGL, Komuniti Meneroka Pendekatan Alternatif

BigGo Editorial Team
Pembangun Mencipta Implementasi Penuh GPT-2 dalam Shader WebGL, Komuniti Meneroka Pendekatan Alternatif

Dalam demonstrasi kemampuan AI berasaskan pelayar yang luar biasa, seorang pembangun telah mencipta implementasi lengkap GPT-2 kecil (117 juta parameter) yang berjalan sepenuhnya dalam shader WebGL2. Projek ini menunjukkan bagaimana pelayar moden boleh memanfaatkan pecutan GPU untuk tugas pembelajaran mesin tanpa bergantung pada rangka kerja khusus.

WebGL berbanding WebGPU: Soal Keserasian dan Pengalaman

Pembangun memilih WebGL berbanding standard WebGPU yang lebih baharu terutamanya kerana kebiasaan dan keperluan projek. Menurut komen daripada pencipta, ini dibangunkan sebagai projek akhir untuk kelas grafik yang banyak menggunakan WebGL. Ahli komuniti menunjukkan bahawa walaupun WebGPU mungkin menawarkan kelebihan prestasi, WebGL menyediakan keserasian yang lebih luas merentasi pelayar. Seorang pengomen menyatakan bahawa sokongan WebGPU masih tidak menentu di pelbagai platform, menjadikan WebGL pilihan yang lebih dipercayai untuk akses universal.

Perbincangan menekankan bahawa beberapa perpustakaan sedia ada seperti transformers.js sudah memanfaatkan WebGPU, menjadikan implementasi WebGL ini terkenal kerana keasliannya dan bukan hanya fungsinya. Projek ini menyertai implementasi kreatif lain model bahasa dalam persekitaran yang tidak dijangka, termasuk dunia VRChat yang disebutkan menjalankan Qwen2-0.5B dalam shader dan bahkan implementasi GPT-2 sebelumnya dalam Microsoft Excel.

Implementasi Teknikal dan Pertimbangan Prestasi

Implementasi ini mempunyai forward pass GPT-2 kecil yang lengkap berjalan pada GPU melalui shader WebGL2, dengan tokenisasi BPE dikendalikan oleh js-tiktoken secara langsung dalam pelayar tanpa memerlukan pengambilan WebAssembly. Ahli komuniti menyatakan minat dalam memahami ciri-ciri prestasi, terutamanya berapa banyak masa inferens yang terikat dengan GPU berbanding terikat dengan CPU dalam persekitaran pelayar.

Projek yang sangat hebat! Berapa banyak masa inferens yang sebenarnya terikat dengan GPU berbanding terikat dengan CPU dalam pelayar? Ingin tahu jika WebGPU akan menawarkan peningkatan prestasi yang besar berbanding WebGL2 di sini.

Soalan ini menyoroti pertimbangan teknikal utama untuk pembelajaran mesin berasaskan pelayar: keseimbangan antara beban kerja GPU dan CPU boleh memberi kesan besar kepada prestasi keseluruhan. Beberapa pengomen mencadangkan bahawa menolak teknologi lama seperti WebGL sebenarnya mungkin menggalakkan pemahaman yang lebih mendalam tentang bagaimana model ini berfungsi berbanding dengan menggunakan perpustakaan baharu yang mengabstrakkan butiran implementasi.

Ciri-ciri Teknikal Projek

  • Larian penuh GPT-2 kecil (117M) di GPU melalui shader WebGL2
  • Pengetokanan BPE menggunakan js-tiktoken dalam pelayar (tanpa pengambilan WASM)
  • Skrip Python untuk memuat turun pemberat pra-latihan

Prasyarat

  • Node.js ≥ 16.x dan npm
  • Python ≥ 3.8
  • Pelayar moden dengan sokongan WebGL2 (Chrome, Firefox, Safari, Edge)

Projek Komuniti Serupa yang Dirujuk

  • Implementasi GPT-2 dalam Excel
  • Qwen2-0.5B yang berjalan dalam shader dunia VRChat
  • transformers.js menggunakan runtime ONNX (menyokong WASM, WebGL, WebGPU, WebNN)

Cabaran Penempatan dan Kebolehcapaian

Projek ini kini menghadapi cabaran penempatan, terutamanya berkaitan dengan pengedaran berat. Walaupun kod tersedia di GitHub, pengguna mendapati kesukaran mengakses demo langsung kerana masalah dengan pengehosan berat model. Beberapa ahli komuniti mencadangkan penyelesaian, termasuk mengambil berat terus dari repositori Hugging Face mengikut permintaan dan bukannya menggabungkannya dengan aplikasi.

Pencipta menyebut sedang bekerja pada penempatan GitHub Pages tetapi mengakui cabaran dengan pendekatan semasa untuk memuatkan berat. Ahli komuniti menawarkan cadangan berguna, termasuk merujuk kepada projek sedia ada yang berjaya mengambil berat GPT-2 dari Hugging Face secara dinamik.

Projek ini mewakili persilangan menarik antara pengaturcaraan grafik dan pembelajaran mesin, menunjukkan bahawa pelayar moden semakin mampu menjalankan model AI canggih secara langsung di sisi klien. Dengan teknologi pelayar terus berkembang, kita boleh menjangkakan untuk melihat lebih banyak aplikasi inovatif yang memanfaatkan pecutan GPU untuk tugas AI tanpa memerlukan perkakasan atau persekitaran perisian khusus.

Rujukan: GPT-2 WebGL Inference Demo