Jadual Kandungan
tali (embed kedudukan berputar)
MLA: Pikiran Lanjutan
ke dalam vektor laten rendah dimensi yang dimensi
Rujukan " > DeepSeek-V3 Explained 1: Multi-head Latent Attention Rujukan
Rumah Peranti teknologi AI DeepSeek-V3 dijelaskan 1: Perhatian laten berbilang kepala

DeepSeek-V3 dijelaskan 1: Perhatian laten berbilang kepala

Feb 26, 2025 am 03:00 AM

DeepSeek-V3 Siri Penjelasan Terperinci Artikel: Mekanisme Perhatian Potensi Bulls (MLA)

Artikel ini adalah artikel pertama dalam siri "terperinci mengenai siri DeepSeek-V3".

Siri artikel ini akan merangkumi dua topik utama:

  • Inovasi seni bina utama DeepSeek-V3 termasuk MLA (Bulner potensi perhatian) [3], DeepSeekMoe [4], mengimbangi beban tanpa kerugian tambahan [5], dan latihan ramalan berbilang tag.
  • Proses latihan DeepSeek-V3, termasuk fasa penjajaran pembelajaran pra-latihan, penalaan dan tetulang.

Artikel ini terutamanya memberi tumpuan kepada mekanisme perhatian berpotensi multi-kepala (MLA) , yang pada asalnya dicadangkan dalam pembangunan DeepSeek-V2 dan telah digunakan dalam DeepSeek-V3.

katalog:

  • Latar Belakang: Kami akan bermula dengan MHA standard dan menjelaskan mengapa cache nilai kunci diperlukan semasa fasa kesimpulan, bagaimana MQA dan GQA cuba mengoptimumkannya, dan bagaimana tali berfungsi, dan lain-lain.
  • Mekanisme Perhatian Potensi (MLA): Pengenalan mendalam kepada MLA, termasuk motivasinya, mengapa ia perlu meremehkan tali dan prestasinya.
  • Rujukan.
latar belakang

untuk lebih memahami MLA dan membuat artikel ini satu-dalam-satu, kami akan mengkaji beberapa konsep yang berkaitan dalam bahagian ini sebelum membincangkan butiran MLA.

mha dalam pengubah decoder

Perhatikan bahawa MLA dibangunkan untuk mempercepatkan kesimpulan generasi teks autoregressive, jadi MHA yang dibincangkan dalam konteks ini adalah untuk pengubah decoder sahaja.

Angka berikut membandingkan tiga seni bina pengubah untuk penyahkodan, di mana (a) menunjukkan pengekod dan penyahkod yang dicadangkan dalam "Perhatian yang anda perlukan" yang asal. Bahagian penyahkod kemudian dipermudahkan oleh [6] untuk mendapatkan model pengubah decoder sahaja yang ditunjukkan dalam (b), yang kemudiannya digunakan oleh banyak model generatif seperti GPT [8].

Hari ini, model bahasa yang besar lebih kerap memilih struktur yang ditunjukkan dalam (c) untuk latihan yang lebih stabil, gunakan normalisasi pada input dan bukannya output, dan menaik taraf Layernorm kepada norma RMS. Ini akan berfungsi sebagai seni bina asas yang kita bincangkan dalam artikel ini.

Dalam konteks ini, pengiraan MHA sebahagian besarnya mengikuti proses dalam [6], seperti yang ditunjukkan dalam gambar di bawah: DeepSeek-V3 Explained 1: Multi-head Latent Attention

Katakan kita mempunyai DeepSeek-V3 Explained 1: Multi-head Latent Attention n_h kepala perhatian, dan dimensi setiap kepala perhatian dinyatakan sebagai d_h , jadi dimensi yang disambungkan akan ( h_n · d_h ). untuk model dengan lapisan

l

, jika kita mewakili input tag t-th dalam lapisan itu sebagai h_t dengan dimensi d , maka Kita perlu menggunakan matriks pemetaan linear untuk memetakan dimensi h_t dari d ke ( h_n · d_h ). lebih formal, kita ada (EQ dari [3]):

DeepSeek-V3 Explained 1: Multi-head Latent Attention di mana w^q , w^k dan w^v adalah matriks pemetaan linear:

Selepas pemetaan, pecahkan

q_t DeepSeek-V3 Explained 1: Multi-head Latent Attention, k_t dan v_t ke n_h t untuk mengira produk titik berkadar di mana

w^o

adalah satu lagi matriks unjuran yang digunakan untuk memetakan dimensi terbalik dari (DeepSeek-V3 Explained 1: Multi-head Latent Attention h_n · d_h ) ke d : Perhatikan bahawa prosedur yang diterangkan di atas dalam persamaan (1) hingga (8) hanya untuk penanda tunggal. Semasa proses penalaran, kita perlu mengulangi proses ini untuk setiap markup yang baru dijana, yang melibatkan banyak pengiraan berulang. Ini membawa kepada teknik yang dipanggil caching nilai utama. cache nilai kunci

