目錄
>重要的是要注意,及時壓縮不是通用的解決方案,應明智地使用。例如,為會話上下文設計的助理模型,可能不會受益於積極的提示壓縮。
知識蒸餾
短語級還原
What are some common challenges in implementing prompt compression?" >What are some common challenges in implementing prompt compression?
" >>如何處理聊天機器人中多轉交談的提示壓縮?
用於多轉交流,提示壓縮必須確保保留先前交互的上下文。選擇性上下文過濾等技術可以通過保留對話的關鍵部分來幫助您有所幫助,同時壓縮較少重要的信息。這種方法有助於維持聊天機器人的響應中的連續性和相關性。 " > 用於多轉交流,提示壓縮必須確保保留先前交互的上下文。選擇性上下文過濾等技術可以通過保留對話的關鍵部分來幫助您有所幫助,同時壓縮較少重要的信息。這種方法有助於維持聊天機器人的響應中的連續性和相關性。
首頁 科技週邊 人工智慧 及時壓縮:帶有Python示例的指南

及時壓縮:帶有Python示例的指南

Mar 06, 2025 pm 12:17 PM

在人工智能的快速發展的景觀中,優化大型語言模型(LLMS)不僅在於突破可能的界限,而且還涉及確保效率和成本效益。

>

提示壓縮已成為一種重要技術,可以增強這些模型的性能,同時最大程度地減少計算費用。隨著新的研究幾乎每週都會出現,保持挑戰是具有挑戰性的,但是了解基本面是至關重要的。 >本文涵蓋了及時壓縮的基礎知識,討論了何時應該使用它,其在降低抹布管道中的成本中的重要性,並使用OpenAI的API。

如果您想了解更多信息,請在及時工程上查看本課程。

什麼是提示壓縮?

提示壓縮是一種自然語言處理(NLP)中使用的技術,可通過減少其長度而不顯著改變輸出的質量和相關性來優化對LLM的輸入。由於查詢中令牌的數量對LLM性能的影響,因此這種優化至關重要。

令牌是文本LLMS使用的基本單元,根據語言模型的令牌代表單詞或子字。在提示中減少令牌數量是有益的,有時是由於幾個原因所必需的:

令牌限制約束:

處理效率和降低成本:

