博客 / 列表

deephub - 大規模向量檢索優化:Binary Quantization 讓 RAG 系統內存佔用降低 32 倍

當文檔庫規模擴張時向量數據庫肯定會跟着膨脹。百萬級甚至千萬級的 embedding 存儲,float32 格式下的內存開銷相當可觀。 好在有個經過生產環境驗證的方案,在保證檢索性能的前提下大幅削減內存佔用,它就是Binary Quantization(二值化量化) 本文會逐步展示如何搭建一個能在 30ms 內查詢 3600 萬+向量的 RAG 系統,用的就是二值化 embedding。 二

llm , 人工智能 , 檢索系統

deephub - 向量搜索升級指南:FAISS 到 Qdrant 遷移方案與代碼實現

FAISS 在實驗階段確實好用,速度快、上手容易,notebook 裏跑起來很順手。但把它搬到生產環境還是有很多問題: 首先是元數據的問題,FAISS 索引只認向量,如果想按日期或其他條件篩選還需要自己另外搞一套查找系統。 其次它本質上是個庫而不是服務,讓如果想對外提供接口還得自己用 Flask 或 FastAPI 包一層。 最後最麻煩的是持久化,pod 一旦掛掉索引就沒了,除非提前手動存盤。 Q

llm , 向量 , 人工智能 , 檢索系統

deephub - CALM自編碼器:用連續向量替代離散token,生成效率提升4倍

過去這些年語言模型的效率優化基本圍繞着兩條主線展開:參數規模和注意力機制的複雜度。但有個更根本的問題一直被忽視,那就是自迴歸生成本身的代價。這種逐token生成的模式讓模型具備了強大的通用性,同時也帶來了難以迴避的計算開銷。 現在有一種思路值得關注:不去替換現有的優化手段,而是在上層加一個潛在空間的映射層,直接削減前向傳播的次數。 每次讓GPT-5寫封郵件模型都得一個token一個token地往外

llm , 人工智能 , 深度學習

deephub - dLLM:複用自迴歸模型權重快速訓練擴散語言模型

大語言模型的文本生成方式一直都是以自迴歸為主:一個token接一個token,從左往右,生成完就定了。 但現在有個不太一樣的思路開始在研究圈裏流行起來,那就是擴散語言模型(Diffusion LMs)。擴散模型在圖像生成領域已經證明了自己的可行性,但是問題是把這套東西用到文本上一直很麻煩——訓練難、評估難、更別提怎麼集成到現有的LLM工作流裏了。 dLLM是一個開源的Python庫,它把擴

llm , 人工智能 , 深度學習 , Python

deephub - 機器學習時間特徵處理:循環編碼(Cyclical Encoding)與其在預測模型中的應用

