使用 Snowpark 將 LLM 部署到 Snowflake 上的向量化 UDF
LLM 是資料科學工具包中不可或缺的工具,具有廣泛的應用範圍,從文字摘要、分類到句子相似度計算。HuggingFace的開源法學碩士為 OpenAI 的 GPT-4 等商用閉源模型提供了高效能、本地託管的替代方案。
然而,部署和擴展這些開源模型以處理大量資料可能具有挑戰性。數千甚至數萬次計算通常不會構成挑戰,但如果您需要處理數百萬或數千萬筆記錄怎麼辦?
背景
作為資料科學家,我們通常會對儲存在資料倉儲(例如 Snowflake)中的資料進行操作。許多部署解 葡萄牙 電話號碼 決方案涉及將資料傳送到另一個環境和/或發出大量 http 請求來檢索計算,這很快就會在時間和金錢方面變得昂貴。
我遇到了對高效能、可擴展解決方案的需求,作為計算數百萬個搜尋關鍵字對應的搜尋引擎結果頁面 (SERP) 的語義相似度分數的項目的一部分。
並行化的最初嘗試並沒有取得成果:針對我們的 Snowflake 資料倉儲提取資料的大量 SQL 查詢需 阿爾巴尼亞 電話號碼 要很長時間才能解決,並且在 SageMaker 上部署模型會導致額外的 h請求,從而增加了開銷。
輸入 Snowpark 和使用者定義的函數。我以前曾使用過UDF,但為了在這種情況下真正從它們中獲得價值,我需要一種方法來首先將LLM 部署到Snowflake,然後在UDF 中使用它- 最好是向量化UDF 以提高性能。
我以Fabian Hernandez 的一篇 Medium 帖子作為我的指南開始了開發,這篇文章非常有啟發性 — 向該作者大力致敬!我在這裡複製了他文章中的一些程式碼。然而,我遇到了一些問題,一路上學到了很多關於 Snowflake 和 Snowpark 的知識。