令牌較少的代幣意味著更快的處理時間和更低的成本。
  • 提高響應的相關性:人類可讀提示並不總是意味著一個很好的提示。有時,我們認為的提示是良好的,內容豐富的llms信息,例如停止單詞(“ a”,“ the”,“”,“,”等。 >提示壓縮通過採用諸如刪除冗餘信息,匯總要點或利用專業算法等策略來降低令牌數量,以提示提示的本質,同時最大程度地減少其令牌計數。
  • 我們什麼時候應該使用提示壓縮? >
  • >讓我們探索可以使用及時壓縮的方案。
  • > 高級提示工程技術
  • 的技術等提示鏈,雖然非常有效,但通常會產生長時間的提示,這些提示可以達到數千個令牌。這增加了處理時間和成本,並且可能會超過某些模型的令牌限制。
提示壓縮通過減少令牌計數的同時保留提示的有效性來減輕這些問題。

>抹布管道將信息檢索與文本生成相結合,並且經常用於專門的聊天機器人和上下文理解至關重要的其他應用程序。這些管道通常需要廣泛的對話歷史或作為提示檢索文件,從而導致代幣計數和增加的費用。 在這種情況下,

及時壓縮至關重要,同時將成本降至最低。

>提示壓縮的適用性和局限性

>重要的是要注意,及時壓縮不是通用的解決方案,應明智地使用。例如,為會話上下文設計的助理模型,可能不會受益於積極的提示壓縮。

這些模型通常不會為每個令牌收費,並且具有集成的聊天摘要和內存功能來有效地管理對話歷史記錄,從而使壓縮冗餘。

>也必須注意的是,即使使用指控的模型,過度壓縮也可能導致細微差別或重要細節的損失。在減小大小和保持提示含義的完整性之間達到正確的平衡是關鍵。

>提示壓縮如何工作?

>

提示壓縮技術可以分為三種主要方法:知識蒸餾,編碼和過濾。每種技術都利用不同的優勢來優化LLMS提示的長度和效率。

>我們將討論這些技術中的每一種,但您可以在本文中找到一種更全面的方法:大型語言模型的有效提示方法:調查。在本文中,我將本文稱為“調查文件”。

知識蒸餾

Hinton等人首先引入了機器學習領域的知識蒸餾。 (2015年),其中一個較小,更簡單的模型(學生)經過培訓以復制較大,更複雜的模型(老師)的行為。

最初開發了該技術來解決訓練模型集合的計算挑戰。在迅速工程的背景下,知識蒸餾可用於壓縮提示而不是模型。

這是通過學習如何通過軟提示調整來壓縮LLM中的硬提示來實現的。有關詳細見解,請參閱調查文件的第3.1節和附錄A.1.1。

>編碼

編碼方法將輸入文本轉換為向量,減少及時長度而不會丟失關鍵信息。這些向量捕獲了提示的基本含義,從而使LLM可以有效地處理較短的輸入。

>有趣的是,LLM精通其他語言,例如base64,可以在編碼中用於降低提示的令牌大小。例如,提示“將以下文本轉換為法語:你好,你好嗎?”在基本64中編碼的是“ vhjhbnnsyxrlihrozsbmb2xsb3dpbmcgdgv4dcb0b0bybgcmvuy2g6icdizwxsbywgag93ig93igfyzsb5b5b5b3unpw ==”。您可以嘗試提示您喜歡的LLM測試!

>令人驚訝的是,一些編碼技術也用於模型越獄,其中涉及操縱LLM以繞過其安全機制。有關編碼方法的更多詳細信息,請參見調查文件的第3.2節和附錄A.1.2。

過濾

>前兩種方法試圖壓縮整個提示,而過濾技術的重點是消除不必要的零件以提高LLM的效率。

>過濾技術評估提示的不同部分的信息內容,並刪除冗餘信息,因為提示中的所有信息都對LLM有益。這可以在各個級別上完成,例如句子,短語或令牌。

的目標是僅保留提示中最相關的部分。在論文中,Li等人的選擇性背景。 (2023),研究人員使用自我信息指標來過濾冗餘信息。在論文llmlingua中:壓縮提示以加速大型語言模型的推理,Microsoft的研究人員將提示提示為關鍵組件,並動態調整每個部分的壓縮比。有關進一步閱讀,請參閱調查文件的第3.3節和附錄A.1.3。

如何在Python中實現提示壓縮

在本節中,我將實施並測試受歡迎並被認為是最先進的選擇性上下文算法。如果您只想測試該算法,則無需安裝任何內容,它已經在HuggingFace平台上託管。 >

>還有其他主流壓縮技術,例如Llmlingua家族的保持簡單(KIS),SCLR和算法,但我們將無法在這篇簡短的文章中介紹它們。

>應用鏈接

在選擇性上下文Web應用程序中,您可以選擇要壓縮的提示(英語或簡化中文)的語言。您還可以設置壓縮率,然後選擇是否過濾句子,令牌或相位。

>

>使用OpenAI API

實現和測試選擇性上下文

現在,讓我們研究Python實施。我們還將使用GPT-3.5-Turbo-0125型號測試一些壓縮提示。 及時壓縮:帶有Python示例的指南>

首先,我們需要安裝所有必需的模塊。我們需要使用pip安裝選擇性封閉式庫:

我們還需要從Spacy下載en_core_web_sm模型,可以使用以下命令來完成:

pip install selective-context
登入後複製

>現在我們需要初始化selectivecontext對象。我們可以為模型選擇Curie或GPT-2,然後為語言選擇EN或ZH。我將在此示例中使用gpt-2。

python -m spacy download en_core_web_sm
登入後複製
接下來,我們可以在要壓縮的文本字符串上調用我們的selectIveContext對象。我們可以設置redaim_ratio和redus_level參數。 REDAL_LEVEL需要是以下內容之一:“發送”,“短語”或“令牌”。對象調用返回(上下文,降低了)元組,其中上下文是壓縮提示和降低的_content是刪除的短語,句子或代幣的列表。

>

sc = SelectiveContext(model_type = ‘gpt-2’, lang = ‘en’)
登入後複製
現在讓我們做一些例子。我將要求GPT-3.5-Turbo-0125模型總結本文中的“何時應該使用及時的壓縮”部分。然後,我們將使用所有三個降低水平:句子,短語和令牌以0.5的壓縮率來壓縮該部分。我們將要求該模型再次總結壓縮版本,並比較每個提示的令牌計數和模型的輸出。

原始段落和摘要

在下面,您可以看到我將使用的API調用 - 我們將在格式字符串中更改文本變量。首先,我們要求該模型總結原始的未壓縮段落:>

>通過檢查完成。我們可以看到原始提示為304代幣長,這是輸出:>

如您所見,該模型很好地總結了未壓縮的段落。
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}”}
]
)
登入後複製

提示為162個令牌長,以下是模型摘要:>

段未正確匯總該段落。關於changpt的細微差別不從積極的壓縮中受益。

>句子級減少

[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.]
登入後複製
接下來,讓我們嘗試減少句子級別。減少的提示為129個令牌長:

這是模型摘要:
[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]
登入後複製

此摘要不包含任何錯誤,但缺少抹布討論。

短語級還原

最後,讓我們測試短語級還原。提示為183個令牌長:

[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. ]
登入後複製
摘要大多是正確且連貫的。但是,它錯誤地理解了有關Chatgpt的部分,從而受益於積極的提示壓縮。 >

評估提示壓縮

通過比較不同壓縮級別的模型摘要的令牌計數和內容,我們可以看到迅速壓縮對模型輸出的影響:>

[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
]
登入後複製

