發表文章

NVIDIA GPU 上部署大語言模型方案完整比較與實務建議

 方案: llama.cpp vLLM Hugging Face + ONNX Runtime Ollama 部署實務角度分析: 📦 安裝部署難易度 ⚙️ 效能與資源需求 💡 支援的模型格式與演算法差異 🚀 適合用途與場景推薦 🧠 一、總體部署方案比較表(NVIDIA GPU 環境) 方案 模型格式 GPU 加速 支援模型大小 併發效能 優點 缺點 適用情境 llama.cpp GGUF ✅(CUDA) 小~中(7B~13B) 中 輕量、支援量化 不支援 Transformer engine、慢 輕量部署、本機聊天 vLLM HuggingFace Transformers(.bin) ✅(CUDA) 中~大(13B~70B) 高 高效併發、推理快 部署略複雜、需較大 VRAM 商業部署、API 服務 ONNX Runtime + HF ONNX ✅(CUDA EP) 小~中(3B~13B) 中 通用模型格式 模型轉換複雜、不支援部分 LLM 功能 統一推理平台 Ollama GGUF(封裝) ✅(CUDA) 小~中(7B~13B) 中 安裝簡單、內建 Web API 不支援模型訓練、較少參數控制 快速部署聊天模型 📘 二、詳細說明與差異比較 1️⃣ llama.cpp ✅ 支援 GPU :可編譯支援 CUDA( LLAMA_CUBLAS=ON ),適用 RTX 5880 ✅ 模型格式 :使用 GGUF 格式(經過量化、低記憶體需求) 🔧 演算法差異 :使用自訂的 LLaMA 解碼器,針對 CPU/GPU 做精簡優化 🔁 適合用途 :單人使用、本地聊天、Docker 小型 API ❌ 缺點 :推理效率中等,不支援張量並行、多卡運行 GGUF 是量化後的權重格式,支援 INT4、INT8 等類型,大幅降低模型大小。 2️⃣ vLLM ✅ 支援 GPU :CUDA + TensorRT 最佳效能,可用 RTX 5880 的 full tensor core ✅ 模型格式 :原生 HuggingFace .bin + tokenizer.json 格式 💡 技術特點 : 使用 PagedAttention ...

使用 environment.yml檔建立專案的 Conda 環境

  使用 environment.yml檔建立專案的 Conda 環境  📌 environment.yml 的目的總結: 是為了 重現一個完全一致的軟體環境 ,可在其他電腦上建立同樣的開發/執行環境,涵蓋: Conda 安裝的套件(含 C/C++、Python 模組) pip 安裝的 Python 套件 指定 Python 版本 指定套件來源 (可選)指定環境路徑(prefix) environment.yml 是 Conda 的 環境建構腳本 ,比單純的 pip install 多很多功能: 功能 pip install environment.yml 建立虛擬環境 ❌(需配合 venv) ✅ 自動建立並命名環境 安裝 Conda 套件(如 C++ 依賴) ❌ 無法使用 ✅ 有原生支援與優化版本(e.g. numpy , libx264 ) 套件來源可控(channels) ❌ 只看 PyPI ✅ 支援 conda-forge、defaults 等 同時支援 pip 安裝 ✅ ✅(用 - pip: 子區塊) 記錄所有套件版本(可重現性) 依賴 requirements.txt ✅ 可明確列出版本與平台需求   建置流程如下: 建立乾淨環境: conda create -n mlx-backend python=3.12 conda activate mlx-backend 安裝你需要的套件(逐一裝): conda install aiohttp uvicorn pip install chromadb torch 測試沒問題後,導出 environment.yml : conda env export --from-history > environment.yml ✅ 之後可在別的機器上復原這個環境: conda env create -f environment.yml 💡 Bonus:如何只導出 pip 套件(像 requirements.txt ) 如果你想只輸出 pip 安裝過的套件(像 requirements.txt ) pip freeze > requirements.txt

