Rumah  >  Artikel  >  Peranti teknologi  >  58 baris skala kod Llama 3 hingga 1 juta konteks, mana-mana versi yang diperhalusi boleh digunakan

58 baris skala kod Llama 3 hingga 1 juta konteks, mana-mana versi yang diperhalusi boleh digunakan

WBOY
WBOYke hadapan
2024-05-06 18:10:081092semak imbas

.

Bermula pada 32k, 100k adalah perkara biasa hari ini. Adakah ini sengaja meninggalkan ruang untuk sumbangan kepada komuniti sumber terbuka? Komuniti sumber terbuka pastinya tidak melepaskan peluang ini:

Kini dengan hanya 58 baris kod, mana-mana versi Llama 3 70b yang diperhalusi boleh berskala secara automatik kepada 1048k (satu juta)

konteks.

Di belakang ialah LoRA, diekstrak daripada versi Llama 3 70B Instruct yang diperhalusi yang memanjangkan konteks yang baik, Fail hanya 800mb

. 58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Seterusnya, menggunakan Mergekit, anda boleh menjalankannya bersama-sama dengan model lain dengan seni bina yang sama atau menggabungkannya terus ke dalam model.

Versi yang diperhalusi bagi konteks 1048k yang digunakan baru sahaja mencapai markah hijau (100% ketepatan) dalam ujian jarum dalam timbunan jerami yang popular.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用Saya harus mengatakan bahawa kelajuan kemajuan sumber terbuka adalah eksponen. .

58行代码把Llama 3扩展到100万上下文,任何微调版都适用LoRA yang sepadan datang daripada pembangun

Eric Hartford

Dengan membandingkan perbezaan antara model yang diperhalusi dan versi asal, perubahan parameter diekstrak. 58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Dia mula-mula menghasilkan versi kontekstual 524k, dan kemudian mengemas kini versi 1048k.

Pertama sekali, pasukan Gradient meneruskan latihan berdasarkan Llama 3 70B Instruct asal dan memperoleh Llama-3-70B-Instruct-Gradient-1048k. Kaedah khusus adalah seperti berikut:

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Laraskan pengekodan kedudukan: Gunakan interpolasi sedar NTK untuk memulakan penjadualan optimum RoPE theta dan mengoptimumkannya untuk mengelakkan kehilangan maklumat lanjutan frekuensi tinggi length

58行代码把Llama 3扩展到100万上下文,任何微调版都适用Latihan Progresif:

Gunakan kaedah Blockwise RingAttention yang dicadangkan oleh pasukan UC Berkeley Pieter Abbeel untuk memanjangkan panjang konteks model

    Perlu diambil perhatian bahawa parallelization berlapis pasukan melalui topologi rangkaian tersuai untuk menggunakan lebih baik kluster GPU berskala besar digunakan untuk menangani kesesakan rangkaian yang disebabkan oleh memindahkan banyak blok KV antara peranti.
  • Akhirnya, kelajuan latihan model meningkat sebanyak 33 kali ganda. Dalam penilaian prestasi perolehan teks yang panjang, hanya dalam versi yang paling sukar, ralat cenderung berlaku apabila "jarum" disembunyikan di tengah-tengah teks.
  • Selepas mempunyai model yang diperhalusi dengan konteks lanjutan, gunakan alat sumber terbuka Mergekit untuk membandingkan model yang ditala halus dan model asas, dan mengekstrak perbezaan dalam parameter untuk menjadi LoRA.
Juga menggunakan Mergekit, anda boleh menggabungkan LoRA yang diekstrak ke dalam model lain dengan seni bina yang sama.

Kod gabungan juga bersumber terbuka pada GitHub oleh Eric Hartford dan panjangnya hanya 58 baris.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Tidak jelas sama ada gabungan LoRA ini akan berfungsi dengan Llama 3, yang disesuaikan dengan bahasa Cina.

Namun, dapat dilihat masyarakat pemaju Cina telah memberi perhatian terhadap perkembangan ini.

58行代码把Llama 3扩展到100万上下文,任何微调版都适用

Versi 524k LoRA: https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-524k-adapter

1048k versi LoRA: https:/cohugging cognitivecomputations/Llama-3-70B-Gradient-1048k-adapter

Gabung kod: https://gist.github.com/ehartford/731e3f7079db234fa1b98a09

Atas ialah kandungan terperinci 58 baris skala kod Llama 3 hingga 1 juta konteks, mana-mana versi yang diperhalusi boleh digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam