PyTorch / TensorFlow / LangChain / Transformers 有咩分別?
2026-06-04 · AI 基礎 · Eric Cheung
前言:點解咁多 AI 框架?
快速結論(TL;DR)
- PyTorch 同 TensorFlow 係深度學習引擎,主要用嚟由零訓練模型:做研究同 prototyping 揀 PyTorch,要部署到手機或瀏覽器就揀 TensorFlow。
- Hugging Face Transformers 係「模型超市」,一行 code 就可以用到 pre-trained 模型,令 AI 開發民主化。
- LangChain 係 LLM 應用框架,幫你將 LLM 接入數據、API 同工具,用嚟整 RAG、Agent 同 Chain。
- 對大多數開發者嚟講,日常只需要 Hugging Face + LangChain,PyTorch 同 TensorFlow 留返俾真正要由零訓練模型嘅人。
如果你開始接觸 AI 開發,好快就會撞到一大堆名詞:PyTorch、TensorFlow、LangChain、Hugging Face Transformers⋯⋯ 每個都話自己做 AI,但其實佢哋嘅定位好唔同。
簡單嚟講:PyTorch 同 TensorFlow 係「深度學習引擎」,俾你由零訓練 AI 模型;Hugging Face Transformers 係「模型超市」,俾你直接用 pre-trained 模型;而 LangChain 係「AI 應用框架」,幫你將 LLM 接入實際應用。
你唔需要識晒全部,但了解佢哋嘅分別,可以幫你揀啱工具做啱嘅事。
PyTorch — 研究同 prototyping 首選
佢係咩?
PyTorch(Facebook/Meta 開發)係一個開源嘅 Deep Learning 框架,用嚟訓練同運行神經網絡模型。佢係而家學術界同業界最流行嘅深度學習框架。
主要用途
- 訓練 AI 模型 — 由零開始 train 一個圖像辨識、語音辨識、推薦系統模型
- 研究 prototyping — 語法似 NumPy + 自動微分,debug 方便,好適合做研究
- Fine-tuning — 喺 pre-trained model 基礎上做微調(例如 fine-tune BERT for 中文 NER)
點解佢咁受歡迎?
PyTorch 嘅成功在於佢嘅 Eager Execution(即時執行)模式 — 你寫嘅 code 即刻 run,唔使 compile,debug 可以用標準 Python debugger。對比 TensorFlow 初期嘅 graph mode,PyTorch 嘅開發體驗好得多。
另外,Hugging Face Transformers 嘅底層預設用 PyTorch,令 PyTorch 嘅生態更加龐大。
# PyTorch 簡單例子:定義一個神經網絡
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(784, 256),
nn.ReLU(),
nn.Linear(256, 10)
)
# 自動微分 — PyTorch 嘅核心
x = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
y = x.sum()
y.backward() # 自動計算 gradient
print(x.grad) # tensor([1., 1., 1.])
TensorFlow — 工業部署首選
佢係咩?
TensorFlow(Google 開發)係另一個主流 Deep Learning 框架。雖然近年學術界轉向 PyTorch,但 TensorFlow 喺工業級部署方面仍然有獨特優勢。
主要用途
- 生產環境部署 — TensorFlow Serving 可以直接將模型部署做 API
- 手機/邊緣裝置 — TensorFlow Lite 可以將模型壓縮到手機行
- 瀏覽器 AI — TensorFlow.js 可以喺瀏覽器入面行模型
- 大型分散式訓練 — TensorFlow 嘅分散式訓練架構好成熟
PyTorch vs TensorFlow:點揀?
簡單嘅指引:做研究 / 學 AI / prototyping → PyTorch;要部署到手機、瀏覽器或邊緣裝置 → TensorFlow。不過近年 PyTorch 嘅部署工具(TorchScript、ONNX)都越嚟越成熟,兩者嘅差距越嚟越細。
現實:而家大多數人(包括我)都唔會由零 train 一個 model。多數係用 pre-trained model 去做 fine-tune 或者直接做 inference。呢個時候,你根本唔需要直接掂 PyTorch 或 TensorFlow — Hugging Face 幫你搞掂晒。
Hugging Face Transformers — 模型超市
佢係咩?
Hugging Face Transformers 係一個開源 Library,提供大量 pre-trained 模型嘅接口。你可以當佢係「AI 模型嘅 App Store」— 想用 BERT、GPT、LLaMA、Stable Diffusion?一行 code 就 load 到。
主要用途
- Text Classification — 情感分析、垃圾郵件偵測、分類標籤
- Named Entity Recognition (NER) — 從文章中抽出人名、地名、公司名
- Question Answering — 問答系統(畀一段文章,問 AI 問題)
- Text Generation — 用 GPT/LLaMA 做文章生成
- Translation / Summarization — 翻譯同摘要
- Image / Audio — Transformers 都支援 Vision 同 Audio 模型
點解咁重要?
Transformers 令 AI 開發民主化。以前你要 train 一個 BERT 模型,需要大量 GPU 同數據,仲要寫幾百行 PyTorch code。而家用 Hugging Face:
# Hugging Face Transformers — 一行 code 用到 BERT
from transformers import pipeline
# 情感分析 — 唔使自己 train
classifier = pipeline("sentiment-analysis")
result = classifier("I love this product!")
print(result) # [{"label": "POSITIVE", "score": 0.999}]
# 換模型?改個名就得
classifier = pipeline("sentiment-analysis",
model="distilbert-base-uncased-finetuned-sst-2-english")
仲有 Hugging Face Hub(Hugging Face 嘅模型平台)上面有超過 50 萬個模型,全部都係 open source,一鍵下載即用。
LangChain — LLM 應用開發框架
佢係咩?
LangChain 係一個用嚟開發 LLM 應用嘅框架。佢解決嘅問題係:點樣將 LLM(如 GPT-4、Claude)接入你嘅數據、API 同工具,建立真正有用嘅 AI 應用。
主要用途
- RAG(Retrieval-Augmented Generation) — 將公司文件/數據庫接入 LLM,令 AI 可以根據你嘅資料回答問題
- Agent / Tool Use — 令 LLM 可以自動 call API、查 database、操控工具
- Chain — 將多個 LLM call 串連成一個 Pipeline(例如:翻譯 → 摘要 → 翻譯返原文)
- Memory — 為 LLM 添加對話記憶,支援跨輪對話
- Prompt Management — 管理同版本控制 prompt template
LangChain 嘅定位
LangChain 同 PyTorch / TensorFlow 唔係競爭關係,而係上層框架。LangChain 底層用嘅 LLM(例如 GPT-4、Claude、LLaMA)本身就係用 PyTorch 或者 TensorFlow train 出嚟嘅。LangChain 唔關心個模型點 train,佢關心嘅係點樣用好呢啲模型。
# LangChain 簡單例子:RAG 問答
from langchain.chains import RetrievalQA
from langchain_community.vectorstores import Chroma
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
# 將文件變成向量儲存
vectorstore = Chroma.from_documents(
documents=your_documents,
embedding=OpenAIEmbeddings()
)
# 建立 RAG Chain
qa_chain = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4"),
retriever=vectorstore.as_retriever()
)
# 問問題 — AI 會根據你嘅文件回答
answer = qa_chain.invoke("我哋公司嘅退款政策係咩?")
四大框架關係圖
用一個比喻嚟理解佢哋嘅關係:
- PyTorch / TensorFlow = 引擎(Engine)— 訓練同運行 AI 模型嘅底層工具
- Hugging Face Transformers = 預裝引擎嘅車(Pre-built Vehicle)— 直接用 pre-trained 模型,唔使自己由零整
- LangChain = 導航系統 + 機械臂(Navigation + Tools)— 控制架車去邊同做咩
你唔一定需要全部掌握。事實上,大多數 AI 開發者嘅日常工作只需要 Hugging Face + LangChain。PyTorch 同 TensorFlow 留俾需要由零訓練模型嘅研究人員同 ML Engineer。
常見問題 FAQ
Q:我需要學邊個?
如果係 AI 應用開發(例如用 LLM 做 chatbot、RAG、Agent),學 LangChain + Hugging Face 就夠。如果想深入研究模型訓練或者做 ML 研究,先學 PyTorch。TensorFlow 除非你特別需要部署到手機/瀏覽器。
Q:LangChain 同 Hugging Face 有咩分別?
Hugging Face 俾你「用模型」,LangChain 俾你「用 LLM 嚟建立應用」。你可以兩個一齊用 — 用 Hugging Face load 模型,然後用 LangChain 將模型接入 RAG pipeline。
Q:我係唔係需要由零 train 一個 model?
絕大多數情況下 唔需要。除非你做緊好 niche 嘅 task(例如識別某種稀有疾病嘅醫學影像),否則 Hugging Face Hub 上面已經有 pre-trained model 可以用。你需要嘅係 fine-tune 同 integrate,唔係由零訓練。
總結
四大框架各有定位,唔係鬥邊個好啲,而係用啱嘅工具做啱嘅事:
- PyTorch — 深度學習訓練用,研究同 prototyping 首選
- TensorFlow — 工業級部署用,手機/邊緣裝置有優勢
- Hugging Face Transformers — pre-trained 模型超市,一行 code 用到頂尖模型
- LangChain — LLM 應用框架,幫你將 AI 接入真實數據同工具
記住:你唔使全部都識。由 Hugging Face 開始玩下,然後根據需要學 LangChain 做應用,呢條路對大多數開發者嚟講已經好夠用。至於 PyTorch 同 TensorFlow — 等你真係需要自己 train 模型嗰陣先學都未遲。