手把手教程|如何使用Azure機器學(xué)習(xí)Prompt Flow優(yōu)化提示詞工程

來源:Azure云科技
作者:謝亞力
時間:2023-12-27
2953
大模型(Large Language Model,LLM)尤其是OpenAI推出的ChatGPT模型打破了人類語言和機器語言之間的障礙,人們通過自然語言(Prompt)就可以操作模型,而模型可以準確的捕獲用戶的復(fù)雜語義和目的,最后以人類可以理解的方式輸出結(jié)果。

大模型(Large Language Model,LLM)尤其是OpenAI推出的ChatGPT模型打破了人類語言和機器語言之間的障礙,人們通過自然語言(Prompt)就可以操作模型,而模型可以準確的捕獲用戶的復(fù)雜語義和目的,最后以人類可以理解的方式輸出結(jié)果。

為了能更好的使用大模型,如何寫提示詞(Prompt)也就是提示詞工程成為一門新的學(xué)科,這個學(xué)科關(guān)注提示詞開發(fā)和優(yōu)化,幫助用戶將大語言模型(Large Language Model,LLM)用于各場景和研究領(lǐng)域。

在開發(fā)和優(yōu)化提示詞的過程中,新的問題又陸續(xù)出現(xiàn),比如如何管理提示詞的版本、如何比較不同的大模型、如何復(fù)現(xiàn)提示詞的結(jié)果、如何評估提示詞的效果等。

本文通過分析提示詞工程的共性問題,然后介紹如何使用Azure Machine Learning Prompt Flow(后文簡稱Prompt Flow)解決這些問題。

#1

提示詞工程的挑戰(zhàn)

基于LLM模型的提示詞工程開發(fā)生命周期

在闡述提示詞工程的挑戰(zhàn)之前,我們先理解基于LLM的應(yīng)用程序開發(fā)的生命周期。了解生命周期之后,我們可以更好地利用Prompt Flow高效地處理整個周期中的每個步驟(特別是提示詞工程),從而開發(fā)出更好的基于LLM的應(yīng)用程序。

640.jpg

上圖是基于LLM的應(yīng)用程序開發(fā)的生命周期,主要有以下四步:

第一步:初始化,確定業(yè)務(wù)用例,收集示例數(shù)據(jù),了解如何構(gòu)建基本提示詞,開發(fā)基本Prompt Flow;

第二步:試驗,我們需要設(shè)計提示詞,并把提示詞在少量樣本中測試并評價提示詞在小樣本中的結(jié)果。然后根據(jù)結(jié)果優(yōu)化提示詞直到達到標準;

第三步:評估&優(yōu)化,需要把第二步設(shè)計好的提示詞在大量樣本中測試,評估測試結(jié)果。如果結(jié)果不達標,返回第二步重新優(yōu)化提示詞。如果結(jié)果滿足所需條件,可繼續(xù)到下一步;

第四步:部署Prompt Flow,監(jiān)視生產(chǎn)環(huán)境中的性能,并收集使用情況數(shù)據(jù)和反饋。并為進一步迭代的提供依據(jù)。本文只關(guān)注提示詞工程的優(yōu)化和評估,所以只討論上圖的第2步試驗(Experimentation)和第3步評估&優(yōu)化(Evaluation&Refinement)。

挑戰(zhàn)一:提示詞的開發(fā)和優(yōu)化

針對特定的問題,我們需要開發(fā)提示詞和選擇不同的模型來解決問題,需要能夠靈活的使用各種模型比如OpenAI、Azure OpenAI、Cognitive Search,需要能夠管理不同的提示詞版本來并比較不同提示詞版本的效果,需要平臺能夠提供開箱即用的運行時環(huán)境來支持提示詞工程的全生命周期開發(fā)。

Azure Machine Learning Prompt Flow的功能可以解決這些挑戰(zhàn)。

挑戰(zhàn)二:提示詞工程的效果評估

在提示詞開發(fā)完成后,就要針對更大的數(shù)據(jù)集運行來評估提示的有效性,并根據(jù)需要進行優(yōu)化。在這個過程中,我們需要平臺能夠評估不同提示詞的運行結(jié)果,需要有數(shù)量化的指標來評估針對大數(shù)據(jù)集運行的提示詞的最終效果。

Azure Machine Learning Prompt Flow的功能可以滿足上述需求。

#2

Prompt Flow vs.挑戰(zhàn)一

創(chuàng)建“連接”管理遠程API

Prompt Flow提供了各種預(yù)生成連接,包括Azure Open AI、Open AI和Azure Content Safety。這些預(yù)生成連接支持在內(nèi)置工具中與這些資源無縫集成。此外,用戶可靈活地使用鍵值對創(chuàng)建自定義連接類型,從而能夠根據(jù)特定要求定制連接。

通過使用“連接”,在提示詞工程中可以方便選擇不同的大預(yù)言模型并比較不同模型的效果。

下圖展示了如何創(chuàng)建Azure OpenAI“連接”,“連接”可僅供創(chuàng)建者使用,也可以在整個工作區(qū)共享:

640 (1).jpg

創(chuàng)建“運行時”

“運行時”充當運行應(yīng)用程序所需的計算資源,例如包含所有必要的依賴項包的Docker映像。這是“Prompt Flow”執(zhí)行的必備條件。因此,建議在開始“Prompt Flow”創(chuàng)建之前設(shè)置運行時。

640 (2).jpg

創(chuàng)建和開發(fā)Prompt Flow

為了方便演示,我們克隆一個現(xiàn)有的“Prompt Flow”中,選擇“Web Classification”,如下圖:

640 (3).jpg

運行Prompt Flow

你可以點擊右上角的“Run”按鈕運行整個Prompt Flow,也可以點擊每個單元上面的“小三角”運行一個單元。

640 (4).jpg

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:Azure云科技
版權(quán)說明:本文內(nèi)容來自于Azure云科技,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多