評估驅動開發: 生成式 AI 軟體不確定性的解決方法

2024/9/11 在 Hello World Dev Conference 分享的演講投影片  ➡️ 這裡下載 PDF (18.3mb)

後續有補充 Textgrad 和 DSPy 的最佳化 colab 通用範例在這裡

如果你還沒有訂閱我的電子報,歡迎訂閱 📬 愛好 AI Engineer 電子報

議程介紹:

Eval-Driven Development (EDD) 是一種通過特定任務評估,來引導開發 LLM-based 的應用軟體。我們會合成和製作資料集,設計評估指標,然後在評估的輔助下,實現 LLM 應用功能。簡單來說,就是先寫評估再開發。

在評估機制的支持下,我們可以自動最佳化超參數,包括自動提示詞生成 ,來提高應用性能。我們也可以透過這個機制,確保提示詞變更或升級更換模型時,AI 性能不會退化。

最後,評估流程還可以搭配 LLMOps 收集線上數據,進行數據飛輪不斷迭代改進,持續提升 AI 性能。

聽眾收穫:

聽眾將掌握先寫評估再開發的方法論,確保開發出的 AI 軟體能夠達到預期的性能指標。在開發初期就確立明確的目標,從而提高開發效率和結果的可靠性。並且透過自動最佳化超參數技術,可以顯著減少人工調參的工作量,並提升和保障軟體的整體 AI 性能。

愛好 AI Engineer 電子報 🚀 建構 LLMs 應用的戰略、運營和戰術經驗分享 #16

Hello! 你好 👋

我是 ihower,這期累積了不少精彩內容分享給大家。

🔝What We’ve Learned From A Year of Building with LLMs

這包括作者們的 Blog 長文、在 AI Engineer World’s Fair 大會的演講影片,以及我的截圖版本

這是由六位大神一起寫的 What We Learned From A Year of Building With LLMs (我們從一年使用大型語言模型的開發中學到了什麼) 資訊量很高,乾貨滿滿。把開發 LLM-based AI 產品的經驗,分成 戰術、營運和戰略層面,以下摘要節錄: 

閱讀全文〈愛好 AI Engineer 電子報 🚀 建構 LLMs 應用的戰略、運營和戰術經驗分享 #16〉

使用繁體中文評測 RAG 的 Chunking 切塊策略

想系統性學習如何打造 LLM、RAG 和 Agents 應用嗎? 歡迎報名我的課程 大語言模型 LLM 應用開發工作坊

延續之前做 EmbeddingReranker 評測,這次來研究 RAG 系統中的 Chunking 切塊環節。由於 embedding 和 LLM 模型的長度限制,我們必須將所有文本資料,拆成小塊後再轉成向量放進向量資料庫。

七月份 Chroma 做的這篇非常棒 Evaluating Chunking Strategies for Retrieval,評測了幾個 Chunking 策略,並且提出兩種新的切塊策略,想當然他是用英文文本做的。

因為他有公開 Github Repo 程式碼可以重現他的實驗(非常棒,是真的可以順利執行的),因此我就改成用繁體中文文本試試,排列組合出評測 38 種不同 chunking 的方式。

閱讀全文〈使用繁體中文評測 RAG 的 Chunking 切塊策略〉

愛好 AI Engineer 電子報 🚀 檢索增強生成 RAG 特輯 #15

Hello! 你好 👋

我是 ihower,這集是 RAG 進階特輯。如果不知道什麼是基本的 naive RAG(或叫做 top-k RAG) ,可以先看我的入門投影片有關 RAG 的介紹。簡單講,RAG 就是根據用戶問題,檢索出最相關的內容,然後放到 Prompt 裡面讓模型做參考回答。

閱讀全文〈愛好 AI Engineer 電子報 🚀 檢索增強生成 RAG 特輯 #15〉

使用繁體中文評測各家 Reranker 模型的重排能力

想系統性學習如何打造 LLM、RAG 和 Agents 應用嗎? 歡迎報名我的課程 大語言模型 LLM 應用開發工作坊

接續上一篇 Embedding 模型評測,這次我們來看看搭配 Reranker (重排)模型,做成二階段檢索會是什麼情況。

圖片出處: Boosting Your Search and RAG with Voyage’s Rerankers

什麼是二階段檢索?

Reranker 模型是另一種不一樣的模型(學名叫做 Cross-Encoder),不同於 embedding 模型(學名叫做 Bi-Encoder) 輸入是文字,輸出是高維度向量。Reranker 模型的輸入是兩段文字,輸出一個相關性分數 0 到 1 之間,也就是我們會將用戶 query 跟每一份文件都去算相關性分數,然後根據分數排序。

Reranker 的執行速度較慢,成本較高,但在判斷相關性上面,比 embedding 模型更準確
因此當資料非常多、想要快又要準時,跟 embeddings 模型搭配,做成兩階段檢索,是前人做推薦引擎時就發明的招式。

  • 第一階段: 從上萬上億筆資料中,用 Embedding 向量相似性,搜尋出前數十名到數百筆
  • 第二階段: 從數十到幾百筆資料中,用 Reranker 進行精細的相關性排序
閱讀全文〈使用繁體中文評測各家 Reranker 模型的重排能力〉

使用繁體中文評測各家 Embedding 模型的檢索能力

想系統性學習如何打造 LLM、RAG 和 Agents 應用嗎? 歡迎報名我的課程 大語言模型 LLM 應用開發工作坊

📊 評估數據結果 google spreadsheets 傳送門 ↗️

Updated(2024/9/23): 新增 Jina Embeddings v3
Updated(2024/9/24): 新增 Voyage-3
Updated(2024/10/22): 新增 mistral-embed
Updated(2025/2/12): 新增 Voyage-3-Large (排第一但也最貴)、Chuxin-Embeddingmodel2vec
Updated(2025/2/12): 有測 Nvidia NV-Embed v2 模型,但模型太大本機跑不動沒結果
Updated(2025/2/13): 新增 Nomic Embed Text V2
Updated(2025/3/9): 想測 gemini-embedding-exp-03-07,但因為 rate limit 超低很搞笑,無法跑完
Updated(2025/6/16): 新增 Voyage-3.5 跟 Voyage-3.5-litevoyage-multimodal-3Cohere Embed 4Qwen3 Embedding 0.6B 跟 4B

在 RAG 系統中,將文字轉語意向量的 embedding 模型,是非常重要的關鍵檢索環節。
很多人在問繁體中文的 embedding 建議選哪一套,通常大家就推薦比較熟的 OpenAI embedding 模型。
但到底哪一套客觀評測比較好,在 HuggingFace 上雖然有個 MTEB 有 (簡體)中文評測,但幾乎都是中國模型霸榜,而且感覺用簡體中文評測不代表繁體中文。

於是我就想自己跑評測看看,週末花了時間,參考了 Llamaindex 針對 RAG 場景評測 Embedding 模型的方法(Boosting RAG: Picking the Best Embedding & Reranker models),使用聯發科整理的 TCEval-v2 資料集中的台達閱讀理解資料集 drcd,其中有不重複文章段落共 1000 段,以及對應的 3493 個問題。

閱讀全文〈使用繁體中文評測各家 Embedding 模型的檢索能力〉