Setiap token perkataan mempunyai taburan kebarangkalian yang menunjukkan berapa banyak ia menghadiri token lain. Sebagai contoh, perkataan "cinta" menghadiri "hello" dengan kebarangkalian 0.05, "i" dengan 0.3, dan sendiri dengan 0.65.
Walau bagaimanapun, tanpa embeddings kedudukan, LLM berjuang untuk memahami kedudukan relatif token, menjadikannya sukar untuk membezakan urutan seperti "Hello I Love You" dari "Anda Suka Saya Hello". Pengiraan QKT mengaitkan token tanpa mempertimbangkan jarak kedudukan, merawat masing -masing sebagai sama.
Untuk menyelesaikannya, pengekodan posisi diperkenalkan, memberikan isyarat berangka yang membantu model memahami susunan token.
Embeddings positional tradisional
Dalam perhatian asal adalah semua yang anda perlukan kertas, embeddings posting sinusoidal dicadangkan, di mana setiap vektor ditakrifkan sebagai fungsi sinusoidal kedudukannya. Embeddings ini ditambah kepada vektor urutan input sebagai:
Sesetengah model, seperti Bert, memperkenalkan embeddings posisional yang dipelajari, yang dipelajari semasa latihan.
Cabaran dengan embeddings posting mutlak
Sinusoidal dan embeddings positional yang dipelajari adalah mutlak, pengekodan kedudukan unik. Walau bagaimanapun, seperti yang dinyatakan oleh Huang et al. dan Su et al., Embeddings mutlak boleh menghalang prestasi untuk urutan yang panjang. Isu utama termasuk:
- Batasan Input Long: Lembutan mutlak melakukan buruk ketika mengendalikan urutan panjang kerana mereka memberi tumpuan kepada kedudukan tetap dan bukannya jarak relatif.
- Panjang Latihan Tetap: Embeddings yang dipelajari mengikat model dengan panjang latihan maksimum, mengehadkan keupayaannya untuk umum kepada input yang lebih panjang.
Kemajuan: Pembasmian kedudukan relatif
Untuk menangani cabaran -cabaran ini, embeddings kedudukan relatif telah mendapat daya tarikan. Dua kaedah yang ketara termasuk:
- Embedding kedudukan berputar (tali)
- Alibi (perhatian dengan bias linear)
Kedua-dua kaedah mengubah suai pengiraan QKT untuk menggabungkan perintah kalimat terus ke dalam mekanisme perhatian diri, memperbaiki bagaimana model mengendalikan input teks panjang.
Kedudukan Rotary Embedding (Tali) menyandi maklumat kedudukan dengan berputar pertanyaan dan vektor utama dengan sudut dan, masing -masing, di mana menunjukkan kedudukan:
Di sini, adalah matriks putaran, dan dipratentukan berdasarkan panjang input maksimum latihan.
Pendekatan ini membolehkan LLM memberi tumpuan kepada jarak relatif, meningkatkan generalisasi untuk urutan yang lebih lama dan memudahkan pengoptimuman khusus tugas yang cekap.
input_ids = tokenizer (prompt, return_tensors = "pt") ["input_ids"]. ke ("cuda")
untuk _ dalam julat (5):
next_logits = model (input_ids) ["logit"] [:, -1:]
next_token_id = obor.argmax (next_logits, dim = -1)
input_ids = obor.cat ([input_ids, next_token_id], dim = -1)
Cetak ("Bentuk input_ids", input_ids.shape)
Generated_text = tokenizer.batch_decode (input_ids [:, -5:])
Generated_text
Salin selepas log masuk

past_key_values = tiada # past_key_values adalah cache nilai kunci
Generated_tokens = []
next_token_id = tokenizer (prompt, return_tensors = "pt") ["input_ids"]. ke ("cuda")
untuk _ dalam julat (5):
next_logits, past_key_values = model (next_token_id, past_key_values = past_key_values, use_cache = true) .to_tuple ()
next_logits = next_logits [:, -1:]
next_token_id = obor.argmax (next_logits, dim = -1)
Cetak ("Bentuk input_ids", next_token_id.shape)
cetak ("panjang cache nilai kunci", len (past_key_values [0] [0])) # PAST_KEY_VALUES terbentuk [num_layers, 0 untuk k, 1 untuk v, batch_size, panjang, tersembunyi_dim]
Generated_tokens.append (next_token_id.item ())
Generated_text = tokenizer.batch_decode (Generated_Tokens)
Generated_text
Salin selepas log masuk

