iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Engineering

從零訓練到瀏覽器部署:30 天打造 Atari Breakout 強化學習 AI 系列

本系列將從 Atari Breakout 與強化學習基礎出發,使用 PyTorch 從零實作 DQN、Double DQN 與 Dueling DQN,完整記錄環境建置、資料收集、模型訓練、超參數調校、除錯與實驗評估。後半段進一步將模型匯出為 ONNX,比較不同推論方式的效能,並嘗試透過 ONNX Runtime Web / WebGPU 將訓練完成的 AI 部署至瀏覽器,完整走過從模型訓練到實際部署的 AI Engineering 流程。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21|訓練越久越好嗎?跑到 5M 後,我最後反而選了 2.5M 模型

Day 20 我們已經從 DQN、Double DQN、Dueling Double DQN 三種方案裡,選出了 Dueling Double DQN。 但「選...

2026-09-04 ‧ 由 tommypan 分享
DAY 22

Day 22|模型訓練完了,接下來呢?把 PyTorch 模型帶進 ONNX

Day 21,我們終於把長時間訓練告一段落,留下了最後要用的 Dueling Double DQN。 前面二十多天一直在想一件事:怎麼讓 Agent 學會玩 B...

2026-09-05 ‧ 由 tommypan 分享
DAY 23

Day 23|換成 ONNX Runtime 之後,它還是同一個 Agent 嗎?

Day 22,我們已經把訓練好的 PyTorch 模型轉成 ONNX。 乍看之下,好像只差把它丟進瀏覽器就完成了。 但我不太想直接往下衝,因為中間還有一個很基本...

2026-09-06 ‧ 由 tommypan 分享
DAY 24

Day 24|模型一次決策要多久?我才發現 GPU Benchmark 其實很容易量錯

Day 23 已經確認一件很重要的事:把模型從 PyTorch 換成 ONNX Runtime 之後,Agent 的決策沒有跑掉。 接下來自然會想問: 那它到...

2026-09-07 ‧ 由 tommypan 分享
DAY 25

Day 25|FP16 真的比較快嗎?模型縮小一半,我最後卻決定不用它

Day 24 我已經確認,這個 Breakout 模型做一次決策其實只需要幾毫秒。 接下來我很好奇另一個很常見的最佳化方法:如果把 FP32 換成 FP16,會...

2026-09-08 ‧ 由 tommypan 分享
DAY 26

Day 26|TensorRT 真的比較快嗎?RL 部署不能只看「每一步一不一樣」

Day 25 我試過 FP16。模型檔案確實變小了,但部分狀態會選到不同動作,而且一次只處理一個遊戲狀態時也沒有比較快。 Day 26 換一個方向:把原本的 O...

2026-09-09 ‧ 由 tommypan 分享
DAY 27

Day 27|把 Breakout 模型真的搬進瀏覽器

前幾天,Breakout Agent 雖然已經訓練完成,也能替四個動作做決定,但大部分事情都還是在 Python 裡完成。 如果最後想把它做成一個「打開網頁就能...

2026-09-10 ‧ 由 tommypan 分享
DAY 28

Day 28|GPU 一定比 CPU 快嗎?實測 WebGPU 之後,答案是:不一定

Day 27 已經確認,同一個 Breakout 模型可以直接在瀏覽器裡執行,而且用 WASM 跑 60 個固定畫面時,最後選到的動作和 Python 全部一致...

2026-09-11 ‧ 由 tommypan 分享
DAY 29

Day 29|讓 RL Agent 真的在瀏覽器裡玩 Breakout

Day 27、Day 28 已經證明一件事:訓練好的 ONNX 模型可以直接放進瀏覽器,用 WASM 或 WebGPU 執行,而且對固定畫面會做出和原本模型一致...

2026-09-12 ‧ 由 tommypan 分享
DAY 30

Day 30|30 天後,我終於讓AI學會打磚塊了

30天 !!我終於完成了! 30 天前,我只是看到有人用強化學習讓 AI 玩遊戲,覺得很有趣,所以也想自己做一次。 一開始想得很簡單:把 Breakout 跑起...

2026-09-13 ‧ 由 tommypan 分享