AI News HubLIVE
站內改寫2 分鐘閱讀

Superhuman與Databricks攜手打造200K QPS推理平台

Superhuman從自建vLLM堆棧遷移到Databricks FMAPI Provisioned Throughput,現以200K+ QPS和亞秒級P99延遲服務自定義LLM。聯合優化實現了每GPU吞吐量提升60%(每H100 pod從750 QPS提升至1,200 QPS),通過FP8量化、消除CPU端開銷和優化Hopper架構注意力內核達成,且無質量回歸。Databricks FMAPI通過生產級負載均衡、自動縮放和快速容器啓動,可靠擴展至250+ GPU。

Superhuman,這家提供包括Superhuman、Coda、Superhuman Mail和Superhuman Go在內的生產力平台,每天為超過4000萬用户提供服務,覆蓋數十種語言。其AI通信助理能在用户書寫時實時提供正確性、清晰度、語氣和風格方面的建議。這些實時建議背後是一個高度複雜的自定義AI模型,以巨大規模提供服務:峯值流量超過每秒20萬次查詢,P99端到端延遲低於1秒,且需保證4個9的可靠性。

為了支撐這一規模,Superhuman此前使用基於vLLM的自建推理堆棧,並輔以內部訓練和模型管理工具。然而,隨着模型迭代,維護成本日益增加:每次模型更新需數月手動性能調優,運營負擔(容量規劃、性能調優、自動縮放)佔用了本應聚焦模型質量和產品創新的團隊精力。Superhuman需要一位平台合作伙伴,能夠為推理堆棧的性能和延遲SLA做出承諾,並共同投入工程資源以滿足要求。

Databricks模型服務平台(FMAPI Provisioned Throughput)成為最終選擇。雙方團隊首先定義了嚴格的實時延遲SLO:P99延遲低於1秒,且在Superhuman內部評估集上無質量退化。為實現這一目標,雙方在多個層面展開合作。

在負載均衡方面,默認的Kubernetes輪詢在低QPS下表現良好,但在高QPS下會導致請求分佈不均,引發熱點和尾延遲飆升。Databricks團隊採用了基於“二選一”冪次選擇算法的自定義負載均衡器:端點發現服務(EDS)持續監控Kubernetes API,為每個請求採樣兩個候選Pod,並路由到活躍請求更少的那個,從而避免熱點。

自動縮放策略同樣關鍵:系統跟蹤所有Pod的平均請求併發數,並通過基準測試得出每個Pod的最大可持續RPS,設定併發目標。縮放策略不對稱——快速擴容、保守縮容——以避免抖動導致的延遲尖峯。雙方通過聯合影子測試發現了參數調優中的邊緣情況並修復了問題。

容器啓動速度優化方面,Databricks採用了鏡像加速技術,將標準gzip格式鏡像轉換為適合延遲加載的塊設備格式。容器運行時僅拉取元數據即可啓動應用,文件讀取時按需從遠程鏡像倉庫獲取實際塊內容並緩存。這使容器啓動時間從數分鐘降至數秒。

運行時優化是提升每Pod吞吐量的核心。通過FP8量化——對注意力投影和MLP投影使用每通道縮放——獲得了高達30%的吞吐量提升。雙方迭代確定了量化層組:MLP投影從一開始就量化,注意力層經測試無質量退化後也啓用量化。此外,消除CPU端瓶頸貢獻了額外20%吞吐量:引入多進程RPC服務器,多個CPU進程並行準備和分發工作到GPU;用C++調用替換Python級張量操作;實現異步調度使CPU後處理與下一GPU前向傳播並行。這些優化使每H100 Pod的吞吐量從750 QPS提升至1,200 QPS,增幅60%。

目前,Superhuman正將更多模型遷移至Databricks,涵蓋不同規模、任務類型和延遲要求,並更廣泛地採用AI平台用於訓練、實驗跟蹤、評估、模型註冊和代理追蹤。這一大規模平台的建設是雙方公司的共同努力,也是一次非凡的學習體驗。