Mac Mini M4: లోకల్ LLM లకు అనధికార రాజు
ఇది ఆంగ్ల మూల వ్యాసానికి యంత్ర అనువాదం. కొన్ని సూక్ష్మ భేదాలు కోల్పోవచ్చు, కాబట్టి ఆంగ్ల వెర్షన్నే ప్రమాణంగా తీసుకోండి. మూల వ్యాసాన్ని ఆంగ్లంలో చదవండి
సంక్షిప్తంగా
మీరు DFW శివారులో ల్యాబ్ నిర్మిస్తుంటే, విద్యుత్ వినియోగం, వేడే మీ పెద్ద శత్రువులని త్వరగా తెలుసుకుంటారు. నేను నెలల తరబడి 3090 తో చేసిన ఒక PC బిల్డ్తో పోరాడాను; అది జెట్ ఇంజిన్లా శబ్దం చేసేది, ఏదైనా ఏజెంట్ బ్యాక్గ్రౌండ్ టాస్క్ నడిపిన ప్రతిసారీ నా ఆఫీసును ఆవిరి గదిలా మార్చేసేది. అప్పుడు 64GB యూనిఫైడ్ మెమరీతో Mac Mini M4 Pro కి మారాను. ఇది నిశ్శబ్దంగా ఉంటుంది, డెస్క్ లైట్ కన్నా తక్కువ విద్యుత్తు తీసుకుంటుంది, Llama 3-70B మోడళ్లను ఉపయోగపడే వేగంతో నడుపుతుంది. మొదటిసారి హార్డ్వేర్ కనిపించకుండా పోయింది; ఏ ఇంజినీరింగ్ ల్యాబ్కైనా అంతిమ లక్ష్యం అదే.
ఆర్కిటెక్చర్
Apple Silicon “మ్యాజిక్” CPU వేగం కాదు; అది యూనిఫైడ్ మెమరీ ఆర్కిటెక్చర్ (UMA). సంప్రదాయ PC లో CPU RAM, GPU RAM (VRAM) వేరువేరు. 40GB మోడల్ నడపాలంటే 1,600 డాలర్ల GPU కావాలి. Mac లో సిస్టమ్ RAM యే VRAM.
| లక్షణం | డెస్క్టాప్ PC (RTX 4090) | Mac Mini (M4 Pro 64GB) |
|---|---|---|
| VRAM సామర్థ్యం | 24GB వద్ద కఠిన పరిమితి | 64GB వరకు (సౌలభ్యంగా) |
| మెమరీ బ్యాండ్విడ్త్ | 1,000 GB/s (GDDR6X) | 273 GB/s (యూనిఫైడ్) |
| విద్యుత్ వినియోగం | 450W - 600W | 20W - 50W |
| శబ్దం | ఫ్యాన్ల భారీ శబ్దం | దాదాపు నిశ్శబ్దం |
| ఆదర్శ మోడల్ పరిమాణం | 8B - 34B | 8B - 70B (క్వాంటైజ్డ్) |
కేవలం వేగంలో (సెకనుకు టోకెన్లు) PC, Mac ను మించినా, పరిమాణం-ఖర్చు లో Mac గెలుస్తుంది. భారీ ప్రూనింగ్ లేకుండా ఒక్క కన్స్యూమర్ NVIDIA కార్డుపై 70B మోడల్ను నడపడం అక్షరాలా అసాధ్యం. Mac Mini దాన్ని అలవోకగా మింగేస్తుంది.
నిర్మాణం
ప్రొడక్షన్ ల్యాబ్ కోసం Mac ను కాన్ఫిగర్ చేయాలంటే “డెస్క్టాప్ యాప్” ఆలోచన నుంచి హెడ్లెస్ సర్వీస్ ఆలోచన వైపు మారాలి.
1. ఇన్ఫరెన్స్ స్టాక్
నేను Ollama వాడతాను, ఎందుకంటే Apple Metal API కి అది ఉత్తమ అమలును కలిగి ఉంది. టెన్సర్ గణితాన్ని నేరుగా M4 చిప్లోని GPU కోర్లకు అప్పగిస్తుంది.
# Verify Metal acceleration is active in the logs
grep "Metal" ~/.ollama/logs/server.log
# You should see: "Metal device is available" and "offloading layers to GPU"
2. Python బ్రిడ్జ్
నా ఏజెంట్లు లోకల్ నెట్వర్క్లో GekroLLMClient ఉపయోగించి Mac Mini తో మాట్లాడతాయి; దాని గురించి నా API సార్వభౌమత్వం వ్యాసంలో వివరంగా రాశాను.
import ollama
def run_heavy_inference(prompt):
# This runs on the Mac Mini, called by a Pi or my Workstation
response = ollama.chat(
model='llama3:70b-instruct-q4_K_M',
messages=[{'role': 'user', 'content': prompt}]
)
return response['message']['content']
3. మోడల్ క్వాంటైజేషన్ ఎంపిక
64GB Mac కు, Llama 3-70B కి Q4_K_M “సరిగ్గా సరిపోయే” క్వాంటైజేషన్. ఇది RAM లో సౌకర్యంగా ఇమిడిపోతుంది (సిస్టమ్, ఇతర ఏజెంట్ల కోసం 20GB వదిలి), బేస్ మోడల్ మేధస్సులో 99% నిలుపుకుంటుంది.
రాజీలు
Mac Mini పరిపూర్ణం కాదు. అతిపెద్ద “పన్ను” CUDA లేకపోవడం. మీరు మోడల్ ట్రైనింగ్ లేదా ఫైన్-ట్యూనింగ్ చేస్తుంటే, NVIDIA బిల్డ్తో పోలిస్తే Mac ఒక పేపర్వెయిట్. కొత్త పరిశోధన కోడ్లో చాలావరకు ముందుగా CUDA కోసమే రాస్తారు, “Metal సపోర్ట్” తరచుగా నెలల తర్వాత వచ్చే తర్వాతి ఆలోచన.
న్యాయంగా చెప్పాలంటే, ఆ గోడను నేను నిజంగా ఎప్పుడూ ఢీకొనలేదు. ఈ ల్యాబ్లో నేను నడిపేదంతా ఇన్ఫరెన్సే, Metal పై ఇన్ఫరెన్స్ బాగానే ఉంది. Apple silicon పై ఏదైనా ఫైన్-ట్యూన్ చేయడానికి ప్రయత్నించిన రోజు ఇది కరుస్తుందని చెబుతున్నాను, ఎప్పుడైనా కరిచిందని కాదు.
హీట్ సోక్ తో కూడా పెద్ద సమస్య ఎదురైంది. 1,000 Tesla టెలిమెట్రీ లాగ్ల 4 గంటల బ్యాచ్ ప్రాసెసింగ్ సమయంలో Mac Mini అంతర్గత ఫ్యాన్ చివరికి వేగం పుంజుకుంది, ఇన్ఫరెన్స్ వేగం 8 TPS నుంచి 5 TPS కి పడిపోయింది. గంటల తరబడి 100% వినియోగానికి నెట్టినప్పుడు Apple సామర్థ్యానికి కూడా పరిమితులున్నాయి. పొడవైన ఇన్ఫరెన్స్ రన్ల సమయంలో చాసిస్ అడుగు భాగాన్ని చల్లగా ఉంచడానికి చివరికి 120mm ఫ్యాన్తో ఒక కస్టమ్ స్టాండ్ను 3D-ప్రింట్ చేశాను.
ఇది ఎటు వెళ్తుంది
ప్రస్తుతం నేను హై-స్పీడ్ Thunderbolt బ్రిడ్జ్లతో Mac Mini లను క్లస్టర్ చేయడం గురించి ఆలోచిస్తున్నాను. రెండు M4 Pro ల మెమరీని కలపగలిగితే, 405B పారామితుల మోడల్ను లోకల్గా నడపగలను. అదే కల: డెస్క్ డ్రాయర్లో ఇమిడిపోయే రూపంలో ఒక ప్రైవేట్, లోకల్ “సూపర్-ఇంటెలిజెన్స్”.
రచయిత
Rohit BuraniAI ఇంజినీర్. ల్యాబ్ నుంచి లోకల్-ఫస్ట్ సిస్టమ్లు, సెల్ఫ్-హోస్టెడ్ ఇన్ఫ్రాస్ట్రక్చర్, స్వయంచాలక టూల్స్ నిర్మిస్తారు.