你的提示詞根本只是在浪費算力,如何讓Deepseek發揮極限潛能 - 多跳推理
最近幾周自學deepseek原理+應用+實踐,一些成果,和大家分享。
對于deepseek的流弊:
- 小部分人會關心,deepseek為什么這么流弊;
- 大部分人會關心,提示詞要怎么寫;
今天和大家聊聊,deepseek的核心機制之一的多跳推理,以及如何優化我們的提示詞,使得deepseek能夠最大化發揮其多跳推理的潛力。
什么是多跳推理?
多跳推理,multi-hop reasoning,是模型將不同源中的信息關聯,整合與推理的能力。
比較抽象,舉個例子。
- 源1:項目A是張三開發的(信息)
- 源2:項目A是李四測試的(信息)
- 源3:項目A是本季度上線的(信息)
- 源4:項目A上線時出現了故障(信息)
提問:本季度績效誰該背325?(知識)
我們會發現:比拼參數量的大模型,是無法從已有知識中得到提問的答案的,但通過簡單推理,將已有的多源信息關聯,就能極大提升回答的質量。這就是多跳推理。
人們是怎么想到多跳推理的?
多跳推理最符合人的真實思維。
誰該背325?你是經理你怎么想?
- 第一步,我先看看本季度有沒有線上故障;
- 第二步,線上故障是哪個項目;
- 第三步,項目的開發與測試負責人分別是誰;
- 最后,相關負責人背325。
是不是這樣?當我們面臨一個新的問題時,如果我們腦中的信息沒有直接答案,我們就是通過多跳推理,通過信息的關聯,一步步找到答案。
這聽上去不是很簡單嗎?
這對我們人來說簡單,但對大模型來說就要了命了,信息量十分巨大,兩個信息的關聯,三個信息的關聯,多個信息的關聯,即使能夠預處理,其計算量也是巨大的。
既然deepseek用了這個技術,我們如何能夠最大化發揮deepseek多跳推理的優勢呢?
通過提示詞顯性的告訴deepseek關聯關系與關聯步驟,而不要讓大模型在有限的深度思考里,浪費注意力去探索海量的關聯關系。
這也是《讓deepseek達到最佳效果的3大原則(第1講)》里提到的,為什么“系統性”的提示詞能極大提升回答的質量,原因就在于此。
再舉個例子。
bad case:請幫我定位與修復異常代碼。
good case:請幫忙通過以下步驟定位與修復異常代碼:
- 查看調用鏈中的異常信息,定位出錯模塊
- 查看出錯模塊的日志信息,定位異常代碼的源文件名,函數名
- 分析源文件相關函數
- 修復相關函數
說到底,我們是如何思考與解題的,就顯性的用提示詞告訴deepseek如何思考與解題,這樣能夠:
- 極大提升deepseek效率,提升答案深度;
- 增強答案追溯性與邏輯性;
- 提升知識的準確性,而不是讓deepseek在有限的深度思考時間里自行探索;
總結
- 多跳推理能極大提升deepseek的回復質量;
- 多跳推理最接近人的真實思維;
- 提示詞通過顯性告之deepseek關聯關系與關聯步驟,能夠最大化發揮多跳推理的潛力;
一切的一切,提示詞只有適配了AI的認知模式,才能最高效的發揮最大的作用。
知其然,知其所以然。
思路比結論更重要。
補充閱讀材料:
《Multi-hop RAG》:https://arxiv.org/pdf/2401.15391
PDF,可下載。