作者:吳祐賓
最近 Deepseek R1 火紅,據說硬體需求不高,我在想是否有可能在本機下運作,省下每個月繳給 AI 商的費用。
先說結論:租 AI 最實在!
因為算力這種事真的還是需要高檔 GPU 才辦得到,如果自家的硬體能力不夠,還是租 AI 服務來得划算,畢竟不需要承擔 GPU 建置、汰換及電費等費用。
DeepSeek-R1是深度求索(DeepSeek)於2025年1月20日發布的人工智慧大型語言模型,專門適用於數學、編碼和邏輯等任務。
據聞 DeepSeek 硬體需求較低,有審查機制等資安問題是很多人卻步的關鍵。
然而,在封閉的本機環境在資訊安全上還是有一定程度的保護,能在自己的 PC 上跑 AI 也很有趣,怎麼樣也要來玩看看。
本篇內容將說明本機 AI 建置步驟、體感心得。
環境
OS: Windows 11
CPU: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.8GHz
GPU: Intel(R) Iris(R) Xe Graphics (performance close to NVIDIA GeForce MX330)
RAM: 32 GB RAM
使用虛擬機器執行 LM Studio
LM Studio 是一款視覺介面非常好的本機建置、測試 AI 的應用程式,新手友善的整合介面,很適合 AI 起步使用。
由於沒有獨立顯示卡,只能使用 CPU 運算,LM Studio 建置上又相當簡單,索性就用虛擬機器來跑 AI。
安裝、搜尋功能太直覺,Deepseek R1 (DeepSeek-R1-Distill-Qwen-7B) 一下子就安裝好了。
殊.不.知.
實際跑出的體感效果實在緩慢,思考時間往往超過 5 分鐘以上,加上每 2 秒 1 個字的輸出時間,太過燃燒生命,於是就果斷刪除。
在 Intel 硬體平臺上執行 Ollama
目前 LM Studio 和 Ollama 語言模型框架都支援 Nvidia 和 AMD GPU 運算,不用額外設定就可以使用。
而 Intel GPU 不論是內建顯示卡或獨立顯示卡,都不會被語言模型框架使用。幸好,Intel 有提供名叫 "ipex-llm" 加速器來讓框架順利使用 GPU 來進行運算。
什麼是 IPEX-LLM?
閱讀了 Intel 出的 "使用IPEX和IPEX-LLM優化Intel® CPU上的大語言模型推斷 - 技術檔",有關 IPEX-LLM 的說明,整理後我是這樣理解的:
Intel® LLM Library for PyTorch (IPEX-LLM) 是專門設計用於在 Intel 處理器和 GPU 上運行大型語言模型 (LLM) 的 PyTorch 函式庫。 它的進階功能,讓 Intel GPU 支援模型轉換的即時優化,顯著提高開發者的體驗。這個強大的功能增加 LLM 的運行潛力,使其超越了使用傳統獨立顯示卡,並且可以支援 Intel 的整合式 GPU (內建顯示卡)。
安裝 Miniforge
Miniforge 是一套用於計算科學(資料科學、機器學習、巨量資料處理和預測分析)的Python和R語言的應用平台,有點像沙盒(Sandbox)的概念,核心在簡化軟體套件管理系統和部署。
Miniforge 下載點
https://github.com/conda-forge/miniforge
點擊 Windows installer 連結下載 Miniforge3-Windows-x86_64.exe。再使用命令提示字元下指令安裝:
start /wait "" Miniforge3-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=0 /S /D=%UserProfile%\Miniforge3
Windows 下要在環境變數 (系統 > 系統資訊 > 進階系統設定 > 進階頁面 > 環境變數)中加入 Miniforge 路徑:
%UserProfile%\Miniforge3
%UserProfile%\Miniforge3\Scripts
安裝完成,以系統管理員身份開啟 Miniforge Prompt,使用指令 conda -V COMMAND 或 mamba -V COMMAND 來查看版本,出現版本號碼即是設定成功 。
mamba 是使用 C++ 重寫 conda 的版本,功能和 conda 完全相同,但效率更好。
為安裝 IPEX-LLM 建立 llm-cpp 環境
在 Miniforge Prompt 使用以下指令:
conda create -n llm-cpp python=3.11
conda activate llm-cpp
pip install --pre --upgrade ipex-llm[cpp]
** conda create... = 建立 llm-cpp 環境,python 版本為 3.11
** conda activate... 啟動 llm-cpp 環境
建置 llm-cpp 環境
用以下指令建立一個名為 llama-cpp 目錄,並進入該目錄。
mkdir llama-cpp
cd llama-cpp
使用最高權限執行以下指令:
init-llama-cpp.bat
啟動 llm-cpp 環境
啟動前,在 Miniforge Prompt 使用以下指令:
set SYCL_CACHE_PERSISTENT=1
rem under most circumstances, the following environment variable may improve performance, but sometimes this may also cause performance degradation
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
使用 IPEX-LLM 讀取 gguf 模組
llama-cli 是執行 gguf 的工具,可以在不用 Ollama 框架下載入 gguf。指令如下:
llama-cli -m Breeze-7B-Instruct-64k-v0.1-Q4_K_M.gguf -n 32 --prompt "Once upon a time, there existed a little girl who liked to have adventures. She wanted to go to places and meet new people, and have fun" -c 1024 -t 8 -e -ngl 99 --color
Breeze-7B 是聯發科開源的MediaTek Research Breeze-7B模型,支援英文及繁體中文,效能也相當卓越。執行時,GPU 使用率會拉到 99%。
執行結束時,會看到 llama 執行的效率,結果應如下圖所示。
使用 Conda 初始化 Ollama,讓 Ollama 使用 IPEX-LLM
在 Miniforge Prompt 執行以下命令使用 conda 進行 llm-cpp 環境啟動和初始化 Ollama。在你的當前目錄中會出現一個指向 ollama 的符號連結。我的版本是 ollama version is 0.5.4-ipexllm-20250211
conda activate llm-cpp
init-ollama.bat
啟動 Ollama
在 Miniforge Prompt 中執行以下命令(activate llm-cpp 要先做)。或是寫成一個 bat 來啟動 Ollama。
set OLLAMA_NUM_GPU=999
set no_proxy=localhost,127.0.0.1
set ZES_ENABLE_SYSMAN=1
set SYCL_CACHE_PERSISTENT=1
rem under most circumstances, the following environment variable may improve performance, but sometimes this may also cause performance degradation
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
ollama serve
啟動成功後,在結尾處會看到 runners=[ipex_llm]。就表示 Ollama 有成功使用 IPEX-LLM。
使用 Ollama 載入模型,愉快體驗吧!
保留上一步驟的 Miniforge Prompt,打開另一個 Miniforge Prompt 終端,然後使用 ollama.exe run <model_name>自動拉一個模型。
ollama run jcai/breeze-7b-instruct-v1_0:q4_K_M
總結:土炮煉 AI,一場硬頸的浪漫
繞了一大圈,從 LM Studio 到 Ollama,再到 IPEX-LLM,最後還搬出 Miniforge 這沙盒神器,中間還一度卡在 IPEX-LLM 起不來的關卡而想放棄,這條在本機跑 AI 的路,走得還真不輕鬆。但你問我值不值得?我會說,這就像組一台自己的鋼彈模型,過程充滿挑戰,但看到它動起來的那一刻,爽度破表!
雖然結論還是「租 AI 最實在」(畢竟人家是專業的嘛!),但這趟旅程讓我更了解大型語言模型(LLM)的底層運作,也見識到 Intel 在 AI 領域的努力(IPEX-LLM 真的有厲害到)。更重要的是,我證明了即使沒有高檔顯卡,只要有顆不服輸的心,還是能在自己的電腦上玩 AI!
那…效能呢?老實說,跟雲端服務比,當然還是有差。由於整合顯示卡的記憶體和系統記憶體共用,執行速度也不如獨顯VRAM來得好。
雖然效能不盡人意,但看著 GPU 使用率飆到 99%,聽著風扇呼呼地轉,那種「我的電腦正在努力思考!」的感覺,還真不是花錢租 AI 能體會到的。 而且跑 Breeze-7B 這種支援繁體中文的模型,真是倍感親切感!
總之,這是一場「土炮煉 AI」的硬頸浪漫。如果你也喜歡 DIY,喜歡挑戰非正規的道路,喜歡那種「自己的 AI 自己養」的感覺,不妨也來試試看! 不過, 還是要提醒一下,這條路有點崎嶇,要有心理準備喔!
給路人的小建議:
- 硬體先決: 雖然不用高檔 GPU,但 CPU、RAM 也不能太差。
- 耐心至上: 安裝、設定、除錯…都需要時間,請保持耐心。
- 社群是你的好朋友: 遇到問題,多爬文、多請教,你會發現這條路上並不孤單。
- 安全第一:注意來路不明的模型,以及潛在的資安問題。
- 玩得開心最重要!
和你分享
See also
- 【DeepSeek-R1】新手都能懂的 DeepSeek本地部署 教學 | Ollama框架
- Run llama.cpp with IPEX-LLM on Intel GPU
- Run Ollama with IPEX-LLM on Intel GPU
- audreyt/Breeze-7B-Instruct-64k-v0.1-GGUF
- 在 Intel 硬體平臺上使用 Open WebUI 執行 Ollama
- 使用IPEX和IPEX-LLM優化Intel® CPU上的大語言模型推斷 - 技術檔
- Annaconda的替代品miniforge!
- 再见conda,你好Mamba
- 五分鐘上手 Ollama - 在本機跑 LLM 語言模型
- 抓別人的 GGUF 模型,用 Ollama 在本機執行!
- 頁首圖片:Gemini 2.0 flash 生成
沒有留言:
張貼留言