使用 AI 最佳化記憶體使用量

進階 AI 輔助程式開發

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

從時間轉向空間複雜度

 

效能不只看速度:

  • 記憶體用量
  • 可擴充性
  • 資料隨時間成長

時間到空間複雜度

進階 AI 輔助程式開發

以規模測試

資料庫規模比較

 

  • ✔ 小型資料集:適合學習
  • 📈 記憶體問題:在大規模才浮現
  • 💾 真實資料庫:更接近正式環境
進階 AI 輔助程式開發

記憶體成長警示

memory-grouth.png

進階 AI 輔助程式開發
進階 AI 輔助程式開發
進階 AI 輔助程式開發

AI 解讀記憶體追蹤

 

tracemalloc-interpretation.png

 

AI 發現:

  • 大量記憶體被保留
  • 重複的中介結構
  • 發生於彙總運算
進階 AI 輔助程式開發

找出根因

根因

進階 AI 輔助程式開發

AI 提出修正

 

🤖 記憶體瓶頸提示:

根據已找出的記憶體瓶頸,提出重構策略以降低尖峰記憶體用量。可考慮串流處理、資料再利用,或替代表示方式。

 

建議策略:

  • 減少中介配置
  • 重複利用緩衝區
  • 加入快取
進階 AI 輔助程式開發

快取的取捨

快取取捨天平

 

使用快取要小心:

  • ✔ 可能提升效能
  • ❌ 也可能增加記憶體
進階 AI 輔助程式開發

快取的取捨

 

🤖 比較取捨提示:

在此工作負載與存取模式下,快取策略會降低整體記憶體用量,還是可能更糟?請說明取捨關係。

ai-cache-suggestion.png

進階 AI 輔助程式開發

AI 實作

ai-code-fixes.png

 

一如往常:

  • 仔細檢閱
  • 驗證後再接受變更
進階 AI 輔助程式開發

驗證結果

 

效能基準執行:

memory-benchmark.png

結果:

  • 記憶體峰值大幅下降
  • 執行時間維持穩定
  • ✅ 最佳化已驗證
進階 AI 輔助程式開發

基準測試提示

🤖 基準測試提示:

你是 Python 效能專家。以下是程式碼變更前後的兩個 tracemalloc 快照。

  • 變更前:{before_snapshot}
  • 變更後:{after_snapshot}

比較記憶體峰值與配置次數。用數字說明結論。若變更有改善,解釋原因;否則提出修正建議。

 

有效的基準測試提示:

  • 提供前/後
  • 指定重點指標
  • 要求有憑有據的結論

 

✔ 讓最佳化可重現系統化

進階 AI 輔助程式開發

一起來練習吧!

進階 AI 輔助程式開發

Preparing Video For Download...