iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
生成式 AI

從零開始,打造一個生成式 AI 平台,打破程式學習的高牆系列 第 11

AI 的開發,從定義成功開始,如何創建有效的測試資料

  • 分享至 

  • xImage
  •  

AI 的開發,從定義成功開始,如何創建有效的測試資料

https://ithelp.ithome.com.tw/upload/images/20240911/20168979EDjkKDNXQK.png

我們已經明確定義好每一個 LLM 的任務。

現在,該怎麼讓這些 LLM 各守本分,做好各自任務呢?

並且確保你的 AI 能夠穩定地處理多種情境,特別是當用戶需求或環境變化時?

這邊我推薦參考兩篇 Anthropic 的兩篇文章

定義你的成功標準

建立強大的實證評估

我這邊會在根據個人經驗,總結成兩大重點

前言

如果一個任務有明確定義的評估指標,那麼提示詞工程就是提升性能的最佳方法之一。

首先,定義成功

先思考一下 LLM 必須得回應什麼樣的訊息才能滿足我們的需求,最好的做法就是設計一個評分標準,透過這個標準來將這種模玲兩可的語言給量化。

我們可以從以下三點來評價 LLM

  • 準確性:LLM 是否能正確理解並回應問題?

  • 一致性:AI 是否能在不同上下文中給出一致的回應?

  • 速度:回應的速度是否符合預期,特別是在實際應用場景中?

範例

在建立 AI 應用時,這些標準必須與你的應用目標相符。這裡是一些常見的範例:

  1. 情感分析應用
    成功標準可以包括:
    情感分類的準確率達到 85% 以上。
    兩個類似的文字訊息,能否給予相同的答案。
    AI 每次判斷的時間能否保持在 1 秒以內。

  2. 客服機器人
    標準可以是 AI 能夠回答 90% 的常見問題,並且在提供答案時保持友好語氣。

  3. 對話助手
    AI 是否能記住上下文,並根據對話歷史給出合適的回應?

再來,建立有效的測試案例

測試,也就是我們模擬用戶會餵給 AI 的資料。
我們要盡可能的猜想到用戶會丟什麼資料給 AI,盡可能的保證 AI 在各種情境、各種奇葩環境下都能給予不錯的回應

1. 針對特定任務

直接測試 AI 執行的任務,如果 AI 是做情感分析應用,測試應包括正面、負面和中立情緒的文本。同時,別忘了考慮邊緣案例(如具有混合情感或複雜語句的文本)。

範例:我們可以創建好幾個有反諷意義的測試文本,試試看 AI 能否驗證出來

2. 盡可能自動化

有時候 AI 做的事情很簡單,好比說如果 AI 只是判斷 true 或 false,又或者只會輸出特定的幾個單字,比如說他的任務是判斷某句話為”正面”還是”負面”(LLM 只有兩種可能的輸出),那就可以把一切自動化,可能寫個自動跑所有測試資料的程式碼,然後判斷 LLM 的正確率為多少。

另一種作法是設計另一個專門評分的 LLM,為了節省成本,我們的專門做任務的 AI 可能是比較廉價的 LLM(好比說 gpt-4o-mini),這時我們可以用更聰明的 LLM(比如說 gpt-4o),讓更聰明的 AI 來鞭策、判斷做任務的 AI 的回應是否合格。

3. 數量優先於質量

與其開發少量高質量的測試,不如創建更多稍微寬鬆的自動化測試。這樣可以涵蓋更廣泛的情境,並確保 AI 能夠在各種邊緣情況下正常運作。

範例:開發 100 個常見問題的測試集,而不是集中精力在 10 個高度定制的問題上。

以上是最基本的提示詞工程基礎。

說到這個,今天我看到一個很酷的文章也同時分享給大家

自動提示詞工程

如何讓 LLM 自己想出超有效的提示詞,甚至比人類想的還要更好,進一步降低人力成本。

可以參考這篇文章

https://www.techbang.com/posts/118175-auto-prompt-engineering-guide


上一篇
思維鏈設計 1:讓 AI 分析程式碼的標題、目的
下一篇
思維鏈設計 2:設計 AI 生成第一個程式碼片段的 Prompt
系列文
從零開始,打造一個生成式 AI 平台,打破程式學習的高牆17
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言