بڑی زبان کے ماڈلز کے لیے ایک سادہ انگریزی گائیڈ — وہ کیا ہیں، وہ اصل میں کس طرح کام کرتے ہیں، اور کبرنیٹس پر خود کو کیسے چلانا ہے۔ غیر تکنیکی مینیجرز اور انجینئرز کے لیے یکساں طور پر لکھا گیا: تشبیہات کو کم کریں، پھر جب آپ تعینات کرنے کے لیے تیار ہوں تو YAML میں داخل ہوں۔

1. واقعی ایک بڑی زبان کا ماڈل کیا ہے؟
اپنے فون پر خودکار تکمیل کا تصور کریں۔ آپ ٹائپ کریں "جب میں پہنچوں گا تو میں آپ کو کال کروں گا" اور یہ "گھر" کا مشورہ دیتا ہے۔ یہ زبان کا ایک چھوٹا سا نمونہ ہے: اس نے بہت سارے ٹیکسٹ پیغامات دیکھے ہیں اور سیکھا ہے کہ کون سے الفاظ کس کی پیروی کرتے ہیں۔ اے بڑا لینگویج ماڈل وہی آئیڈیا ہے جسے لاکھوں کے عنصر سے بڑھایا گیا ہے — جو آپ کے متن پر نہیں بلکہ عوامی انٹرنیٹ، کتابوں، کوڈ اور دستاویزات کے ایک بڑے حصے پر تربیت یافتہ ہے۔
لفظ "بڑا" حقیقی کام کر رہا ہے. ان ماڈلز میں اربوں اندرونی نمبر ہوتے ہیں (کہا جاتا ہے۔ پیرامیٹرز) جو تربیت کے دوران تیار ہو جاتے ہیں۔ جب لوگ کہتے ہیں کہ ماڈل "7B" یا "70B" ہے، تو ان کا مطلب ہے 7 بلین یا 70 بلین پیرامیٹر۔ زیادہ پیرامیٹرز کا عام طور پر مطلب ہوتا ہے زیادہ صلاحیت — اور میموری اور کمپیوٹ کے لیے ایک بڑی بھوک۔
مینیجرز کے لیے ایک مفید ذہنی ماڈل: ایل ایل ایم ایک انتھک، بہت پڑھا لکھا گریجویٹ اسسٹنٹ ہے۔ اس نے کسی بھی انسان سے زیادہ پڑھا ہے، جلدی سے مسودہ تیار کیا ہے، اور کبھی بور نہیں ہوتا ہے - لیکن یہ کبھی کبھی مکمل اعتماد کے ساتھ ایسی چیزوں کو بیان کرتا ہے جو بالکل غلط ہیں، اور اسے کل کی کوئی یاد نہیں ہے جب تک کہ آپ اسے یاد نہ کرائیں۔
2. وہ اصل میں کیسے کام کرتے ہیں۔
ہڈ کے نیچے پانچ خیالات ہیں. آپ کو ان کی پیروی کرنے کے لیے ریاضی کی ضرورت نہیں ہے — ہر ایک کی روزمرہ کی مشابہت ہوتی ہے۔
2.1 ٹوکنز - متن کو ٹکڑوں میں کاٹنا
ماڈل پورے الفاظ نہیں پڑھتے ہیں۔ وہ متن کو اس میں توڑ دیتے ہیں۔ ٹوکن: حروف کے مشترکہ ٹکڑے۔ "Kubernetes" بن سکتا ہے۔ Kub + ernetes; "چل رہا ہے" ہو سکتا ہے run + ning. تقریباً، 1 ٹوکن ≈ 0.75 انگریزی الفاظتو 1,000 ٹوکن تقریباً 750 الفاظ ہیں۔ یہ تجارتی لحاظ سے اہم ہے: میزبان APIs بل فی ٹوکن، اور ایک ماڈل سیاق و سباق کی کھڑکی (یہ ایک ساتھ کتنا "دیکھ" سکتا ہے) ٹوکن میں ماپا جاتا ہے۔
2.2 ایمبیڈنگز - الفاظ کو معنی کے نقاط میں تبدیل کرنا
ہر ٹوکن کو نمبروں کی ایک لمبی فہرست میں تبدیل کیا جاتا ہے۔ سرایت کرنا - جو خلا میں ایک نقطہ کے طور پر اس کے معنی کی نمائندگی کرتا ہے۔ اسی طرح استعمال ہونے والے الفاظ ایک دوسرے کے قریب آتے ہیں۔ "بادشاہ" اور "ملکہ" ایک ساتھ بیٹھتے ہیں؛ "بادشاہ" اور "کیلا" بہت دور بیٹھتے ہیں۔ اس طرح ایک مشین جو صرف ریاضی کرتی ہے ہیرا پھیری کر سکتی ہے۔ معنی: معنی کو جیومیٹری میں بدل دیا گیا ہے۔
2.3 ٹرانسفارمر اور "توجہ" - 2017 کی پیش رفت
ہر جدید ایل ایل ایم کے پیچھے فن تعمیر ہے۔ ٹرانسفارمر. اس کی کلیدی چال کہلاتی ہے۔ توجہ: کسی لفظ پر کارروائی کرتے وقت، ماڈل جملے کے ہر دوسرے لفظ کو دیکھتا ہے اور فیصلہ کرتا ہے کہ کون سا متعلقہ ہے۔ میں "ٹرافی سوٹ کیس میں فٹ نہیں تھی کیونکہ یہ بہت بڑا تھا،" توجہ ماڈل کو یہ سمجھنے دیتی ہے کہ "یہ" سے مراد ٹرافی ہے، سوٹ کیس نہیں۔ توجہ دینے کی بات یہ ہے کہ یہ ماڈل سیاق و سباق، باریک بینی، اور طویل فاصلے کے حوالوں کو اتنی اچھی طرح سے کیوں ہینڈل کرتے ہیں — اور انہیں اتنی زیادہ کمپیوٹنگ کی ضرورت کیوں ہے، کیونکہ ہر لفظ ہر دوسرے لفظ کے ساتھ ہوتا ہے۔
2.4 تربیت - تین مراحل
- پری ٹریننگ: ماڈل کو اربوں جملے دکھائے گئے ہیں جن میں آخری لفظ چھپا ہوا ہے اور اس کا اندازہ لگانے کو کہا گیا ہے۔ اسے غلط سمجھیں، پیرامیٹرز کو دہرائیں، کھربوں بار دہرائیں۔ یہ وہ جگہ ہے جہاں یہ گرامر، حقائق، استدلال کے نمونوں اور کوڈ کو جذب کرتا ہے۔ یہ مہنگا حصہ بھی ہے، جس کی لاگت GPU وقت میں لاکھوں پاؤنڈ ہے۔
- فائن ٹیوننگ: اس کے بعد خام ماڈل کو مددگار سوال و جواب کے رویے کی تیار کردہ مثالوں پر تربیت دی جاتی ہے، اس لیے یہ خود کار طریقے سے مکمل ہونے کی بجائے ایک معاون کی طرح کام کرتا ہے۔
- صف بندی (RLHF): آخر کار، انسان ماڈل کے جوابات کی درجہ بندی کرتے ہیں اور اس فیڈ بیک کا استعمال اسے مزید مددگار، ایماندار اور محفوظ بنانے کے لیے کیا جاتا ہے۔ یہی وجہ ہے کہ چیٹ ماڈل نقصان دہ درخواستوں کو مسترد کرتا ہے اور ایک مستقل لہجہ اپناتا ہے۔
2.5 اندازہ - یہ آپ کو کیسے جواب دیتا ہے۔
جب آپ پرامپٹ بھیجتے ہیں تو ماڈل جواب تیار کرتا ہے۔ ایک وقت میں ایک ٹوکن: یہ ممکنہ طور پر اگلے ٹوکن کی پیشین گوئی کرتا ہے، اسے جوڑتا ہے، پھر اگلے کی پیشین گوئی کرتا ہے، اور اسی طرح — جیسے ایک تیز رفتار، اچھی طرح سے پڑھا ہوا شخص پہلے پورے جملے کی منصوبہ بندی کیے بغیر لفظ بہ لفظ لکھتا ہے۔ ایک ترتیب کہا جاتا ہے۔ درجہ حرارت کنٹرول کرتا ہے کہ یہ کتنا بہادر ہے: کم درجہ حرارت محفوظ، دوبارہ قابل جواب دیتا ہے (کوڈ اور نکالنے کے لیے اچھا)؛ اعلی درجہ حرارت تخلیقی، مختلف جوابات دیتا ہے (دماغ کے لیے اچھا)۔ یہ ٹوکن بہ ٹوکن عمل کہلاتا ہے۔ اندازہ، اور یہ وہ حصہ ہے جس کی آپ پیداوار میں ادائیگی کرتے ہیں — ہر درخواست GPU سائیکلوں کو جلا دیتی ہے۔
3. ایل ایل ایم کیا اچھے اور برے ہیں۔
ٹول کے کناروں کو جاننا مہنگی غلطیوں کو روکتا ہے۔
| میں حقیقی طور پر اچھا | سے محتاط رہیں |
|---|---|
| مسودہ تیار کرنا، دوبارہ لکھنا اور متن کا خلاصہ کرنا | ہیلوسینیشن - قابل فہم لیکن غلط حقائق، حوالہ جات، یا APIs ایجاد کرنا |
| تصورات کی وضاحت اور اکثر پوچھے گئے سوالات کے جوابات | نالج کٹ آف - یہ اپنی تربیت کی تاریخ کے بعد کے واقعات کو نہیں جانتا ہے۔ |
| کوڈ لکھنا اور جائزہ لینا | عین حساب اور گنتی (اس کے بجائے ایک ٹول/کیلکولیٹر استعمال کریں) |
| ڈیٹا کی درجہ بندی، نکالنا اور دوبارہ فارمیٹ کرنا | کوئی بھی چیز جہاں پر اعتماد غلط جواب بغیر جائزہ کے خطرناک ہوتا ہے۔ |
ان میں سے زیادہ تر کے لئے فکس ہے RAG (ریٹریول-آگمینٹڈ جنریشن): ماڈل کی میموری پر بھروسہ کرنے کے بجائے، آپ اپنے سسٹمز سے متعلقہ دستاویزات لاتے ہیں اور انہیں پرامپٹ میں چسپاں کرتے ہیں، تو ماڈل جواب دیتا ہے آپ کے ڈیٹا سے. اس طرح آپ اپنے داخلی ویکی پر ایک چیٹ بوٹ بناتے ہیں بغیر ماڈل کے چیزوں کو بنائے۔
4. ذخیرہ الفاظ، ضابطہ کشائی
| مدت | سادہ انگریزی میں اس کا کیا مطلب ہے۔ |
|---|---|
| پیرامیٹرز (7B/70B) | ٹیون کردہ اندرونی نمبرز۔ زیادہ = ہوشیار لیکن بھاری۔ |
| سیاق و سباق کی کھڑکی | ورکنگ میموری میں ایک ساتھ کتنا ٹیکسٹ رکھ سکتا ہے (ٹوکن میں)۔ |
| اندازہ | جواب حاصل کرنے کے لیے ماڈل چلانا — آپ کی اعادی کمپیوٹ لاگت۔ |
| کوانٹائزیشن | ماڈل کو کمپریس کرنا (مثلاً 4-بٹ تک) تاکہ یہ چھوٹے GPUs پر چھوٹے معیار کی تجارت کے ساتھ فٹ ہو جائے۔ |
| فائن ٹیوننگ | خصوصی طرز عمل کے لیے اپنی مثالوں پر مزید تربیت۔ |
| آر اے جی | ماڈل کو آپ کے دستاویزات کو استفسار کے وقت فیڈ کرنا تاکہ یہ حقائق سے جواب دے، میموری سے نہیں۔ |
| VRAM | GPU میموری۔ واحد سب سے بڑی رکاوٹ جس پر آپ چل سکتے ہیں۔ |
5. اپنا ایل ایل ایم کیوں چلائیں؟
میزبان APIs (OpenAI، Anthropic، اور دیگر) شروع کرنے کا تیز ترین طریقہ ہیں اور بہترین ہیں۔ لیکن چار وجوہات ہیں جن کی وجہ سے تنظیمیں ایک کھلے وزن والے ماڈل جیسے لاما، Mistral، Qwen، یا Gemma کی خود میزبانی کا انتخاب کرتی ہیں:
- ڈیٹا کی رازداری اور تعمیل۔ حساس ڈیٹا کبھی بھی آپ کے نیٹ ورک کو نہیں چھوڑتا — صحت کی دیکھ بھال، مالیات، قانونی اور عوامی شعبے کے لیے اہم۔
- پیمانے پر لاگت۔ ایک مخصوص مستقل درخواست والیوم سے اوپر، آپ کے پاس موجود GPU API کی ادائیگی کے مقابلے فی ٹوکن سستا ہو سکتا ہے۔
- کنٹرول اور استحکام۔ ماڈل آپ کے نیچے کبھی تبدیل نہیں ہوتا ہے، اور آپ وینڈر کی شرح کی حدود یا فرسودگی کے تابع نہیں ہیں۔
- تاخیر اور آف لائن استعمال۔ آپ کی درخواست کے آگے، یا بغیر کسی انٹرنیٹ پر انحصار کے آن پریمیسس۔
لین دین یہ ہے۔ اب آپ ہارڈ ویئر، اسکیلنگ اور قابل اعتماد کے مالک ہیں۔ - جو بالکل وہی ہے جس میں کبرنیٹس اچھا ہے۔
6. ہارڈ ویئر کی حقیقت (تعینات کرنے سے پہلے اسے پڑھیں)
LLM کا وزن GPU میموری (VRAM) میں فٹ ہونا چاہیے۔ انگوٹھے کا ایک موٹا اصول:
| ماڈل کا سائز | مکمل درستگی (FP16) | مقدار کے مطابق (4 بٹ) |
|---|---|---|
| 7–8B (جیسے Mistral 7B، Llama 3 8B) | ~16 GB VRAM | ~5–6 GB VRAM |
| 13-14B | ~28 GB VRAM | ~10 GB VRAM |
| 70B | ~140 جی بی (ملٹی جی پی یو) | ~40 GB VRAM |
دو سرونگ انجن حقیقی تعیناتیوں پر حاوی ہیں:
- علامہ - ریمپ پر سب سے آسان۔ ترقی، اندرونی ٹولز، اور CPU یا سنگل-GPU نوڈس کے لیے بہترین۔ کوانٹائزڈ ماڈلز کو ایک کمانڈ سے کھینچتا ہے۔
- vLLM - پروڈکشن ورک ہارس۔ ہائی تھرو پٹ، بہت سی درخواستوں کو بیچ دیتا ہے، اور ایک کو بے نقاب کرتا ہے۔ OpenAI- موافق API لہذا آپ کا موجودہ کوڈ ایک سطری یو آر ایل کی تبدیلی کے ساتھ کام کرتا ہے۔ (گلے لگانا چہرہ TGI ایک قریبی متبادل ہے۔)
7. Kubernetes پر اپنا LLM تعینات کرنا
نیچے کی ہر چیز کم از کم ایک GPU نوڈ کے ساتھ ایک کلسٹر فرض کرتی ہے۔ NVIDIA ڈیوائس پلگ ان انسٹال ہے، جو GPUs کو شیڈول کے قابل وسائل کے طور پر ظاہر کرتا ہے۔ nvidia.com/gpu. ہم اسے ٹکڑے ٹکڑے کر کے بنائیں گے۔
7.1 نام کی جگہ اور ماڈل وزن کو ذخیرہ کرنے کی جگہ
ماڈل فائلیں بڑی (گیگا بائٹس) اور ڈاؤن لوڈ کرنے میں سست ہیں، اس لیے ہم انہیں a پر کیش کرتے ہیں۔ پرسسٹنٹ والیوم کلیم ہر پوڈ کو دوبارہ شروع کرنے کے بجائے۔
apiVersion: v1
kind: Namespace
metadata:
name: llm
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: model-cache
namespace: llm
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi # weights are big; size generously
# storageClassName: fast-ssd # use an SSD class if your cluster offers one
7.2 آپشن A — اولامہ (آسان آغاز)
اولامہ پہلی تعیناتی یا اندرونی ٹول کے لیے مثالی ہے۔ یہ اسے ایک GPU کے ساتھ چلاتا ہے۔ حذف کریں nvidia.com/gpu سی پی یو کو صرف بیفی نوڈ پر چلانے کی حد۔
apiVersion: apps/v1
kind: Deployment
metadata:
name: ollama
namespace: llm
labels:
app: ollama
spec:
replicas: 1
selector:
matchLabels:
app: ollama
template:
metadata:
labels:
app: ollama
spec:
containers:
- name: ollama
image: ollama/ollama:latest
ports:
- containerPort: 11434
resources:
requests:
cpu: "2"
memory: 8Gi
limits:
nvidia.com/gpu: 1 # remove this line for CPU-only
memory: 16Gi
volumeMounts:
- name: models
mountPath: /root/.ollama
readinessProbe:
httpGet:
path: /
port: 11434
initialDelaySeconds: 10
periodSeconds: 10
volumes:
- name: models
persistentVolumeClaim:
claimName: model-cache
---
apiVersion: v1
kind: Service
metadata:
name: ollama
namespace: llm
spec:
selector:
app: ollama
ports:
- port: 80
targetPort: 11434
ایک بار جب پوڈ چل رہا ہے، ایک ماڈل کو کیشے میں کھینچیں اور اس کے ساتھ چیٹ کریں:
# pull a quantized model into the PVC (one-off)
kubectl -n llm exec deploy/ollama -- ollama pull llama3
# ask it something from inside the cluster
kubectl -n llm exec deploy/ollama -- \
ollama run llama3 "Explain Kubernetes in one sentence."
7.3 آپشن بی - وی ایل ایل ایم (پروڈکشن تھرو پٹ، اوپن اے آئی کے موافق)
حقیقی ٹریفک کے لیے، vLLM بہت سی سمورتی درخواستوں کو مؤثر طریقے سے پیش کرتا ہے اور OpenAI API بولی بولتا ہے۔ گیٹڈ ماڈلز (جیسے لاما) کو گلے لگانے والے چہرے کے ٹوکن کی ضرورت ہوتی ہے، جو ایک راز کے طور پر محفوظ ہوتا ہے۔
apiVersion: v1
kind: Secret
metadata:
name: hf-token
namespace: llm
type: Opaque
stringData:
token: "hf_xxxxxxxxxxxxxxxxxxxxxxxx" # your Hugging Face access token
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: vllm-mistral
namespace: llm
labels:
app: vllm-mistral
spec:
replicas: 1
selector:
matchLabels:
app: vllm-mistral
template:
metadata:
labels:
app: vllm-mistral
spec:
containers:
- name: vllm
image: vllm/vllm-openai:latest
args:
- "--model"
- "mistralai/Mistral-7B-Instruct-v0.3"
- "--max-model-len"
- "8192"
- "--gpu-memory-utilization"
- "0.90"
ports:
- containerPort: 8000
env:
- name: HUGGING_FACE_HUB_TOKEN
valueFrom:
secretKeyRef:
name: hf-token
key: token
resources:
limits:
nvidia.com/gpu: 1
volumeMounts:
- name: cache
mountPath: /root/.cache/huggingface
readinessProbe:
httpGet:
path: /health
port: 8000
initialDelaySeconds: 60 # first start downloads weights
periodSeconds: 15
failureThreshold: 40
volumes:
- name: cache
persistentVolumeClaim:
claimName: model-cache
---
apiVersion: v1
kind: Service
metadata:
name: vllm-mistral
namespace: llm
spec:
selector:
app: vllm-mistral
ports:
- port: 80
targetPort: 8000
چونکہ vLLM OpenAI سے مطابقت رکھتا ہے، ایپلیکیشن کوڈ کو صرف ان کلسٹر URL کی ضرورت ہوتی ہے — SDK میں کوئی تبدیلی نہیں ہوتی:
curl http://vllm-mistral.llm.svc.cluster.local/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/Mistral-7B-Instruct-v0.3",
"messages": [{"role": "user", "content": "Summarise our refund policy."}],
"temperature": 0.2
}'
7.4 داخلے کے ساتھ اسے بے نقاب کرنا
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: llm-api
namespace: llm
annotations:
nginx.ingress.kubernetes.io/proxy-read-timeout: "300" # long generations
spec:
ingressClassName: nginx
rules:
- host: llm.internal.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vllm-mistral
port:
number: 80
7.5 اسکیلنگ - اور یہ GPUs کے ساتھ کیوں مختلف ہے۔
آپ آٹو اسکیل کرسکتے ہیں، لیکن یاد رکھیں ہر نقل کو اپنے پورے GPU کی ضرورت ہوتی ہے۔ - آپ سادہ کیس میں کسی ایک کو جزوی طور پر شیئر نہیں کرسکتے ہیں، اور آپ کے پاس جسمانی طور پر موجود GPUs سے آگے کوئی پوائنٹ اسکیلنگ نہیں ہے۔ سی پی یو کے بجائے قطار یا درخواست کی شرح کے سگنل پر اسکیل کریں (کی ای ڈی اے یہاں بہترین ہے)۔
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: vllm-mistral
namespace: llm
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: vllm-mistral
minReplicas: 1
maxReplicas: 4 # never exceed the number of GPUs in the cluster
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
# For real LLM scaling, prefer KEDA on a queue depth or
# requests-per-second metric exported by vLLM, not CPU.
8. ایک عملی رول آؤٹ چیک لسٹ
- میزبان API پر پروٹو ٹائپ GPUs خریدنے سے پہلے استعمال کے کیس کی توثیق کرنے کے لیے۔
- کھلے وزن کا ماڈل منتخب کریں۔ جو آپ کے ہارڈ ویئر میں فٹ بیٹھتا ہے (ایک 7–8B ماڈل کے ساتھ شروع کریں، کوانٹائزڈ)۔
- علامہ سے شروع کریں۔ اندرونی پائلٹ کے لیے؛ کرنے کے لئے گریجویٹ vLLM جب آپ کو تھرو پٹ کی ضرورت ہو۔
- RAG شامل کریں۔ فریب کو کم کرنے اور جوابات کو تازہ رکھنے کے لیے اپنی دستاویزات پر۔
- ایک انسان کو لوپ میں رکھیں جہاں بھی غلط جواب کی اصل قیمت ہوتی ہے۔
- تخمینہ لاگت اور تاخیر کی پیمائش کریں۔ فی درخواست - یہ آپ کی حقیقی اکائی معاشیات ہے۔