做過電力負荷預測或者交通預測朋友,大概率都處理過時間特徵。這裏最直接的做法通常是把時間(比如分鐘或小時)直接扔進模型裏。這看起來邏輯自洽,但存在這一個大坑,就是“午夜悖論”。 比如説你的模型面對兩個時間點:23:59(一天的第1439分鐘) 和 00:01(一天的第1分鐘)。在我們的認知裏,這倆只差兩分鐘,但在模型的邏輯裏1439 和 1 可是不一樣的。大多數機器學習算法(線性迴歸、KNN、SVM

機器學習 , 人工智能 , 特徵提取 , Python

deephub - Anthropic 開源 Bloom:基於 LLM 的自動化行為評估框架

Anthropic 最近放出了一個叫 Bloom 的開源框架,專門用來測試大語言模型會不會出現某些特定行為。比如模型是不是會阿諛奉承用户、有沒有政治傾向、會不會為了自保撒謊或者試圖繞過監督機制這類問題。 這個框架跟常規的評估基準不太一樣。傳統基準都是固定的測試集而 Bloom 會根據你的配置“長”出不同的評估內容,這也是為什麼叫這麼個植物學的名字。 工作流程:四個階段搞定評估 Bloom 的整個流

llm , 人工智能 , 深度學習

deephub - Pydantic-DeepAgents:基於 Pydantic-AI 的輕量級生產級 Agent 框架

DeepAgents的靈感源自 LangChain deepagents,但在設計上更做減法,它強調類型安全且內置了 Docker 沙箱 2025 年的Autonomous AI Agents早就不是實驗室裏的花架子了。在現實世界的自動化流程、代碼生成工具、數據管道以及各類智能助手中都能看到它們的身影。 現在的很多主流 Agent 框架越來越重。為了用上 Agent,你往往得引入一堆沉重的

llm , agent , 人工智能 , 深度學習

deephub - 別再浪費內存了:Python __slots__ 機制深入解析

Python 對象的靈活性大家都知道,可以隨時給對象添加屬性: class User: pass u = User() u.name = "Alice" u.age = 30 但這種靈活性的代價也很大,每個普通 Python 對象都有個 __dict__ 字典來存儲屬性,對象一多內存開銷就上來了,這時候 __slots__ 就派上用場。 slots 到底在幹什麼 __sl

機器學習 , 知識 , Python

deephub - Scikit-image 實戰指南:10 個讓 CV 模型更穩健的預處理技巧

在計算機視覺工程落地中我們常遇到一種現象:模型在驗證集上表現完美,但是一旦部署到生產環境準確率卻莫名下跌。這種“性能衰退”往往不源於模型架構本身而是歸咎於預處理管道的脆弱性。數據類型的隱式轉換、縮放算法的細微差異、或是未被矯正的幾何形變,這些看似微不足道的工程細節往往是系統失效的根源。 相比於盲目調整超參數,建立一套確定性強的預處理流程性價比更高。本文總結了基於 scikit-image 的十個工

圖像識別 , 神經網絡 , 人工智能 , 深度學習

deephub - 1小時微調 Gemma 3 270M 端側模型與部署全流程

Gemma 3 270M是 Google 推出的一款雖小但能力驚人的開放模型。它屬於 Gemma 家族,本質上是將 Gemini 模型中使用的相同技術帶入了輕量級、可定製的形式中。 你可以在 不到一小時內完成微調,並將其大小壓縮到 300MB 以下,讓他直接在你的瀏覽器中運行。 在這篇文章中,我將展示我是如何使用 Gemma 創建我自己的 emoji 翻譯器的——這是一個將文本轉換為表情符號並在本

llm , pytorch , gemma , 深度學習 , Python

deephub - ONNX Runtime Python 推理性能優化:8 個低延遲工程實踐

在深度學習落地過程中,有一個常見的誤區:一旦推理速度不達標,大家的第一反應往往是拿着模型開到,比如:做剪枝、搞蒸餾、甚至犧牲精度換小模型。 實際上生產環境中的 Python 推理鏈路隱藏着巨大的“工程紅利”。很多時候你的模型本身並不慢,慢的是低效的數據搬運、混亂的線程爭用以及不合理的 Runtime 默認配置。在不改變模型精度的情況下,僅靠ONNX Runtime (ORT) 的工程特性,往往就能

神經網絡 , 人工智能 , 深度學習 , Python

deephub - Scikit-Learn 1.8引入 Array API,支持 PyTorch 與 CuPy 張量的原生 GPU 加速

Scikit-Learn 1.8.0 更新引入了實驗性的 Array API 支持。這意味着 CuPy 數組或 PyTorch 張量現在可以直接在 Scikit-Learn 的部分組件中直接使用了,且計算過程能保留在 GPU 上。 1.8.0 到底更新了什麼? Scikit-Learn 開始正式支持Python Array API 標準。這是一個由 NumPy、CuPy、PyTorch、J

神經網絡 , pytorch , 人工智能 , 深度學習 , sklearn-pandas

deephub - 別隻會One-Hot了!20種分類編碼技巧讓你的特徵工程更專業

機器學習模型處理不了原始文本。無論是線性迴歸、XGBoost還是神經網絡,遇到 "red" 、 "medium" 、 "CA" 這類分類變量都沒法直接處理。所以必須把它們轉成數字這個過程就是分類編碼。 大家入門時肯定都學過獨熱編碼或序數編碼,

機器學習 , 數據挖掘 , 分類 , 人工智能 , 前端開發 , Javascript , Python

deephub - llama.cpp Server 引入路由模式:多模型熱切換與進程隔離機制詳解

llama.cpp server在 2025年12月11日發佈的版本中正式引入了 router mode(路由模式),如果你習慣了 Ollama 那種處理多模型的方式,那這次 llama.cpp 的更新基本就是對標這個功能去的,而且它在架構上更進了一步。 路由模式的核心機制 簡單來説,router mode 就是一個內嵌在 llama.cpp 裏的模型管理器。 以前跑 server,啓動時需要指

llm , 人工智能 , 深度學習 , llama , Python

deephub - 不僅僅是 Try/Except:資深 Python 工程師的錯誤處理工程化實踐

開發過程中,這種報錯堆棧大家應該都不陌生: Traceback (most recent call last): File "app.py", line 10, in module\ ZeroDivisionError: division by zero 程序崩潰,服務中斷,用户體驗歸零。 但 Python 提供的異常處理機制,遠不止是為了防止程序閃退。它的核心價值在

異常處理 , Python

deephub - 深度解析 Google JAX 全棧:帶你上手開發,從零構建神經網絡

目前來看Google 是唯一一家在 AI 價值鏈上實現端到端垂直整合的公司。從基礎模型 (Gemini)、應用層 (ImageFX, Search with Gemini, NotebookLM),到雲架構 (Google Cloud, Vertex AI) 以及硬件 (TPUs),幾乎全都有所佈局。 長期以來Google 一直在通過提升自身能力來減少對 NVIDIA GPU 的依賴。這種

jax , 人工智能 , 深度學習 , Python

deephub - 基於強化學習的量化交易框架 TensorTrade

打開交易圖表,堆上十個技術指標,然後對着屏幕發呆不知道下一步怎麼操作——這場景對交易員來説太熟悉了。如果把歷史數據丟給計算機,告訴它“去試錯”。賺了有獎勵,虧了有懲罰。讓它在不斷的嘗試和失敗中學習,最終迭代出一個不説完美、但至少能邏輯自洽的交易策略。 這就是 TensorTrade 的核心邏輯。 TensorTrade 是一個專注於利用 強化學習 (Reinforcement Learning,

量化交易 , 強化學習 , Python

deephub - DeepSeek-R1 與 OpenAI o3 的啓示:Test-Time Compute 技術不再迷信參數堆疊

過去2年,整個行業彷彿陷入了一場參數競賽,每一次模型發佈的敍事如出一轍:“我們堆了更多 GPU,用了更多數據,現在的模型是 1750 億參數,而不是之前的 1000 億。” 這種慣性思維讓人誤以為智能只能在訓練階段“烘焙”定型,一旦模型封裝發佈,能力天花板就被焊死了。 但到了 2025 年,這個假設徹底被打破了。 先是 DeepSeek-R1 證明了只要給予思考時間,Open-weight

llm , 人工智能 , 深度學習

deephub - PyCausalSim:基於模擬的因果發現的Python框架

做 A/B 測試或者分析轉化率的時候,經常會碰到那個老生常談的問題: “這數據的波動到底是干預引起的,還是僅僅是相關性?” 傳統的分析手段和機器學習擅長告訴你什麼能預測結果,但預測不等於因果。而在做決策,不管是干預、優化還是調整業務邏輯時,我們需要的是因果關係。 今天介紹一下 PyCausalSim,這是一個利用模擬方法來挖掘和驗證數據中因果關係的 Python 框架。 問題:相關性好找,

機器學習 , 人工智能 , Python

deephub - 機器學習超參數調優:十個實用的貝葉斯優化(Bayesian Optimization)進階技巧

貝葉斯優化(Bayesian Optimization, BO)雖然是超參數調優的利器,但在實際落地中往往會出現收斂慢、計算開銷大等問題。很多時候直接“裸跑”標準庫裏的 BO,效果甚至不如多跑幾次 Random Search。 所以要想真正發揮 BO 的威力,必須在搜索策略、先驗知識注入以及計算成本控制上做文章。本文整理了十個經過實戰驗證的技巧,能幫助優化器搜索得更“聰明”,收斂更快,顯著提升模型

機器學習 , 貝葉斯 , 人工智能 , 深度學習 , Python

deephub - 別隻會One-Hot了!20種分類編碼技巧讓你的特徵工程更專業

機器學習模型處理不了原始文本。無論是線性迴歸、XGBoost還是神經網絡,遇到 "red" 、 "medium" 、 "CA" 這類分類變量都沒法直接處理。所以必須把它們轉成數字這個過程就是分類編碼。 大家入門時肯定都學過獨熱編碼或序數編碼,但編碼方法其實非常多。目標編碼、CatBoost編碼、James-Stein編碼這些高級技術,用對了能給模型帶來質的飛躍,尤其面對高基數特徵的時候。

機器學習 , 編碼 , 人工智能 , Python

deephub - LMCache:基於KV緩存複用的LLM推理優化方案

LLM推理服務中,(Time-To-First-Token) 一直是個核心指標。用户發起請求到看見第一個token輸出,這段時間越短體驗越好,但實際部署中往往存在各種問題。 LMCache針對TTFT提出了一套KV緩存持久化與複用的方案。項目開源,目前已經和vLLM深度集成。 原理 大模型推理有個特點:每次處理輸入文本都要重新計算KV緩存。KV緩存可以理解為模型"閲讀"文本時產生的中間狀態

llm , 人工智能 , 深度學習 , kv存儲

deephub - PyTorch推理擴展實戰:用Ray Data輕鬆實現多機多卡並行

單機 PyTorch 模型跑推理沒什麼問題,但數據量一旦上到萬級、百萬級,瓶頸就暴露出來了:內存不夠、GPU 利用率低、I/O 拖後腿,更別説還要考慮容錯和多機擴展。 傳統做法是自己寫多線程 DataLoader、管理批次隊列、手動調度 GPU 資源,這哥工程量可不小,調試起來也麻煩。Ray Data 提供了一個更輕量的方案:在幾乎不改動原有 PyTorch 代碼的前提下,把單機推理擴展成分佈式

pytorch , 人工智能 , 深度學習

deephub - JAX核心設計解析:函數式編程讓代碼更可控

很多人剛接觸JAX都會有點懵——參數為啥要單獨傳?隨機數還要自己管key?這跟PyTorch的畫風完全不一樣啊。 其實根本原因就一個:JAX是函數式編程而不是面向對象那套,想明白這點很多設計就都説得通了。 先説個核心區別 PyTorch裏,模型是個對象,權重藏在裏面,訓練的時候自己更新自己。這是典型的面向對象思路,狀態封裝在對象內部。 JAX的思路完全反過來。模型定義是模型定義,參數是參數,兩邊分

llm , jax , 神經網絡 , 人工智能 , 深度學習