壓縮級別

令牌計數(原始數為304長)準確性令牌級短語級183>與令牌級別類似,錯誤地指出,chatgpt受益於積極的壓縮。 總體而言,迅速壓縮可以顯著降低令牌計數,同時保留主要想法。但是,要避免失去重要的細微差別和背景是至關重要的。

>此練習強調了需要根據特定應用程序仔細選擇壓縮級別的需要,以及在提示中維護某些細節的關鍵。

>

>值得注意的是,我們以0.5的壓縮率進行了所有實驗,該實驗相對較高。您可能需要針對不同用例的各種壓縮率進行各種壓縮率,以找到降低及時尺寸和保持其完整性之間的最佳平衡。

結論

及時壓縮是一種優化LLM的效率和成本效益的強大技術。我們已經探索了它的基本原理,討論了其重要性,各種技術和實施細節。 隨著生成AI領域的不斷發展,保持最新發展至關重要。為了進一步提高您的技能和對迅速壓縮和相關技術的理解,我鼓勵您探索本文中引用的論文,以及以下DataCamp的綜合博客文章和課程:

>

了解提示工程

理解提示調諧

    chatgpt提示開發人員的工程
  • >
  • 提示壓縮FAQS
  • >什麼是什麼提示壓縮,為什麼重要?

提示壓縮是一種用於優化給出的輸入的技術,可通過降低其長度(LLMS)來降低其質量和相關性,同時維持其質量和相關性。 It is important because it helps stay within token limits, reduces processing time and costs.

What are some common challenges in implementing prompt compression?

Common challenges include maintaining the balance between compression and preserving essential information, handling diverse types of input data, and ensuring that the compressed prompt still produces high-quality outputs.此外,實施基於機器學習的方法和混合方法可能是資源密集且複雜的。

>如何處理聊天機器人中多轉交談的提示壓縮?

用於多轉交流,提示壓縮必須確保保留先前交互的上下文。選擇性上下文過濾等技術可以通過保留對話的關鍵部分來幫助您有所幫助,同時壓縮較少重要的信息。這種方法有助於維持聊天機器人的響應中的連續性和相關性。

>

>我可以使用哪些資源來提高我的及時壓縮技能?

​​

進一步增強了您的技能,探索參考的研究論文,博客文章,博客文章,以及本文中提到的數據。主題包括了解及時的工程,及時調整和檢索增強的一代(RAG),所有這些對於掌握及時壓縮至關重要。另外,請確保練習您學到的技術。 使用及時壓縮時是否有任何道德上的考慮? 是的,道德上的考慮因素包括確保壓縮不會無意間引入偏見或可能導致誤解的關鍵信息或遺漏誤解的輸出。此外,及時的壓縮技術也可能無意間越獄該模型,導致其行為不可預測或產生不適當的內容。重要的是要監視迅速壓縮對模型性能和輸出的影響,尤其是在諸如醫療保健,金融或法律諮詢之類的敏感應用中。

162

>對Chatgpt的重要細微差別不從積極的壓縮中受益,並犯了錯誤。

>句子級

129

沒有犯任何錯誤,而是錯過了有關抹布管道的某些上下文。

以上是及時壓縮:帶有Python示例的指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
開始使用Meta Llama 3.2 -Analytics Vidhya 開始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

10個生成AI編碼擴展,在VS代碼中,您必須探索 10個生成AI編碼擴展,在VS代碼中,您必須探索 Apr 13, 2025 am 01:14 AM

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

向員工出售AI策略:Shopify首席執行官的宣言 向員工出售AI策略:Shopify首席執行官的宣言 Apr 10, 2025 am 11:19 AM

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

AV字節:Meta' llama 3.2,Google的雙子座1.5等 AV字節:Meta' llama 3.2,Google的雙子座1.5等 Apr 11, 2025 pm 12:01 PM

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? GPT-4O vs OpenAI O1:新的Openai模型值得炒作嗎? Apr 13, 2025 am 10:18 AM

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

視覺語言模型(VLMS)的綜合指南 視覺語言模型(VLMS)的綜合指南 Apr 12, 2025 am 11:58 AM

介紹 想像一下,穿過​​美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛? 閱讀AI索引2025:AI是您的朋友,敵人還是副駕駛? Apr 11, 2025 pm 12:13 PM

斯坦福大學以人為本人工智能研究所發布的《2025年人工智能指數報告》對正在進行的人工智能革命進行了很好的概述。讓我們用四個簡單的概念來解讀它:認知(了解正在發生的事情)、欣賞(看到好處)、接納(面對挑戰)和責任(弄清我們的責任)。 認知:人工智能無處不在,並且發展迅速 我們需要敏銳地意識到人工智能發展和傳播的速度有多快。人工智能係統正在不斷改進,在數學和復雜思維測試中取得了優異的成績,而就在一年前,它們還在這些測試中慘敗。想像一下,人工智能解決複雜的編碼問題或研究生水平的科學問題——自2023年

See all articles