Anda sedang dalam wawancara Ilmuwan Riset di OpenAI. Pewawancara bertanya: "Bagaimana Anda memperluas panjang konteks LLM dari 2K menjadi 128K token?" Anda: "Saya akan menyempurnakan model pada dokumen yang lebih panjang dengan konteks 128K" Wawancara selesai. Inilah yang Anda lewatkan:
Memperluas jendela konteks bukan hanya tentang matriks yang lebih besar. Dalam transformator tradisional, memperluas token sebesar 8x meningkatkan kebutuhan memori sebesar 64x karena kompleksitas perhatian kuadrat. Lihat gambar di bawah ini! Jadi, bagaimana kita mengelolanya? terus... 👇
1) Perhatian Jarang Ini membatasi perhitungan perhatian ke subset token dengan: - Menggunakan perhatian lokal (token hanya melayani tetangga mereka). - Membiarkan model mempelajari token mana yang harus difokuskan. Tetapi ini memiliki trade-off antara kompleksitas komputasi dan kinerja.
Ide serupa digunakan di ModernBERT. → Perhatian global penuh setiap lapisan ke-3 → Perhatian lokal (128 token) sebaliknya Hasil: - Panjang urutan 16x lebih besar - Kinerja yang jauh lebih baik - Encoder paling hemat memori Sederhana namun kuat. 👇
Berikut adalah penjelasan intuitif yang diambil dari makalah tersebut: Bayangkan diri Anda membaca buku. Untuk setiap kalimat yang Anda baca, apakah Anda perlu sepenuhnya menyadari seluruh plot untuk memahami sebagian besar (perhatian global penuh)? Atau apakah kesadaran akan bab saat ini cukup (perhatian lokal), selama Anda sesekali memikirkan kembali signifikansinya terhadap plot utama (perhatian global)? Dalam sebagian besar kasus, itu adalah yang terakhir.
2) Perhatian Flash Ini adalah metode yang cepat dan hemat memori yang mempertahankan ketepatan mekanisme perhatian tradisional, yaitu menggunakan perhatian global tetapi secara efisien. Seluruh ide berkisar pada pengoptimalan pergerakan data dalam memori GPU. Mari kita pahami!
Beberapa detail latar belakang: - Utas adalah unit eksekusi terkecil. - Beberapa utas membentuk balok. Juga: - Utas dalam blok berbagi memori cepat (tetapi langka) yang disebut SRAM. - Semua blok berbagi memori global yang disebut HBM (melimpah tetapi lambat). Periksa ini 👇
Perhatian memindahkan matriks besar antara SRAM dan HBM: Untuk menghitung QK: - mendistribusikan matriks ke utas - komputasi, dan - kirim produk ke HBM Untuk menghitung softmax: - mendistribusikan produk ke utas - komputasi, dan - kirim output ke HBM Ulangi untuk semua lapisan. Periksa ini 👇
Perhatian flash melibatkan pengoptimalan tingkat perangkat keras di mana ia menggunakan SRAM untuk menyimpan hasil perantara dalam cache. Dengan cara ini, ini mengurangi gerakan yang berlebihan, menawarkan kecepatan hingga 7,6x dibandingkan metode perhatian standar. Periksa ini 👇
98,93K