---
title: PyTorch MPS mot Apple MLX: hur att finetunna LLM på Mac med 16 GB RAM
url: https://www.elseif.net/sv/pytorch-mps-mot-apple-mlx-hur-att-finetunna-llm-pa-mac-med-16-gb-ram
published: 2026-10-23T14:23:12+00:00
language: sv
section: Harnesses
source: https://habr.com/ru/companies/otus/articles/1090656/?utm_campaign=1090656&utm_source=habrahabr&utm_medium=rss
organizations: apple, mlx, mps, pytorch, qwen, sft
publisher: elseif
---

# PyTorch MPS mot Apple MLX: hur att finetunna LLM på Mac med 16 GB RAM

Forskning visar att det finns två huvudsakliga alternativ för lokal finetuning av stora språkmodeller (LLM) på Apple Silicon: PyTorch MPS med Hugging Face/TRL-stapeln eller Apples egen MLX. Båda stöder LoRA-baserad finetuning men fungerar helt annorlunda jämfört med CUDA-baserade system.

På en vanlig dator med 16 GB RAM kolliderar utbildning av programvaruagenters flerstegsinteraktioner snabbt med hårdvarulimiterna. PyTorch MPS visar hög prestanda i FP16-formatet för små modeller men når snabbt en minnesbegränsning när kontexten ökar.

Apples MLX tillåter istället att köra 3 B-parametersmodeller med 4 k-tokenkontext utan att minnesanvändningen ökar kraftigt. Detta uppnås genom 4-bitars QLoRA-kvantisering, men med en kostnad i form av dekvantiseringsöverhuvudskostnader vid varje matrismultiplikation.

Tio kontrollerade experiment med SFT på Qwen 2.5-modeller (0,5 B, 1,5 B och 3 B parametrar) visade att PyTorch MPS är 2,2-5,7 gånger snabbare i ren prestanda. Men på 16 GB-maskiner är gränsen cirka 1,5 B parametrar.

MLX kan däremot hantera modeller upp till 3 B parametrar och skalas till kontextlängder över 4 k token. När kontexten fördubblas från 1 k till 4 k token ökar RAM-användningen bara med 109 MB.

4-bitars kvantisering påverkar inte konvergens på agentinteraktioner: valideringsförlusten blev 0,462 för MPS och 0,478 för MLX vid 1,5 B-modeller med 2 k-tokenkontext.

Skillnaden i hastighet beror inte huvudsakligen på kvantisering. I två av tio testkörningar användes MLX utan kvantisering, och även då förblev prestandaskillnaden 4,1-4,6 gånger.

Experimentet använde badlogicgames/pi-mono-datasetet med autonoma programvaruagenters fulla sessioner. Varje exempel innehöll användarfrågor, assistentens resonemang och verktygskallar, samt miljöns svar. 6 727 dialogsteg med max 4096 token användes till träning, 256 till validering.

Förlustfunktionen fokuserade endast på assistentens resonemang och verktygskallar, inte på användarfrågor eller verktygssvar. Detta uppnås genom att maskera dessa token med -100-värden.

Apple Silicons gemensamma minnespool används av CPU, Metal GPU och macOS. Hur varje ramverk hanterar detta påverkar vad som kan laddas in. PyTorch MPS kräver 2 byte per parameter i FP16-format, medan MLX använder 4-bitars QLoRA på förkvarterade vikter.