Seperti namanya, caching nilai utama adalah teknik yang direka untuk mempercepat proses autoregression dengan caching dan menggunakan semula kunci dan nilai sebelumnya, dan bukannya mengira semula mereka dalam setiap langkah penyahkodan. DeepSeek-V3 Explained 1: Multi-head Latent Attention

Perhatikan bahawa cache KV biasanya hanya digunakan dalam fasa kesimpulan, kerana semasa latihan kita masih perlu memproses keseluruhan urutan input selari.

cache kV biasanya dilaksanakan sebagai penampan rolling. Dalam setiap langkah penyahkodan, hanya pertanyaan baru Q dikira, dan K dan V yang disimpan dalam cache akan digunakan semula untuk mengira perhatian menggunakan Q dan digunakan semula K dan V. Pada masa yang sama, K dan V yang baru juga akan ditambah ke cache untuk kegunaan kemudian.

Walau bagaimanapun, pecutan yang dibawa oleh cache nilai kunci datang pada kos ingatan, kerana cache nilai kunci biasanya berbeza dengan

saiz batch × urutan panjang × saiz tersembunyi × kiraan kepala

apabila kita mempunyai lebih besar boleh menyebabkan kesesakan memori apabila saiz atau urutan batch lebih panjang.

Ini seterusnya membawa kepada dua teknik yang direka untuk menangani batasan ini: perhatian pelbagai pertanyaan dan perhatian kumpulan.

Perhatian Multiple-Query (MQA) vs Perhatian Kumpulan Kumpulan (GQA) Angka berikut menunjukkan perbandingan antara MHA asal, dikumpulkan perhatian pertanyaan (GQA) [10] dan perhatian pelbagai pertanyaan (MQA) [9].

Idea asas MQA adalah untuk berkongsi kunci tunggal dan tajuk nilai tunggal di semua tajuk pertanyaan, yang dapat mengurangkan penggunaan memori dengan ketara tetapi juga akan mempengaruhi ketepatan perhatian.

GQA boleh dianggap sebagai kaedah interpolasi antara MHA dan MQA, di mana hanya satu sepasang kunci dan tajuk nilai akan dikongsi dengan hanya satu set tajuk pertanyaan, bukan semua pertanyaan. Tetapi ini masih akan membawa kepada hasil yang lebih buruk daripada MHA.

Dalam bab -bab yang kemudian, kita akan melihat bagaimana MLA berjaya mengimbangi kecekapan memori dan ketepatan pemodelan.

tali (embed kedudukan berputar)

Latar belakang terakhir yang perlu kita sebutkan adalah tali [11], yang secara langsung mengkodekan maklumat kedudukan ke dalam mekanisme perhatian dengan memutar pertanyaan dan vektor utama dalam perhatian multi-kepala menggunakan fungsi sinus.

Lebih khusus, tali menggunakan matriks putaran yang bergantung kepada kedudukan untuk pertanyaan setiap tag dan vektor utama dan menggunakan fungsi sinus dan kosinus sebagai asasnya, tetapi menggunakannya dengan cara yang unik untuk melaksanakan berputar.

Untuk memahami apa yang menjadikannya bergantung kepada kedudukan, pertimbangkan vektor embedding mainan dengan hanya 4 elemen, iaitu (x_1, x_2, x_3, x_4).

Untuk memohon tali, kami mula -mula kumpulan dimensi berterusan menjadi pasangan:

    (x_1, x_2) -& gt;
  • (x_3, x_4) -& gt;
  • maka kami menggunakan matriks putaran untuk memutar setiap pasangan:

di mana θ = θ (p) = p ⋅ θ_0, dan θ_0 adalah frekuensi asas

. Dalam contoh mainan 4D kami, ini bermakna (x_1, x_2) akan berputar θ_0, manakala (x_3, x_4) akan berputar 2 ⋅ θ_0.

DeepSeek-V3 Explained 1: Multi-head Latent Attention Inilah sebabnya kita panggil matriks putaran ini yang berkaitan dengan kedudukan : Pada setiap kedudukan (atau setiap pasangan), kita akan menggunakan matriks putaran yang berbeza di mana sudut putaran ditentukan oleh kedudukan.

tali digunakan secara meluas dalam model bahasa besar moden kerana kecekapannya dalam pengekodan urutan panjang, tetapi seperti yang dapat kita lihat dari formula di atas, ia mempunyai kepekaan kedudukan untuk kedua -dua q dan k, yang menjadikannya dalam beberapa aspek ini tidak serasi dengan MLA. Mekanisme Perhatian Potensi Bules