Notebook LM 使用指南

  一、Notebook LM 是什麼? Notebook LM(Language Model)是一種結合 筆記本與語言模型 AI 助理 的工具,可以根據您上傳的文件(例如論文、PDF、筆記)進行智能問答、摘要、比對、提問建議等互動。 它不只是「問 ChatGPT」,而是把 AI 和您自己的知識(文獻、講義、草稿)結合,形成個人化助理。 二、Notebook LM 的優點(對您特別有幫助的幾點) 功能 對教授的幫助 🔍 文件問答與摘要 幫您快速瀏覽、總結長篇文獻,或在自己的筆記中搜尋特定理論與數據。 🧠 多篇文獻比較 整理多篇論文的理論差異、方法異同、自動生成比較表。 📝 教學備課 輸入教材或講義後,可請 AI 幫您總結、設計考題、甚至生成教學 PPT 草稿。 📄 論文撰寫助理 幫您起草摘要、引言、相關研究回顧,或翻譯、改寫文句,使語言更符合 SCI/SSCI 風格。 💬 個人化對話記憶 Notebook LM 會「記得」您上傳的文件,您可以反覆詢問而不需重複背景說明。 三、怎麼使用 Notebook LM? 📌 1. 開始使用 目前 Notebook LM 屬於 Google Labs 項目,您可透過以下網址申請: 👉 https://notebooklm.google 目前開放地區為美國為主,若無法使用,可先改用 ChatGPT + 自建資料庫(我可幫您設計)達成類似效果。 🗂 2. 上傳資料來源 支援的格式: PDF(論文、教材) Google Docs(講義、計畫書) 純文字(.txt, .md) 上傳後,Notebook LM 會將資料進行語意分析並建構知識圖譜。 💡 3. 問問題或要求摘要 您可以像這樣提問: 「這篇論文的研究動機是什麼?」 「請摘要這份計畫書的目的與預期成果。」 「這三篇文獻的方法論有何差異?」 Notebook LM 會根據您上傳的檔案內容進行回覆。 📊 4. 應用情境建議 情境 Notebook LM 幫得上忙的地方 寫計畫書 自動整理背景文獻、找出研究缺口、撰寫目標描述。 與研究生溝通 將會議記錄與文獻結合,生成問答摘要,供學生複習。 審稿 快速分析文章架構,指出潛在問題與建議改善方向。 跨領域研究 快速理解陌生領...

Docker 應用: 再以建置好container狀況下 如何透過json設定檔設定 在修改 Working Directory 和 Restart Policy 設定

  大家好!今天我們來聊聊如何透過修改Docker 容器的設定文件,設定Working Directory(工作目錄)和Restart Policy(重啟策略)。這種方法雖然有點“黑科技”,但掌握後會讓你在Docker 的使用上更加得心應手。準備好了嗎?讓我們開始吧! 步驟一:準備工作 首先,我們需要確保已經有一個運作中的Docker 容器。假設我們有一個名為 baai_m3 的容器,它是透過以下命令建立的: 巴什 複製程式碼 docker run --gpus all -it -p 8006:8006 --name baai_m3 -v $( pwd ):/baai_m3 nvidia/cuda:12.1.0-devel-ubuntu22.04 /bin/bash 現在,我們要透過設定檔設定它的工作目錄和重新啟動策略。 步驟二:停止容器 在進行設定檔修改之前,必須先停止容器: 巴什 複製程式碼 docker stop baai_m3 步驟三:修改config.v2.json 文件 找到容器的ID: 巴什 複製程式碼 docker inspect --format= "{{.Id}}"   baai_m3 假設我們得到了一個類似 abc123def456 的容器ID。 開啟 config.v2.json 文件: 巴什 複製程式碼 sudo nano /var/lib/docker/containers/abc123def456/config.v2.json 找到或新增 "WorkingDir" 設定: json 複製程式碼 { ... "Path" : "/bin/bash" , "Args" : [ ] , "WorkingDir" : "/baai_m3" , ... } 確保你在文件中添加了 "WorkingDir": "/baai_m3" 。 步驟四:修改hostconfig.json 文件 開啟 hostconfig.json 文件: 巴什 複製程式碼 sudo nano /var/lib/docker/containe...