PyTorch / TensorFlow / LangChain / Transformers 有咩分別?

2026-06-04 · AI 基礎 · Eric Cheung

前言:點解咁多 AI 框架?

快速結論(TL;DR)

如果你開始接觸 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 框架,用嚟訓練同運行神經網絡模型。佢係而家學術界同業界最流行嘅深度學習框架。

主要用途

點解佢咁受歡迎?

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 喺工業級部署方面仍然有獨特優勢。

主要用途

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 到。

主要用途

點解咁重要?

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 應用。

主要用途

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("我哋公司嘅退款政策係咩?")

四大框架關係圖

用一個比喻嚟理解佢哋嘅關係:

你唔一定需要全部掌握。事實上,大多數 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,唔係由零訓練。


總結

四大框架各有定位,唔係鬥邊個好啲,而係用啱嘅工具做啱嘅事:

記住:你唔使全部都識。由 Hugging Face 開始玩下,然後根據需要學 LangChain 做應用,呢條路對大多數開發者嚟講已經好夠用。至於 PyTorch 同 TensorFlow — 等你真係需要自己 train 模型嗰陣先學都未遲。