Rumah > Peranti teknologi > AI > teks badan

Parameter model ChatGPT ≠ 175 bilion, seseorang membuktikannya menggunakan bukti dengan percanggahan

WBOY
Lepaskan: 2023-04-08 11:51:06
ke hadapan
1001 orang telah melayarinya

Kepopularan ChatGPT berterusan sehingga hari ini, dengan berita tergempar dan tafsiran teknikal yang mengelilinginya sentiasa muncul. Mengenai nombor parameternya, terdapat andaian biasa bahawa ChatGPT mempunyai bilangan parameter yang sama seperti model parameter 175 bilion yang diperkenalkan dalam kertas GPT-3. Walau bagaimanapun, orang yang bekerja secara mendalam dalam bidang model bahasa besar tahu bahawa ini tidak benar. Dengan menganalisis lebar jalur memori GPU A100, kami mendapati bahawa kelajuan inferens sebenar API ChatGPT jauh lebih pantas daripada kelajuan inferens teori maksimum bagi model bersamaan Padat 175 bilion.

Artikel ini akan menggunakan bukti dengan percanggahan untuk membuktikan dan menyokong hujah di atas, hanya menggunakan beberapa pengetahuan teori yang dipelajari di kolej. Juga ambil perhatian bahawa terdapat juga masalah yang bertentangan, iaitu sesetengah orang mendakwa bahawa ChatGPT hanya mempunyai parameter X bilion (X jauh lebih rendah daripada 1750). Walau bagaimanapun, dakwaan ini tidak dapat disahkan kerana orang yang membuatnya biasanya bercakap daripada khabar angin.

Berikut ialah proses penghujahan terperinci.

Kaedah percanggahan

Mula-mula andaikan bahawa model ChatGPT mempunyai 175 bilion parameter, dan format INT8 biasanya digunakan untuk menyimpan pemberat LLM untuk inferens kependaman yang lebih rendah dan saiz pemprosesan yang lebih tinggi dan keperluan memori yang lebih rendah (dua kali kurang memori daripada menyimpan dalam format float16). Setiap parameter INT8 memerlukan 1 bait untuk penyimpanan. Pengiraan mudah menunjukkan bahawa model memerlukan 175GB ruang storan.

Parameter model ChatGPT ≠ 175 bilion, seseorang membuktikannya menggunakan bukti dengan percanggahan

Gambar daripada kertas INT8 SmoothQuant, alamat: https://arxiv.org/abs/2211.10438

Dari segi inferens, model bahasa gaya GPT adalah "autoregresif" pada setiap hantaran hadapan, meramalkan token kemungkinan besar seterusnya (untuk sesuatu seperti model RLHF ChatGPT, yang meramalkan token seterusnya yang diutamakan oleh anotasi manusianya). Ini bermakna 200 token dijana, jadi 200 hantaran hadapan perlu dilakukan. Untuk setiap hantaran ke hadapan, kita perlu memuatkan semua berat model daripada memori lebar jalur tinggi (HBM) ke dalam unit pengkomputeran matriks (teras pengkomputeran tensor GPU), yang bermaksud bahawa kita perlu memuatkan 175GB berat untuk setiap hantaran ke hadapan.

Pada platform Microsoft Azure, bilangan maksimum A100 yang boleh diperuntukkan pada nod ialah 8. Ini bermakna selari tensor maksimum bagi setiap contoh model ialah 8. Jadi daripada memuatkan 175GB pemberat setiap pas ke hadapan, anda hanya perlu memuatkan 21.87GB setiap GPU setiap pas ke hadapan kerana keselarian tensor boleh menyelaraskan pemberat dan pengiraan pada semua GPU.

Parameter model ChatGPT ≠ 175 bilion, seseorang membuktikannya menggunakan bukti dengan percanggahan

Gambar adalah daripada kertas Megatron-LM, alamat: https://arxiv.org/ abs/1909.08053

Pada versi A100 80GB SXM, lebar jalur memori maksimum ialah 2TB/s. Ini bermakna dengan saiz batch=1 (terhad oleh lebar jalur memori), kelajuan hantaran hadapan teori maksimum ialah 91 kali/saat. Selain itu, kebanyakan masa dihabiskan untuk memuatkan pemberat dan bukannya mengira pendaraban matriks.

Parameter model ChatGPT ≠ 175 bilion, seseorang membuktikannya menggunakan bukti dengan percanggahan

NOTA: Untuk fp16/bfloat16, hantaran hadapan teori maksimum apabila dihadkan oleh jalur lebar memori Kelajuan mencapai 45.5 kali/saat.

Apakah kependaman sebenar ChatGPT?

Jalankan skrip yang ditulis dalam Python pada waktu malam (overhead larian pada waktu malam adalah lebih rendah) untuk menguji kependaman penggunaan ChatGPT melalui OpenAI API Kelajuan empirikal maksimum yang dicapai oleh hadapan lulus ialah 101 kali / Saat. Kertas kerja ini menggunakan keputusan empirikal maksimum bagi eksperimen kerana keperluan untuk mendapatkan overhed terendah daripada bahagian belakang OpenAI dan sistem pemprosesan kelompok dinamik.