Akhirnya, kita boleh terus membincangkan bahagian MLA. Dalam bahagian ini, kita akan mula -mula menghuraikan idea -idea lanjutan MLA dan kemudian menyelam mengapa ia memerlukan pengubahsuaian tali. Akhirnya, kami juga akan memperkenalkan algoritma terperinci dan prestasi MLA mereka.

MLA: Pikiran Lanjutan

Idea asas MLA adalah untuk memampatkan input perhatian

h_t

ke dalam vektor laten rendah dimensi yang dimensi

d_c

, di mana d_c lebih kecil daripada yang asal ( h_n · d_h ). Kemudian, apabila kita perlu mengira perhatian, kita dapat memetakan vektor laten ini kembali ke ruang dimensi tinggi untuk memulihkan kunci dan nilai. Oleh itu, hanya vektor yang berpotensi perlu disimpan, dengan itu mengurangkan penggunaan memori dengan ketara. Proses ini dapat diterangkan secara formal dengan persamaan berikut, di mana c^{kv} _t adalah vektor laten, dan w^{dkv} h_t dipetakan dari (

h_n

· d_h ) ke matriks pemampatan d_c (D dalam superskrip di sini mewakili "unjuran pengurangan dimensi ", yang bermaksud pemampatan, dan w^{uk} dan w^{uv} adalah kedua-dua matriks unjuran atas yang memetakan vektor laten yang dikongsi kembali ke ruang dimensi tinggi. Begitu juga, kita boleh memetakan pertanyaan ke vektor berpotensi rendah dan kemudian memetakannya kembali ke ruang dimensi tinggi yang asal:

DeepSeek-V3 Explained 1: Multi-head Latent Attention ### Mengapa anda perlu menyahut tali

Seperti yang dinyatakan sebelum ini, tali adalah pilihan umum untuk model generatif latihan untuk mengendalikan urutan panjang. Jika kita memohon dasar MLA di atas secara langsung, ini tidak sesuai dengan tali.

untuk melihat ini dengan lebih jelas, pertimbangkan apa yang berlaku apabila kita mengira perhatian menggunakan eqn. Matriks w^q dan w^{uk} akan muncul di tengah, dan kombinasi mereka bersamaan dengan dari d_c Dimensi pemetaan untuk . Dalam kertas asal [3], penulis menggambarkannya sebagai w^{uk} yang boleh diserap oleh "" ke w^q

, oleh itu, Kami tidak perlu menyimpan

w^{uk} dalam cache, dengan itu mengurangkan lagi penggunaan memori. Walau bagaimanapun, ini tidak berlaku apabila kita mempertimbangkan matriks putaran dalam Rajah (4), kerana tali akan menggunakan matriks putaran di sebelah kiri w^{uk} dan matriks putaran ini akhirnya akan Terletak di antara w^q dan w^{uk} transposed.

Seperti yang dijelaskan dalam bahagian latar belakang, matriks putaran ini bergantung kepada kedudukan, yang bermaksud bahawa matriks putaran untuk setiap kedudukan adalah berbeza. Oleh itu,

w^{uk} ** tidak boleh diserap oleh w^q ** ************************ ****************************************************** boleh lebih lama diserap oleh w^q ** . Untuk menyelesaikan konflik ini, penulis mencadangkan apa yang mereka sebut "

decoupled tali

", dengan memperkenalkan vektor pertanyaan tambahan serta vektor utama yang dikongsi, dan menggunakan vektor tambahan ini hanya dalam proses tali, di Masa yang sama menyimpan kunci asal secara berasingan dari matriks putaran sedikit sebanyak. keseluruhan proses MLA dapat diringkaskan seperti berikut (nombor persamaan digunakan semula dari Lampiran C [3]):

di mana

eqn. eqn.

eqn.

eqn. DeepSeek-V3 Explained 1: Multi-head Latent Attention

    Dalam proses ini, anda hanya perlu cache pembolehubah biru dengan kotak. Proses ini dapat dijelaskan dengan lebih jelas menggunakan carta aliran berikut:
  • ### Prestasi MLA
  • Jadual berikut membandingkan bilangan elemen yang diperlukan untuk cache KV (setiap tag) dan keupayaan pemodelan antara MHA, GQA, MQA dan MLA, yang menunjukkan bahawa MLA sememangnya dapat mencapai lebih baik antara kecekapan memori dan kemampuan pemodelan yang baik. Menariknya, keupayaan pemodelan MLA bahkan melampaui MHA asal.
  • DeepSeek-V3 Explained 1: Multi-head Latent Attention Lebih khusus lagi, jadual berikut menunjukkan prestasi MHA, GQA dan MQA pada model 7B, di mana MHA mempunyai prestasi yang jauh lebih baik daripada MQA dan GQA.

    Penulis

    DeepSeek-V3 Explained 1: Multi-head Latent Attention [3] juga menganalisis MHA dan MLA, dan hasilnya diringkaskan dalam jadual di bawah, di mana MLA mencapai hasil yang lebih baik secara keseluruhan.

    DeepSeek-V3 Explained 1: Multi-head Latent Attention Rujukan

    • [1] DeepSeek
    • [2] Laporan Teknikal DeepSeek-V3
    • [3] DeepSeek-V2: Model Bahasa Pakar Hibrid yang Berkesan, Kos
    • [4] DeepSeekMoe: Ke arah Pengkhususan Pakar Akhir dalam Model Bahasa Pakar Hibrid
    • [5] Strategi pengimbangan beban kerugian yang tidak disokong untuk model pakar hibrid
    • [6] Perhatian adalah semua yang anda perlukan
    • [7] menjana wikipedia dengan meringkaskan urutan panjang
    • [8] meningkatkan pemahaman bahasa melalui pra-latihan generatif
    • [9] Penyahkodan Pengubah Cepat: Kepala menulis cukup
    • [10] GQA: Latihan model pengubah multi-kuars yang umum dari pusat pemeriksaan berbilang kepala
    • [11] Roformer: Pengubah yang dipertingkatkan dengan kedudukan berputar embed

Atas ialah kandungan terperinci DeepSeek-V3 dijelaskan 1: Perhatian laten berbilang kepala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1665
14
Tutorial PHP
1269
29
Tutorial C#
1249
24
10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari 10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari Apr 13, 2025 am 01:14 AM

Hei ada, pengekodan ninja! Apa tugas yang berkaitan dengan pengekodan yang anda telah merancang untuk hari itu? Sebelum anda menyelam lebih jauh ke dalam blog ini, saya ingin anda memikirkan semua kesengsaraan yang berkaitan dengan pengekodan anda-lebih jauh menyenaraikan mereka. Selesai? - Let &#8217

GPT-4O vs OpenAI O1: Adakah model Openai baru bernilai gembar-gembur? GPT-4O vs OpenAI O1: Adakah model Openai baru bernilai gembar-gembur? Apr 13, 2025 am 10:18 AM

Pengenalan OpenAI telah mengeluarkan model barunya berdasarkan seni bina "strawberi" yang sangat dijangka. Model inovatif ini, yang dikenali sebagai O1, meningkatkan keupayaan penalaran, yang membolehkannya berfikir melalui masalah MOR

Panduan Komprehensif untuk Model Bahasa Visi (VLMS) Panduan Komprehensif untuk Model Bahasa Visi (VLMS) Apr 12, 2025 am 11:58 AM

Pengenalan Bayangkan berjalan melalui galeri seni, dikelilingi oleh lukisan dan patung yang terang. Sekarang, bagaimana jika anda boleh bertanya setiap soalan dan mendapatkan jawapan yang bermakna? Anda mungkin bertanya, "Kisah apa yang anda ceritakan?

Pixtral -12b: Model Multimodal Pertama Mistral Ai ' Pixtral -12b: Model Multimodal Pertama Mistral Ai ' Apr 13, 2025 am 11:20 AM

Pengenalan Mistral telah mengeluarkan model multimodal yang pertama, iaitu Pixtral-12B-2409. Model ini dibina atas parameter 12 bilion Mistral, NEMO 12B. Apa yang membezakan model ini? Ia kini boleh mengambil kedua -dua gambar dan Tex

Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

Pernyataan Jadual Alter SQL: Menambah lajur secara dinamik ke pangkalan data anda Dalam pengurusan data, kebolehsuaian SQL adalah penting. Perlu menyesuaikan struktur pangkalan data anda dengan cepat? Pernyataan Jadual ALTER adalah penyelesaian anda. Butiran panduan ini menambah colu

Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Apr 14, 2025 am 11:09 AM

Penanda Aras Bermasalah: Kajian Kes Llama Pada awal April 2025, Meta melancarkan model Llama 4 suite, dengan metrik prestasi yang mengagumkan yang meletakkan mereka dengan baik terhadap pesaing seperti GPT-4O dan Claude 3.5 sonnet. Pusat ke LAUNC

Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Apr 23, 2025 am 11:30 AM

Semasa bekerja pada AIS AI, pemaju sering mendapati diri mereka menavigasi perdagangan antara kelajuan, fleksibiliti, dan kecekapan sumber. Saya telah meneroka rangka kerja AI yang agentik dan menjumpai Agno (sebelum ini adalah Phi-

Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Apr 14, 2025 am 11:27 AM

Bolehkah permainan video meringankan kebimbangan, membina fokus, atau menyokong kanak -kanak dengan ADHD? Memandangkan cabaran penjagaan kesihatan melonjak di seluruh dunia - terutamanya di kalangan belia - inovator beralih kepada alat yang tidak mungkin: permainan video. Sekarang salah satu hiburan terbesar di dunia Indus

See all articles