Mampatan segera: Panduan dengan contoh python
Dalam landskap kecerdasan buatan yang berkembang pesat, mengoptimumkan model bahasa yang besar (LLMS) bukan hanya untuk menolak sempadan apa yang mungkin tetapi juga untuk memastikan kecekapan dan keberkesanan kos.
pemampatan prompt telah muncul sebagai teknik penting untuk meningkatkan prestasi model -model ini sambil meminimumkan perbelanjaan pengiraan. Dengan penyelidikan baru muncul hampir setiap minggu, menjaga adalah mencabar, tetapi memahami asas -asasnya adalah penting.
Artikel ini merangkumi asas-asas pemampatan segera, membincangkan apabila ia harus digunakan, kepentingannya dalam mengurangkan kos dalam saluran paip RAG, dan menyediakan contoh menggunakan model GPT-3.5-Turbo-0125 melalui API OpenAI.
Jika anda ingin mengetahui lebih lanjut, lihat kursus ini pada kejuruteraan segera.apakah pemampatan segera?
pemampatan prompt adalah teknik yang digunakan dalam pemprosesan bahasa semulajadi (NLP) untuk mengoptimumkan input yang diberikan kepada LLM dengan mengurangkan panjangnya tanpa mengubah kualiti dan kaitan output dengan ketara. Pengoptimuman ini sangat penting kerana kesan bilangan token dalam pertanyaan mempunyai prestasi LLM.
Token adalah unit asas penggunaan LLMS teks, mewakili perkataan atau subwords bergantung kepada tokenizer model bahasa. Mengurangkan bilangan token secara promptan adalah bermanfaat dan kadang -kadang diperlukan untuk beberapa sebab:
- Kekangan had token: LLMs mempunyai had token maksimum untuk input. Melebihi had ini boleh memotong maklumat penting, mengurangkan kejelasan output dan keberkesanan model. Kecekapan pemprosesan dan pengurangan kos pemprosesan: token yang lebih sedikit bermakna masa pemprosesan yang lebih cepat dan kos yang lebih rendah.
- Relevan tindak balas yang lebih baik: Prompt yang boleh dibaca manusia tidak selalu bermakna dengan baik. Kadang -kadang petunjuk yang kita fikir adalah baik dan bermaklumat membawa maklumat yang tidak penting untuk LLM, seperti kata -kata berhenti ("a," "," "adalah," dan lain -lain).
- pemampatan segera mengurangkan nombor token dengan menggunakan strategi seperti menghapuskan maklumat yang berlebihan, meringkaskan mata utama, atau menggunakan algoritma khusus untuk menyuling intipati dengan cepat sambil meminimumkan kiraan tokennya. bilakah kita harus menggunakan mampatan segera?
mari kita meneroka senario di mana kita boleh menggunakan mampatan segera.
Teknik Kejuruteraan Prompt Advanced
Teknik-teknik seperti yang mendorong rantaian, sementara sangat berkesan, sering menghasilkan arahan yang panjang yang dapat mencapai beribu-ribu token. Ini meningkatkan masa pemprosesan dan kos dan mungkin melebihi had token model tertentu.pemampatan segera mengurangkan isu -isu ini dengan mengurangkan kiraan token sambil mengekalkan keberkesanan prompt.
saluran paip RAG menggabungkan pengambilan maklumat dengan penjanaan teks dan sering digunakan dalam chatbots khusus dan aplikasi lain di mana pemahaman kontekstual adalah kritikal. Talian paip ini kerap memerlukan sejarah perbualan yang luas atau dokumen yang diambil sebagai petunjuk, yang membawa kepada jumlah token yang tinggi dan perbelanjaan yang meningkat.
pemampatan segera adalah penting dalam kes sedemikian untuk mengekalkan konteks penting sambil meminimumkan kos.
kebolehgunaan dan batasan pemampatan segera
Penting untuk diperhatikan bahawa pemampatan segera bukan penyelesaian sejagat dan harus digunakan dengan bijak. Sebagai contoh, pembantu model seperti chatgpt, yang direka untuk konteks perbualan, mungkin tidak mendapat manfaat daripada pemampatan segera yang agresif.
Model -model ini sering tidak mengenakan bayaran setiap token dan mempunyai ringkasan sembang dan ciri memori untuk menguruskan sejarah perbualan dengan berkesan, menjadikan mampatan berlebihan.
Ia juga penting untuk diperhatikan bahawa walaupun bekerja dengan model yang mengenakan token, mampatan yang berlebihan boleh menyebabkan kehilangan nuansa atau butiran penting. Mengatasi keseimbangan yang betul antara mengurangkan saiz dan mengekalkan integriti makna prompt adalah kunci.
bagaimana kerja pemampatan segera?
Teknik pemampatan segera boleh dikategorikan kepada tiga kaedah utama: penyulingan pengetahuan, pengekodan, dan penapisan. Setiap teknik memanfaatkan kekuatan yang berbeza untuk mengoptimumkan panjang dan kecekapan petikan untuk LLMS.
Walaupun kita akan bercakap tentang setiap teknik ini, anda dapat mencari pendekatan yang lebih komprehensif dalam makalah ini: kaedah yang berkesan untuk model bahasa yang besar: tinjauan. Sepanjang artikel ini, saya akan merujuk kepada kertas ini sebagai "kertas tinjauan."
Penyulingan pengetahuan
Penyulingan pengetahuan adalah teknik dalam bidang pembelajaran mesin, yang pertama kali diperkenalkan oleh Hinton et al. (2015), di mana model yang lebih kecil dan lebih mudah (pelajar) dilatih untuk meniru tingkah laku model yang lebih besar dan lebih kompleks (guru).
Teknik ini pada mulanya dibangunkan untuk menangani cabaran pengiraan latihan model ensemble. Dalam konteks kejuruteraan segera, penyulingan pengetahuan boleh digunakan untuk memampatkan prompt bukan model.
Ini dicapai dengan mempelajari bagaimana untuk memampatkan arahan keras dalam LLMS melalui penalaan cepat lembut. Untuk pandangan terperinci, rujuk Bahagian 3.1 dan Lampiran A.1.1 kertas tinjauan.
pengekodan
Kaedah pengekodan mengubah teks input ke dalam vektor, mengurangkan panjang segera tanpa kehilangan maklumat kritikal. Vektor ini menangkap makna penting yang diperlukan, yang membolehkan LLMS memproses input yang lebih pendek dengan cekap.
Menariknya, LLM adalah mahir dalam bahasa lain seperti Base64, yang boleh digunakan dalam pengekodan untuk mengurangkan saiz token prompt. Sebagai contoh, prompt "menterjemahkan teks berikut kepada bahasa Perancis: Helo, apa khabar?" Dikodkan di Base64 adalah "VHJHBNNSRLIHROZSBMB2XSB3DPBMCGDGV4DCB0BYBGCMVUY2G6ICDIZWXSBYWGAG93IGFYZSB5B3UNPW ==". Anda boleh cuba mendorong LLM kegemaran anda untuk mengujinya!
Mengejutkan, beberapa teknik pengekodan juga digunakan untuk jailbreak model, yang melibatkan memanipulasi LLM untuk memintas mekanisme keselamatannya. Untuk maklumat lanjut mengenai kaedah pengekodan, lihat Bahagian 3.2 dan Lampiran A.1.2 Kertas Survei.
Penapisan
Walaupun dua kaedah terdahulu cuba memampatkan keseluruhan, teknik penapisan memberi tumpuan kepada menghapuskan bahagian yang tidak perlu untuk meningkatkan kecekapan LLMS.
Teknik Penapisan Menilai kandungan maklumat bahagian -bahagian yang berlainan dan mengeluarkan maklumat yang berlebihan kerana tidak semua maklumat dalam prompt adalah bermanfaat untuk LLMS. Ini boleh dilakukan di pelbagai peringkat, seperti ayat, frasa, atau token.
Matlamatnya adalah untuk mengekalkan hanya bahagian yang paling relevan dari prompt. Dalam konteks selektif kertas oleh Li et al. (2023), penyelidik menggunakan metrik maklumat diri untuk menapis maklumat yang berlebihan. Dalam kertas llmlingua: Memampatkan arahan untuk kesimpulan dipercepatkan model bahasa yang besar, penyelidik dari Microsoft Refine meminta komponen utama dan menyesuaikan nisbah mampatan secara dinamik untuk setiap bahagian. Untuk bacaan lanjut, rujuk Bahagian 3.3 dan Lampiran A.1.3 kertas tinjauan.
bagaimana untuk melaksanakan mampatan segera dalam python
Dalam bahagian ini, saya akan melaksanakan dan menguji algoritma konteks selektif yang popular dan dianggap sebagai canggih. Jika anda hanya mahu menguji algoritma, anda tidak perlu memasang apa -apa -sudah menjadi tuan rumah di platform Huggingface.
Terdapat juga teknik mampatan arus perdana yang lain, seperti Keep It Simple (KIS), SCLR, dan algoritma dari keluarga Llmlingua, tetapi kami tidak akan dapat menutupnya dalam artikel pendek ini.
Dalam aplikasi web konteks terpilih, anda boleh memilih bahasa yang anda ingin memampatkan (Bahasa Inggeris atau Cina yang dipermudahkan). Anda juga boleh menetapkan nisbah mampatan dan pilih sama ada untuk menyaring ayat, token, atau fasa.
Melaksanakan dan menguji konteks selektif dengan Api Openai
Sekarang mari kita bekerja pada pelaksanaan Python. Kami juga akan menguji beberapa arahan yang dimampatkan dengan model GPT-3.5-Turbo-0125.
Pertama, kita perlu memasang semua modul yang diperlukan. Kita perlu memasang perpustakaan konteks selektif menggunakan PIP:
pip install selective-context
pip install selective-context
Sekarang kita perlu memulakan objek SelectiveContext. Kita boleh memilih sama ada Curie atau GPT-2 untuk model dan EN atau ZH untuk bahasa. Saya akan menggunakan GPT-2 untuk contoh ini.
python -m spacy download en_core_web_sm
Seterusnya, kita boleh menghubungi objek SelectiveContext kami pada rentetan teks yang kita mahu memampatkan. Kita boleh menetapkan parameter pengurangan_ratio dan mengurangkan_level. Mengurangkan_level perlu menjadi salah satu daripada yang berikut: 'dihantar', 'frasa', atau 'token'. Panggilan objek mengembalikan tuple (konteks, dikurangkan_content), di mana konteks adalah prompt dan dikurangkan yang dikurangkan adalah senarai frasa, ayat, atau token yang dikeluarkan.
sc = SelectiveContext(model_type = ‘gpt-2’, lang = ‘en’)
perenggan asal dan ringkasan
Di bawah, anda dapat melihat panggilan API yang akan saya gunakan -kami hanya akan menukar pembolehubah teks dalam rentetan format. Pertama, kami meminta model untuk meringkaskan perenggan yang asal dan tidak dikompresi:
context, reduced_content = sc(text, reduce_ratio = 0.5, reduce_level = ‘sent’)
from openai import OpenAI client = OpenAI(api_key = key) completion = client.chat.completions.create( model = “gpt-3.5-turbo-0125”, messages = [ {“role”: “user”, “content”: f”Summarize the following paragraph:\n {text}”} ] )
pengurangan tahap token
Sekarang mari kita cuba versi yang dikurangkan token. Perenggan yang dimampatkan kelihatan seperti ini:
[Prompt compression is useful in scenarios such as advanced prompt engineering techniques and retrieval-augmented generation pipelines to reduce token counts and costs while preserving effectiveness and context. However, it is not a universal solution and should be used judiciously, as excessive compression can lead to a loss of important details. It is important to strike a balance between reducing size and maintaining the prompt's meaning.]
[When Should Prompt CompProm compression particularly following Advanced prompt engineering Techniques like chainofthought prompting while highly lengthy prompts reach thousands tokensThis increases processing costs and may exceed token limits of certain modelsProm compression mit these token count while prompt effectivenessRetri-au generationRAG pipelines R combine information retrieval text specialized chat contextual understandingThese pipelines frequently involve providing extensive conversation histories retrieved as prompts leading high token counts increased expensesProm compression essential such essential context while costsApplic prompt compression It prompt universal judFor instance assistant models like ChatGPT designed convers contexts benefit aggressive prompt compressionThese models often do charge per token integrated chat summar memory features conversation history effectively compression redundantIt even working models charge per token excessive compression could nuance importantSt reducing size maintaining prompt’s meaning is]
Pengurangan peringkat kalimat
Seterusnya, mari kita cuba pengurangan peringkat kalimat. Prompt yang dikurangkan adalah 129 token panjang:
[Prompt compression is recommended following advanced prompt engineering techniques like chain of thought prompting, especially when dealing with lengthy prompts that reach thousands of tokens. This helps reduce processing costs and ensure that the prompt remains effective for models like RAG pipelines, which involve extensive conversation histories. Prompt compression is essential for maintaining context while keeping costs low, particularly for models like ChatGPT that charge per token and benefit from aggressive compression. However, excessive compression could lead to loss of important nuances, so it is important to strike a balance between reducing size and maintaining the prompt's meaning.]
[When Should We Use Prompt Compression? This increases processing times and costs and may exceed token limits of certain models. These pipelines frequently involve providing extensive conversation histories or retrieved documents as prompts, leading to high token counts and increased expenses. Prompt compression is essential in such cases to maintain essential context while minimizing costs. For instance, assistant models like ChatGPT, designed for conversational contexts, may not benefit from aggressive prompt compression. These models often do not charge per token and have integrated chat summarization and memory features to manage conversation history effectively, making compression redundant. ]
Pengurangan peringkat frasa
Akhir sekali, mari kita menguji pengurangan peringkat frasa. Prompt adalah 183 token panjang:
[Prompt compression is necessary when processing times, costs, and token limits may be exceeded in pipelines involving extensive conversation histories or retrieved documents as prompts. However, for certain models like ChatGPT, designed for conversational contexts, aggressive prompt compression may not be beneficial as they already have features to manage conversation history effectively without the need for compression.]
[When Should Prompt Compression Prompt compression particularly beneficial Advanced prompt engineering techniques Techniques like chainofthought prompting while highly lengthy prompts reach thousands tokens This increases processing costs and may exceed token limits of certain models Prompt compression these issues token count while the prompt's effectiveness Retrieval-augmented generation (RAG) pipelines RAG pipelines combine information retrieval text generation specialized chatbots contextual understanding These pipelines frequently involve providing extensive conversation histories or retrieved as prompts leading high token counts increased expenses Prompt compression essential such cases to maintain essential context while costs Applicability prompt compression It's For instance assistant models like ChatGPT designed conversational contexts may benefit aggressive prompt compression These models often do charge per token have integrated chat summarization memory features manage conversation history effectively making compression redundant It even working models charge per token excessive compression could nuance important details reducing size maintaining the prompt’s meaning is ]
Menilai pemampatan segera
Dengan membandingkan jumlah token dan kandungan ringkasan model pada tahap mampatan yang berbeza, kita dapat melihat kesan pemampatan segera pada output model:
3
ketepatan |
|
Token-level |
162 |
kehilangan nuansa penting mengenai chatgpt tidak mendapat manfaat daripada mampatan yang agresif, dan membuat kesilapan.
|
Tahap Senten
| 129
tidak membuat sebarang kesilapan, tetapi terlepas beberapa konteks mengenai saluran paip rag. |
|
||
183 |
Begitu juga dengan tahap token, secara tidak betul menyatakan bahawa chatgpt mendapat manfaat daripada pemampatan yang agresif. |
|
Atas ialah kandungan terperinci Mampatan segera: Panduan dengan contoh python. 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 ’

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

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

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?

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

Laporan Indeks Perisikan Buatan 2025 yang dikeluarkan oleh Stanford University Institute for Manusia Berorientasikan Kecerdasan Buatan memberikan gambaran yang baik tentang revolusi kecerdasan buatan yang berterusan. Mari kita menafsirkannya dalam empat konsep mudah: kognisi (memahami apa yang sedang berlaku), penghargaan (melihat faedah), penerimaan (cabaran muka), dan tanggungjawab (cari tanggungjawab kita). Kognisi: Kecerdasan buatan di mana -mana dan berkembang pesat Kita perlu menyedari betapa cepatnya kecerdasan buatan sedang berkembang dan menyebarkan. Sistem kecerdasan buatan sentiasa bertambah baik, mencapai hasil yang sangat baik dalam ujian matematik dan pemikiran kompleks, dan hanya setahun yang lalu mereka gagal dalam ujian ini. Bayangkan AI menyelesaikan masalah pengekodan kompleks atau masalah saintifik peringkat siswazah-sejak tahun 2023