config = model.config
2 * 16_000 * config.n_layer * config.n_head * config.n_embd // config.n_head
Salin selepas log masuk
Output
7864320000
Salin selepas log masuk
Kesimpulan
Mengoptimumkan seni bina LLM untuk input teks panjang dan aplikasi sembang dinamik adalah penting dalam memajukan kebolehgunaan dunia sebenar mereka. Cabaran menguruskan konteks input yang luas, mengekalkan kecekapan pengiraan, dan memberikan interaksi perbualan yang bermakna memerlukan penyelesaian inovatif di peringkat seni bina. Teknik-teknik seperti embedding kedudukan berputar (tali), alibi, dan perhatian kilat menggambarkan potensi transformasi komponen pusat penalaan halus seperti embeddings kedudukan dan perhatian diri.
Memandangkan bidang itu terus maju, pusat pencampuran keberkesanan pengiraan dengan inventif kejuruteraan akan memacu gelombang terobosan berikut. Dengan memahami dan merealisasikan prosedur ini, pereka boleh menangani kawalan keseluruhan LLM, menjamin mereka tidak adil tetapi terlalu mudah disesuaikan, responsif, dan biasa untuk aplikasi dunia nyata yang berbeza.
Takeaways utama
- Teknik seperti tali dan alibi meningkatkan keupayaan LLM untuk memproses teks yang lebih panjang tanpa mengorbankan prestasi.
- Inovasi seperti perhatian kilat dan perhatian tingkap gelongsor mengurangkan penggunaan memori, menjadikan model besar praktikal untuk aplikasi dunia nyata.
- Mengoptimumkan LLM untuk input teks yang panjang meningkatkan keupayaan mereka untuk mengekalkan konteks dan koheren dalam perbualan lanjutan dan tugas yang kompleks.
- LLMS berkembang untuk menyokong tugas-tugas seperti ringkasan, pengambilan semula, dan dialog berbilang pusingan dengan skalabiliti dan respons yang lebih baik.
- Mengurangkan ketepatan model meningkatkan kecekapan pengiraan sambil mengekalkan ketepatan, membolehkan penggunaan yang lebih luas.
- Reka bentuk seni bina yang mengimbangi dan pengoptimuman sumber memastikan LLM kekal berkesan untuk kes -kes penggunaan yang pelbagai dan berkembang.
Soalan yang sering ditanya
Q1. 1. Apa itu LLM, dan mengapa mereka penting? A. Model bahasa yang besar (LLMS) adalah model AI yang digariskan untuk mendapatkannya dan mencipta kandungan seperti manusia. Mereka adalah kritikal kerana keupayaan mereka untuk melaksanakan pelbagai tugasan, dari menjawab soalan -soalan kepada pengarang imajinatif, menjadikan mereka alat yang fleksibel untuk perniagaan yang berbeza.
S2. Bagaimanakah tali dan alibi meningkatkan LLM? A. Tali (pengekodan posisi berputar) dan alibi (perhatian dengan bias linear) meningkatkan LLM dengan meningkatkan keupayaan mereka untuk mengendalikan konteks yang panjang, memastikan pemprosesan teks yang lanjutan tanpa kehilangan koheren.
Q3. Apakah perhatian kilat, dan bagaimanakah ia mengoptimumkan penggunaan memori? A. Perhatian Flash adalah algoritma yang mengira perhatian dengan lebih cekap, mengurangkan penggunaan memori dan mempercepatkan pemprosesan untuk model berskala besar.
Q4. Mengapa kuantisasi penting untuk LLMS? A. Kuantisasi mengurangkan ketepatan menunjukkan berat (contohnya, dari 32-bit hingga 8-bit), yang membawa keperluan pengiraan dan penggunaan ingatan manakala mengekalkan pelaksanaan, memperkasakan susunan pada alat yang lebih kecil.
S5. Apakah cabaran yang kekal untuk penskalaan LLMs lagi? A. Cabaran utama termasuk menguruskan kos pengiraan dan ingatan, menangani kebimbangan etika seperti kecenderungan dan penyalahgunaan, dan memastikan model dapat secara umum secara efektif merentasi tugas dan bahasa yang pelbagai.
S6. Bagaimanakah LLM boleh dioptimumkan untuk memproses input teks panjang dengan berkesan? A. Mengoptimumkan LLM untuk input teks yang panjang melibatkan teknik seperti pengembangan tetingkap konteks, mekanisme memori, dan pemprosesan token yang cekap untuk memastikan mereka mengekalkan koheren dan prestasi semasa perbualan lanjutan atau analisis dokumen.