


Kuantisasi untuk model bahasa besar (LLMS): Mengurangkan saiz model AI dengan cekap
Jalankan chatgpt anda sendiri di komputer riba anda: Panduan untuk kuantisasi LLM
pernah bermimpi menjalankan chatgpt anda sendiri secara langsung di komputer riba anda? Terima kasih kepada kemajuan dalam model bahasa besar (LLMS), ini menjadi kenyataan. Kuncinya adalah kuantisasi -teknik yang mengecilkan model -model besar -besaran ini agar sesuai dengan perkakasan pengguna dengan kehilangan prestasi yang minimum (apabila dilakukan dengan betul!). Panduan ini menerangkan kuantisasi, kaedahnya, dan menunjukkan kepada anda bagaimana untuk mengukur model menggunakan perpustakaan Quanto Face yang memeluk dalam dua langkah mudah. Ikuti bersama menggunakan DataCamp Datalab.
saiz llms yang sentiasa berkembang
LLMs telah meletup dalam kerumitan. GPT-1 (2018) mempunyai 0.11 bilion parameter; GPT-2 (2019), 1.5 bilion; GPT-3 (2020), kekalahan 175 bilion; dan GPT-4 mempunyai lebih dari 1 trilion. Pertumbuhan besar -besaran ini mewujudkan kesesakan memori, menghalang kedua -dua latihan dan kesimpulan, dan mengehadkan aksesibiliti. Kuantisasi menyelesaikannya dengan mengurangkan saiz model semasa mengekalkan prestasi.
Memahami kuantisasi
Kuantisasi adalah teknik pemampatan model yang mengurangkan ketepatan berat dan pengaktifan model. Ini melibatkan penukaran data dari jenis ketepatan yang lebih tinggi (mis., Titik terapung 32-bit) ke jenis ketepatan yang lebih rendah (mis., Integer 8-bit). Bit yang lebih sedikit bermaksud model yang lebih kecil, memakan memori, penyimpanan, dan tenaga yang kurang.
Fikirkan pemampatan imej: Imej resolusi tinggi dimampatkan untuk kegunaan web, mengurangkan saiz dan masa pemuatan dengan kos beberapa detail. Begitu juga, mengira LLM mengurangkan tuntutan pengiraan, membolehkannya berjalan pada perkakasan yang kurang kuat.
pemampatan imej untuk pemuatan web yang lebih cepat.
Kuantisasi memperkenalkan bunyi (ralat kuantisasi), tetapi penyelidikan memberi tumpuan kepada meminimumkan ini untuk mengekalkan prestasi.teori di sebalik kuantisasi
Kuantisasi biasanya mensasarkan berat model -parameter yang menentukan kekuatan hubungan antara neuron. Berat ini pada mulanya rawak dan diselaraskan semasa latihan. Contoh mudah adalah berat membulat ke tempat perpuluhan yang lebih sedikit.
Contohnya: matriks berat (kiri) dan versi kuantitinya (kanan).
Perbezaan antara matriks asal dan kuantitatif ialah ralat kuantisasi.
Matriks ralat kuantisasi.
Dalam amalan, kuantisasi melibatkan perubahan jenis data (downcasting). Sebagai contoh, menukar dari float32 (4 bait per parameter) hingga int8 (1 byte per parameter) dengan ketara mengurangkan penggunaan memori.
titik terapung otak (BF16) dan downcasting
BF16, yang dibangunkan oleh Google, menawarkan keseimbangan antara jarak dinamik Float32 dan kecekapan Float16. Downcasting-converting dari ketepatan yang lebih tinggi ke jenis data yang lebih rendah-ketepatan kelajuan tetapi boleh menyebabkan kehilangan data dan penyebaran kesilapan, terutama dengan jenis data yang lebih kecil.
Jenis kuantisasi
Beberapa jenis kuantisasi wujud:
- kuantisasi linear: Peta nilai terapung-titik ke julat tetap sama rata. Ia melibatkan pengiraan nilai minimum/maksimum, skala, titik sifar, kuantitatif, dan dequantizing (semasa kesimpulan).
Persamaan kuantisasi linear.
ralat dequanisasi dan kuantisasi.
- Kuantisasi Blockwise:
- Mengira berat dalam blok yang lebih kecil, mengendalikan pengagihan bukan seragam dengan lebih berkesan.
- Kuantisasi boleh digunakan untuk kedua -dua berat (statik) dan pengaktifan (dinamik). Kuantisasi pengaktifan lebih kompleks.
- PTQ mengukur model pra-terlatih; QAT mengubah latihan untuk mensimulasikan kesan kuantisasi, yang membawa kepada ketepatan yang lebih baik tetapi meningkatkan masa latihan.
alat untuk kuantisasi
Beberapa perpustakaan python menyokong kuantisasi, termasuk pytorch dan tensorflow. Memeluk Perpustakaan Quanto Face memudahkan proses untuk model pytorch.
Mengira model dengan memeluk Face's Quanto
inilah panduan langkah demi langkah menggunakan model Pythia 410m:
- Muatkan model: Muatkan model pra-terlatih dan tokenizer.
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "EleutherAI/pythia-410m" model = AutoModelForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True) tokenizer = AutoTokenizer.from_pretrained(model_name)
- Quantize: Gunakan
quantize()
untuk menukar model.
from quanto import quantize, freeze quantize(model, weights=torch.int8, activations=None)
- membekukan: Gunakan
freeze()
untuk menggunakan kuantisasi pada berat.
freeze(model)
- Hasil Semak:
Sahkan saiz model yang dikurangkan dan kesimpulan ujian. (Nota: adalah fungsi tersuai; lihat DataCamp Datalab untuk pelaksanaan).compute_module_sizes()
Kuantisasi menjadikan LLM lebih mudah dan cekap. Dengan memahami tekniknya dan menggunakan alat seperti memeluk Face's Quanto, anda boleh menjalankan model yang kuat pada perkakasan yang kurang kuat. Untuk model yang lebih besar, pertimbangkan untuk menaik taraf sumber anda.
LLM Kuantisasi Soalan Lazim
-
qat vs ptq:qat umumnya melakukan lebih baik tetapi memerlukan lebih banyak sumber semasa latihan. Perpustakaan Quanto: - menyokong kedua -dua PTQ dan QAT. termasuk penentukuran tersirat; Kaedah tersedia untuk penentukuran tersuai.
quantize()
calibration()
Precision: - INT4 dan INT2 kuantisasi adalah mungkin. Mengakses model muka pelukan:
- Tukar pembolehubah kepada model yang dikehendaki. Ingatlah untuk menerima terma dan syarat yang memeluk Face.
model_name
Atas ialah kandungan terperinci Kuantisasi untuk model bahasa besar (LLMS): Mengurangkan saiz model AI dengan cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Meta's Llama 3.2: Lompat ke hadapan dalam Multimodal dan Mobile AI META baru -baru ini melancarkan Llama 3.2, kemajuan yang ketara dalam AI yang memaparkan keupayaan penglihatan yang kuat dan model teks ringan yang dioptimumkan untuk peranti mudah alih. Membina kejayaan o

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 ’

Landskap AI minggu ini: Badai kemajuan, pertimbangan etika, dan perdebatan pengawalseliaan. Pemain utama seperti Openai, Google, Meta, dan Microsoft telah melepaskan kemas kini, dari model baru yang terobosan ke peralihan penting di LE

Memo CEO Shopify Tobi Lütke baru -baru ini dengan berani mengisytiharkan penguasaan AI sebagai harapan asas bagi setiap pekerja, menandakan peralihan budaya yang signifikan dalam syarikat. Ini bukan trend seketika; Ini adalah paradigma operasi baru yang disatukan ke p

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

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?

Bagi anda yang mungkin baru dalam lajur saya, saya secara meluas meneroka kemajuan terkini di AI di seluruh papan, termasuk topik seperti yang terkandung AI, penaakulan AI, terobosan berteknologi tinggi di AI, kejuruteraan segera, latihan AI, Fielding of AI, AI Re Re,

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