Kesimpulan

Menurut andaian dan hujah sebelum ini, kita dapati terdapat percanggahan, kerana hasilnya adalah berdasarkan bukti empirikal Jauh lebih cepat daripada hasil teori maksimum berdasarkan lebar jalur memori platform A100. Oleh itu boleh disimpulkan bahawa model ChatGPT yang digunakan oleh OpenAI untuk inferens pastinya tidak bersamaan dengan model padat 175 bilion parameter.

Soalan Lazim

1 Mengapa meramalkan bilangan parameter model inferens ChatGPT dan bukannya bilangan parameter model latihan?

Menggunakan kaedah lebar jalur memori untuk menganggar bilangan parameter model, yang hanya digunakan pada model inferens. Kami tidak tahu pasti sama ada OpenAI menggunakan teknik seperti penyulingan untuk menjadikan model inferensnya lebih kecil daripada model latihannya.

Banyak serangga mempunyai bentuk larva yang dioptimumkan untuk mengekstrak tenaga dan nutrien daripada persekitaran, dan bentuk dewasa yang berbeza sama sekali dengan keperluan yang sangat berbeza untuk pengoptimuman perjalanan dan pembiakan. ——Dari Geoffrey Hinton, Oriol Vinyals, Jeff Dean, 2015.

2. Adakah andaian lain?

Buktinya sebenarnya merangkumi 3 andaian:

  • Anggapkan bahawa masa yang diperlukan untuk mengira pendaraban matriks yang besar adalah relatif kepada Setiap hantaran hadapan mengambil masa 0 untuk memuatkan parameter; Jika masa yang diperlukan untuk komunikasi dan pendaraban matriks antara GPU tidak diandaikan sebagai 0, token teori maksimum sesaat daripada 175 bilion model parameter akan dikurangkan
  • Anggapkan ChatGPT ialah; berdasarkan varian Seni Bina Transformer.
  • 3. Apakah maksud Setara Padat?

Sejak beberapa tahun kebelakangan ini, penyelidik telah menjalankan penyelidikan ke atas LLM pakar hibrid jarang seperti Switch Transformer. Setara padat menunjukkan bilangan parameter yang digunakan dalam setiap hantaran hadapan. Dengan menggunakan kaedah yang diterangkan dalam artikel ini, tidak ada cara untuk membuktikan bahawa ChatGPT bukanlah model KPM jarang parameter 175 bilion.

4. Adakah anda mempertimbangkan pengoptimuman inferens Transformer cache KV?

Walaupun dengan pengoptimuman cache KV, setiap pas hadapan masih perlu memuatkan keseluruhan model cache KV hanya menjimatkan FLOP, tetapi tidak mengurangkan penggunaan lebar jalur memori (sebenarnya Ia meningkat kerana cache KV perlu dimuatkan pada setiap hantaran hadapan).

5.

Walaupun Flash Attention berprestasi lebih baik dari segi kecekapan jalur lebar memori dan kelajuan masa nyata, setiap hantaran hadapan masih memerlukan pemuatan keseluruhan model, jadi hujah sebelumnya masih berlaku.

6. Pernahkah anda mempertimbangkan paralelisme saluran paip/strategi selari yang lebih halus?

Menggunakan paralelisme saluran paip menghasilkan bilangan hantaran hadapan maksimum yang sama. Walau bagaimanapun, dengan menggunakan kumpulan mikro dan saiz kumpulan yang lebih besar, daya pemprosesan (jumlah token/saat) boleh ditingkatkan.

7. Pernahkah anda mempertimbangkan untuk meningkatkan selari tensor melebihi 8?

Platform A100 menyokong 16 A100 setiap nod, tetapi Azure tidak menyokong ciri ini. Hanya Google Cloud menyokong ciri ini, tetapi hampir tiada siapa yang menggunakannya. Tidak mungkin Azure akan membuat nod tersuai dengan 16 A100 untuk OpenAI dan tidak mengeluarkannya sebagai versi GA awam untuk melunaskan kos mereka bentuk atau mengekalkan nod baharu. Berkenaan selari tensor antara nod, itu hanya satu kemungkinan, tetapi ini adalah cara yang kurang kos efektif untuk membuat inferens pada A100. Malah NVIDIA tidak mengesyorkan pemprosesan selari tensor antara nod.

8 Pernahkah anda mempertimbangkan untuk menggunakan INT4?

Walaupun menggunakan INT4 telah terbukti berkesan, Pengkompil Kernel GPU OpenAI tidak menyokong pemuatan, penyimpanan atau pendaraban matriks INT4, dan tiada rancangan untuk menambah INT pada peta jalan teknologi mereka . Memandangkan tiada sokongan untuk pemuatan atau stor INT4, anda tidak boleh menyimpan pemberat sebagai INT4 dan kemudian mengukur kembali kepada format ketepatan tinggi (seperti INT8, bfloat16, dsb.).

Atas ialah kandungan terperinci Parameter model ChatGPT ≠ 175 bilion, seseorang membuktikannya menggunakan bukti dengan percanggahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan