DigiHouse
日本語

TECH ARTICLE · 7 MIN READ

Blog / DigiHouse

W10|Gemma 2 本地模型與雲端模型評測

W10 第三小時實作:用同一組生活問題比較本地 Gemma 2 與雲端 Gemini 的速度、品質、隱私與成本。

本週完成成果

你會用同一組公開安全測試題比較 Ollama 上的 Gemma 2 與 Gemini,而不是憑印象說本地或雲端比較好。評測會同時看回答品質、時間、資源、資料去向與成本。

完成標準|兩個模型使用同一份 prompts;報告記錄環境、模型名、時間、人工評分與限制;若 Codespace 資源不足,也能以誠實的 blocker 報告完成驗證。

課前準備

步驟 1|先確認第三小時邊界:前兩小時 DLI 由官方課程處理,本篇只進行課綱指定的本地/雲端比較。

預期結果|不把 DLI 題目、答案或教材複製到 Repo。

步驟 2|Codespaces:查看 CPU、記憶體與磁碟,判斷是否符合老師指定模型需求。

bash
nproc
free -h
df -h .

預期結果|把實際規格記入 ollama_report.md;規格不足先回報,不盲目下載大型模型。

步驟 3|小組:準備五個不含個資的固定問題,例如校園公告整理、菜單分類與讀書計畫。

預期結果|兩個模型收到完全相同文字與輸出要求。

第三小時|個人技術實作

故事開始|像選擇在宿舍煮飯或叫外送:自己煮可能較能掌握食材,但需要廚房、時間與設備;外送方便,卻要考慮價格與資料交給誰。模型部署也沒有永遠唯一的答案。

老師先問|本地模型一定比較隱私、免費嗎?本地可以減少資料送出,但電腦、電力、維護與存取權仍有成本;雲端也要依服務條款與資料等級判斷。

生活比喻|同一張考卷要在相同條件下比較:題目、時間計法與評分尺都相同,才能知道差異來自模型而不是測試方式。

先看全程地圖|先看懂資料與決策怎麼移動,再開始操作。圖中的箭頭代表下一步,不代表可以跳過人工確認。

text
┌──────────┐
│ 同一組安全題目│
└────┬─────┘
     ├────────→ 本地 Ollama/Gemma 2 ────┐
     └────────→ 雲端 Gemini ───────────┤
                                          ↓
                         ┌────────────────┐
                         │速度/品質/成本/隱私│
                         └───────┬────────┘
                                 ↓
                           人工選擇適用情境

步驟 4|依老師提供的已準備環境確認 Ollama API;不要在資源不足的 Codespace 臨時下載。

bash
curl -s http://localhost:11434/api/tags

預期結果|回傳可用模型清單;連不上時記錄 blocker 與環境,不自行改防火牆。

步驟 5|建立固定 prompt 檔與測試紀錄格式。

jsonl
{"id":"p1","prompt":"只根據下列公開公告整理日期、地點與待確認事項:..."}
{"id":"p2","prompt":"把下列一週讀書任務分成五天,不能新增原文沒有的作業:..."}

預期結果|兩個 provider 使用相同 prompt ID。

步驟 6|執行老師提供的比較腳本或小組 codes/ollama_test,記錄模型完整名稱與耗時。

bash
python codes/ollama_test/compare.py --prompts week10_ollama/prompts.jsonl --output week10_ollama/results.jsonl

預期結果|每筆結果包含 provider、model、elapsed_seconds 與 response;Secrets 不寫入結果。

步驟 7|兩位同學盲評輸出:隱藏模型名稱,依正確、完整、不亂補、好閱讀各 1–5 分。

預期結果|保留兩位評分與差異,不只選自己喜歡的文字風格。

課堂收束|完成一句決策:「在__情境我們選__,因為__;如果__改變,就重新評估。」模型比較的成果是選擇條件,不是宣布永久冠軍。

指定閱讀與課後作業

指定閱讀|依課綱完成個人 week10_ollama Python 測試;查閱 Ollama API 與 GitHub Codespaces 機器規格官方文件。模型名稱與可用性會變動,以教師當週公告為準。

課後作業方向|個人整理測試程式,小組在 feat-ollama 分支完成比較報告。若無法在 Codespaces 啟動模型,提交可重現環境證據與替代的教師準備測試結果,不偽造成功。

步驟 8|個人:在 week10_ollama/ 保存 prompts 與安全的結果摘要,不保存 API key 或私人輸入。

預期結果|別人能知道測了什麼與使用哪個模型。

步驟 9|小組:完成 ollama_report.md 並提交 PR。

bash
git add week10_ollama codes/ollama_test ollama_report.md
git commit -m 'W10: compare local and cloud model tradeoffs'
git push -u origin HEAD

預期結果|報告包含環境規格、五題結果、人工評分、成本/隱私與限制。

驗收方式

bash
test -s ollama_report.md
test -s week10_ollama/prompts.jsonl
rg -n "模型|環境|耗時|隱私|成本|限制" ollama_report.md

通過條件|同題同尺比較完成;模型與環境可辨識;人工評分與限制保留;資源不足時有真實 blocker 證據。

應提交的 Repo 檔案

必交|week10_ollama/、codes/ollama_test/、ollama_report.md。只提交課綱指定成果與重現所需說明;不得提交 API key、個資、私人對話、未授權資料或大型模型檔。

常見問題與排除

問題 1|Ollama connection refused:確認老師提供的服務是否啟動與 API 位址,不自行暴露 11434 到公開網路。

問題 2|模型下載空間不足:停止下載並回報規格;不要刪除別組或系統資料。

問題 3|比較不公平:固定 prompt、temperature/參數與評分尺,並記錄無法完全相同之處。

引用資料

國立中央大學授課課綱/劉書銘老師,《劉書銘老師課程大綱_基礎模型與生成式人工智慧-更新版.pdf》;教師提供附件。用途:W1–W16 時段、實作主題、評量與交付物。

Ollama,《Ollama API Introduction》;https://docs.ollama.com/api/introduction;查閱日期:2026-08-04。用途:W10 Ollama 本機 API 位址、generate request 與模型呼叫。

Google AI for Developers,《Text generation》;https://ai.google.dev/gemini-api/docs/generate-content/text-generation;查閱日期:2026-08-04。用途:Gemini Python SDK 文字生成請求、模型參數與回應文字介面。

GitHub Docs,《Changing the machine type for your codespace》;https://docs.github.com/en/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace;查閱日期:2026-08-04。用途:W7、W10 Codespaces 資源、機器規格與可能費用差異。