丟棄黑盒,RAGViz解剖RAG的可視化工具
今天,我們要聊聊一個酷炫的新工具——RAGViz,它就像是給RAG系統裝了個X光機,讓我們能透視那些神秘的內部工作機制。
?? Query="為什么豬會飛?"的可視化:你會發現,那些生成的內容竟然沒有基于任何上下文文檔,這就是所謂的“內部幻覺”。
圖片
?? RAGViz特性和用例
- 注意力可視化:RAGViz用高亮顯示和顏色強度來告訴你,生成的標記序列對輸入標記有多關注。就像是在說:“看這里,看這里,這些是我最關心的部分!”
- 文檔級別的關注度:它不僅告訴你每個檢索段落的關注度,還給你一個累積的文檔級別注意力分數。就像是給你一個“關注度排行榜”,讓你知道哪些段落是“人氣王”。
- 拖動選擇用戶界面:這個功能就像是給你一個遙控器,讓你可以輕松檢查任何標記序列的累積關注度。想檢查哪里就檢查哪里,是不是很方便?
- 文檔切換功能:這個功能讓你可以像玩拼圖一樣,選擇在構建答案上下文時省略特定的標記和文檔,然后比較一下,看看添加或移除它們對LLM輸出的影響。
- 自定義上下文文檔數量:你可以指定從數據集中檢索的相關文檔片段的數量。就像是在餐廳點菜,想點多少吃多少。
- API密鑰認證:RAGViz實現了HTTP請求上的中間件功能,確保你的請求經過適當的認證。就像是給你的網絡請求穿上了一件“正裝”。
?? 在使用文檔切換功能時,對選定的標記序列進行注意力可視化
這個功能就像是給你的文檔來了個“X光透視”,讓你清楚地看到哪些部分是LLM的“心頭好”。
圖片
???♂? 演示了RAGViz識別和調試外部幻覺的能力
RAGViz不僅能幫你看到內部幻覺,還能幫你識別和調試外部幻覺。就像是給你的AI系統裝了個“幻覺探測器”。
圖片
??? RAGViz系統架構
RAGViz的系統架構就像是個精心設計的樂高城堡,包含四個主要組件:近似最近鄰(ANN)索引、后端服務器、LLM推理服務器和前端用戶界面。這些組件可以獨立配置,就像是樂高積木,你可以根據自己的需要隨意組合。
圖片
?? ANN索引(Dense Retrieval)
在密集檢索中,查詢和文檔被編碼成高維特征向量,然后通過相似性搜索來確定查詢向量的最近鄰居。RAGViz使用分布式系統來存儲和索引這些向量,就像是個超級大腦,幫你記住所有的東西。
?? 上下文構建器(Context Builder)
后端服務器處理構建語言模型上下文的所有邏輯,就像是個幕后英雄,默默地支持著整個系統。
?? 生成和注意力輸出(Generation and Attention Output)
RAGViz需要一個GPU節點來運行LLM推理任務。系統使用vLLM庫進行快速LLM推理,生成文本,但由于vLLM不支持注意力輸出,系統隨后使用HuggingFace模型庫來獲取注意力分數。
??? 前端用戶界面(Frontend User Interface)
前端用戶界面基于Next.JS框架構建,并作為靜態文件托管在Apache web服務器上。用戶界面使用表單收集查詢信息和其他參數,并在接收到后端的注意力分數后,將它們存儲在React狀態中以用于注意力可視化。
?? 展示了窗口大小為5、步長為2的滑動窗口片段提取方法的演示
滑動窗口方法選擇具有最高內積相似度的片段。相反,簡單首段方法總是選擇顯示為綠色的首個窗口。就像是在玩一個“找不同”的游戲,看哪個片段最匹配。
圖片
?? 資源鏈接
- RAGViz GitHub:https://github.com/cxcscmu/RAGViz
- RAGViz Demo Video:https://youtu.be/cTAbuTu6ur4
- RAGViz Paper:https://mp.weixin.qq.com/s/ZXvAWDhqKRPq1u9NTfYFnQ