ANI

Ukushuna Kahle Amamodeli Olimi ku-Apple Silicon nge-MLX

# Amamodeli Olimi Okulungisa Kahle ku-Apple Silicon ene-MLX

Ukulungisa kahle imodeli yolimi esetshenziselwa ukusho ukuqasha ama-GPU efu nokubuka imitha isebenza. Uma ungumnikazi we-Mac ene-Apple Silicon chip, manje usungakwazi ukujwayela imodeli evulekile kudatha yakho yangakini, ngezindleko zefu eziziro, usebenzisa uhlaka olwakhelwe ngokukhethekile ihadiwe ehlezi kukhompuyutha yakho ephathekayo.

Ngenza ukushintsha kusuka emishinini yeWindows neDell kuya kuMac emuva ngo-2014 futhi angiphindanga ngabheka emuva. Okwaqala njengelukuluku lokwazi ngohlelo lokusebenza oluhlanzekile kuphenduke ukwazisa okujulile kokuthi i-Apple ihlanganisa ngokuqinile kanjani ihadiwe nesoftware. Ngemva kweminyaka eyishumi kamuva, lokho kuhlanganiswa kunikeza izinzuzo engangingakaze ngizilindele, kamuva nje ekhonweni lokulungisa kahle amamodeli olimi ngokuphelele kudivayisi, ngaphandle kwebhili yefu noma ibhayithi eyodwa yedatha eshiya umshini wami.

Lelo khono lixhaswe yi I-MLXumtapo wolwazi womthombo ovulekile ovela ethimbeni lokucwaninga ngomshini le-Apple, kanye nephakheji elihambisana nayo I-MLX LMokunikeza ukwenziwa kombhalo nokulungisa kahle izinkulungwane zamamodeli avuliwe ngokusebenzisa isethi encane yemiyalo. Lesi sifundo sidlula esiphethweni esigcwele senqubo kuze kube sekugcineni: ukufaka amathuluzi, ukulungisa idathasethi, ukuqeqesha i-adaptha ye-LoRA, ukunciphisa ukusetshenziswa kwenkumbulo ngokulinganisa, bese kuhlolwa futhi kuphakelwe umphumela. Ekugcineni, uzobe unemodeli ecushwe kahle esebenza emshinini wakho kanye nokugeleza komsebenzi okuphindaphindekayo ongakukhomba kunoma iyiphi idathasethi.

# Ukuqonda Kungani i-MLX Ifanela I-Apple Silicon

Amathuluzi amaningi okukhomba endawo aqala impilo ku-NVIDIA hardware futhi kamuva athuthelwa ku-Mac. I-MLX ithathe umzila ophambene. Ithimba labacwaningi be-Apple liyiklame kusukela ekuqaleni eduze kwesakhiwo senkumbulo esihlanganisiwe se-Apple Silicon, lapho i-CPU ne-GPU zabelana ngechibi elilodwa lenkumbulo.

Lowo mklamo ususa isinyathelo sokukopisha esivame ukuvala idatha phakathi kwememori yesistimu nememori ye-GPU ezinikele. Ku-16 GB Mac, izisindo zemodeli, isimo se-optimizer, nenqwaba yokuqeqeshwa konke kuhlangana endaweni efanayo, okuyikhona kanye okwenza ukushuna kahle okukudivayisi kusebenze kunokuba kulangazelele. Izibuko ze-API I-NumPy eduze, wengeza ukuhlukanisa okuzenzakalelayo kokuqeqeshwa, nokusetshenziswa Insimbi ukusheshisa umsebenzi we-GPU ngenkathi ugcina lowo mbono owabiwe wenkumbulo.

Ngaphambi kokuthi uqale, uzodinga i-Apple Silicon Mac (M1 noma entsha), iMacOS Ventura 13.5 noma eyakamuva, kanye nePython 3.10 noma ngaphezulu. Ama-Intel Mac awasekelwe. Ukuzama ukufaka kokukodwa kubuyisela iphutha elithi “akukho ukusabalalisa okufanayo”.

Ku-GPU eqondile, idatha yokuqeqeshwa ikopishwa phakathi kwememori yesistimu nememori ye-GPU ezinikele. I-Apple Silicon igcina ichibi elilodwa okwabelwana ngalo, okuyilo elivumela amamodeli e-16 GB Mac ashune kahle endaweni.
Ku-GPU eqondile, idatha yokuqeqeshwa ikopishwa phakathi kwememori yesistimu nememori ye-GPU ezinikele. I-Apple Silicon igcina ichibi elilodwa okwabelwana ngalo, okuyilo elivumela amamodeli e-16 GB Mac ashune kahle endaweni.

# Ukusetha Indawo Yakho

Unaleso sakhiwo engqondweni, masifake amathuluzi. Qala ngephakheji kanye nokwengeziwe kokuqeqeshwa kwalo, okudonsa kukho konke okudingwa yimiyalelo yokuhlela kahle.

pip install "mlx-lm[train]"

Qinisekisa ukuthi ukufakwa kusebenza ngokuhlolwa kwesizukulwane esisheshayo ngokumelene nemodeli encane.

mlx_lm.generate 
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit 
--prompt "Explain LoRA in two sentences." 
--max-tokens 120

I-run yokuqala ilanda i-4-bit quantized I-Mistral imodeli kusuka ku- Umphakathi we-MLX inhlangano ivuliwe Ubuso Obugonayoigcina ngokulondoloza endaweni, bese isakaza impendulo. I-mlx-community org isingatha izinkulungwane zamamodeli aguqulelwe ngaphambilini, ngakho-ke akuvamile ukuthi udinge ukuguqula izisindo ngokwakho.

Isibophezelo esisodwa okufanele siphawulwe kusenesikhathi: Ukucushwa kahle kwe-MLX kudinga amamodeli ngefomethi ye-Hugging Face safetensors. Amafayela e-GGUF, avamile kwamanye amathuluzi endawo, asebenzela ukucatshangelwa kodwa hhayi ukuqeqeshwa lapha. Izakhiwo ezisekelwayo zifaka i-Llama, i-Mistral, i-Qwen2, i-Phi, i-Gemma, ne-Mixtral, phakathi kokunye, ngakho-ke amamodeli avulekile adumile atholakala ngaphandle kwebhokisi.

# Ilungiselela Isethi Yakho Yedatha

Manje njengoba imvelo isilungile, isinyathelo esilandelayo ukufaka idatha yakho esimweni umqeqeshi angasisebenzisa. I-MLX LM ifunda idatha yokuqeqeshwa kufolda equkethe amafayela amathathu: train.jsonl, valid.jsonlkanye nokuzikhethela test.jsonl. Umugqa ngamunye uphethe isibonelo esisodwa se-JSON. Ifayela lokuqeqesha liyadingeka, ifayela lokuqinisekisa livumela umqeqeshi ukuthi abike ukulahlekelwa kokuqinisekisa njengoba kuqhubeka, futhi ifayela lokuhlola lithola imodeli ngemva kokuphela kokuqeqeshwa.

Amafomethi amathathu asekelwayo: ingxoxo, ukuqedela, nombhalo. Ifomethi yengxoxo iyona ezenzakalelayo eqine kakhulu. Igcina imilayezo enamakiwe emugqeni ngamunye futhi ivumela i-MLX LM ukuthi isebenzise isifanekiso sengxoxo semodeli, ukuze idatha yakho ifane nendlela imodeli eyaqeqeshelwa ngayo ukuphatha izingxoxo.

{"messages": [{"role": "user", "content": "What is LoRA?"}, {"role": "assistant", "content": "An efficient way to fine-tune a model."}]}

Kumapheya angenalutho okokufaka nokuphumayo, ifomethi yokuqedela ilula futhi isebenza kahle emisebenzini yesitayela sokufundisa.

{"prompt": "Summarize: The market rose sharply today.", "completion": "Markets gained."}
{"prompt": "Translate to French: good morning", "completion": "bonjour"}

Ngokuzenzakalelayo, umqeqeshi ubala ukulahlekelwa kuso sonke isibonelo, okusho ukuthi imodeli isebenzisa umzamo wokufunda ukukhiqiza kabusha ukwaziswa kanye nempendulo. Ukudlula --mask-prompt ikutshela ukuthi ibale ukulahlekelwa ekuqedeni kuphela, ngakho ukuqeqeshwa kugxile empendulweni oyikhathalelayo ngempela. Lokhu kuvame ukukhiqiza imodeli elandela imiyalelo ngokwethembeka, futhi isebenza namafomethi engxoxo nokuqedela. Ngedatha yengxoxo, umlayezo wokugcina ohlwini uthathwa njengokuqedwa.

Gcina isibonelo ngasinye emugqeni owodwa ngaphandle kokunqanyulwa komugqa wangaphakathi, njengoba umfundi ephatha wonke umugqa njengerekhodi elihlukile. Hlukanisa idatha yakho ukuze kungene cishe amaphesenti angama-80 train.jsonl kanye namaphesenti ayi-10 kuye kwangama-20 valid.jsonl. Cishe izibonelo ezingama-200 kuye kwezingama-500 ubuncane obunengqondo bokushintsha ukuziphatha kwemodeli (ezimbalwa kakhulu zivame ukugcwala ngokweqile futhi zibambe ngekhanda esikhundleni sokwenza okuvamile).

# Ukuqeqesha I-adaptha Yakho Yokuqala ye-LoRA

Njengoba idatha yakho isendaweni, nakhu lapho izinto ziba nentshisekelo kuzo. Kunokubuyekeza zonke izisindo kumodeli, I-Low-Rank Adaptation (LoRA) imisa izisindo zangempela futhi iqeqeshe ama-adaptha amancane amatrices eduze kwazo. Lokhu kwehlisa inkumbulo futhi isitoreji sidinga ingxenyana yokulungisa kahle kuyilapho kugcinwa iningi lekhwalithi. Indlela ivela ku- Iphepha le-LoRA nguHu kanye nozakwabo.

I-LoRA igcina izisindo ezinkulu eziqeqeshwe kusengaphambili zifriziwe futhi iqeqesha kuphela omatikuletsheni abancane A no-B. Ngoba lawo ma-adaptha amabili nje athola izibuyekezo, inkumbulo nokugcinwa kuhlala kuphansi.
I-LoRA igcina izisindo ezinkulu eziqeqeshwe kusengaphambili zifriziwe futhi iqeqesha kuphela omatikuletsheni abancane A no-B. Ngoba lawo ma-adaptha amabili nje athola izibuyekezo, inkumbulo nokugcinwa kuhlala kuphansi.

Yethula ukuqeqeshwa okugijima ngomyalo owodwa, uwukhomba kumodeli nakufolda yakho yedatha.

mlx_lm.lora 
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit 
--train 
--data ./data 
--iters 600 
--batch-size 1

Njengoba isebenza, i-MLX LM iphrinta ukulahlekelwa kokuqeqeshwa, ukulahlekelwa kokuqinisekisa, amathokheni acutshunguliwe, nokuphindaphinda ngomzuzwana. Izisindo ze-adaptha zonga ku- adapters ifolda ngokuzenzakalelayo. Amafulegi abalulekile okufanele ukwazi: --fine-tune-type uyamukela lora (okuzenzakalelayo), doranoma full; --num-layers ibeka ukuthi zingaki izendlalelo ze-transformer ezithola ama-adaptha (okuzenzakalelayo: 16); futhi --iters ilawula ubude bokuqeqeshwa.

Isibonelo siyabeka --batch-size 1 ngenhloso ukugcina ukusetshenziswa kwenkumbulo kuphansi ngangokunokwenzeka. Lokhu kuvimbela ukuphahlazeka emishinini engu-16 GB. Uma uno-64 GB noma ngaphezulu, ukukhuphula kuye ku-2 noma ku-4 kufinyeza isikhathi esiphelele sokuqeqeshwa. Uma inkumbulo iqinile kodwa ufuna umphumela wokushelela wenqwaba enkulu, --grad-accumulation-steps iphakamisa usayizi wenqwaba osebenzayo ngaphandle kokukhuphula ukusetshenziswa kwememori.

Uma ukhetha amagrafu abukhoma kunokukhiphayo kwetheminali, engeza --report-to wandb ukuze ungene ku-metrics Izisindo & Ukuchema. Uma ushaya umfutho wenkumbulo, yehlisa --num-layers ku-8 noma ku-4, noma wengeze --grad-checkpoint ukuhwebelana ngokubala ngenkumbulo ephansi. Lawa mafulegi amabili ngokuvamile anenele ukulingana nomsebenzi obungaphelelwa indawo.

# Ukukhetha I-Base Model kanye nezilungiselelo ze-adaptha

Ngokwakhela kumakhenikha okuqeqesha ngenhla, izinqumo ezimbili zakuqala zilolonga ingxenye esele yokusebenza kwakho: iyiphi imodeli ongaqala ngayo, nokuthi ingakanani okufanele uzivumelanise nayo. Kuphrojekthi yokuqala, imodeli yepharamitha ye-8B kufomu le-4-bit iyindawo emnandi. Uma ukugeleza komsebenzi kuzizwa kukhululekile, ungakhuphukela kumamodeli angu-13B noma angu-14B, adinga u-14 kuya ku-18 GB wenkumbulo yokusebenza futhi uhlale ngokunethezeka emshinini ongu-32 GB.

Inani lezendlalelo eziqeqeshiwe kanye ne-adaptha zilinganisa ndawonye umthamo wokulawula. Izendlalelo ezengeziwe nezinga eliphezulu kunikeza i-adaptha indawo eyengeziwe yokufunda, ngezindleko zenkumbulo nesikhathi. Iphoyinti elivamile lokuqala lisebenzisa izendlalelo ezingu-16 ezinezinga elimaphakathi, bese lilungiswa ngokusekelwe ekutheni ukulahlekelwa kokuqinisekisa kusehla. Uma ukulahlekelwa kokuqeqeshwa kwehla ngenkathi ukulahlekelwa kokuqinisekisa kukhuphuka, i-adaptha ibamba ngekhanda izibonelo zakho.

Izinga lokufunda libalulekile futhi. Amanani ebangeni le-1e-5 kuya ku-5e-5 asebenza emiqhudelwaneni eminingi ye-LoRA. Ukuphakama kakhulu nokuqeqeshwa kuba nokungazinzi; iphansi kakhulu futhi imodeli ayinyakazi ngokulambisa. Shintsha isilungiselelo esisodwa ngesikhathi ukuze uthi noma yikuphi ukuthuthukiswa kokukhetha okuthile.

# Ukunciphisa Ukusetshenziswa Kwememori Ngokulinganisa

Qaphela ukuthi imodeli yesisekelo engenhla isivele igcina ngo 4bit. Ukuqeqesha i-adaptha ye-LoRA phezu kwemodeli elinganiselwe yilokho abantu abakubiza ngokuthi i-QLoRA, okuchazwe ku- Iphepha le-QLoRA. Ngoba i-quantization yakhelwe ku-MLX, okufanayo mlx_lm.lora umyalo uqeqesha ama-adaptha ngokuqondile ezisindweni ezilinganisiwe ngaphandle kokusetha okwengeziwe.

Inkokhelo iwukhonkolo. Imodeli ye-4-bit 7B isika inkumbulo yesisindo cishe izikhathi ezingu-3.5 uma iqhathaniswa nokunemba okugcwele, iletha ukushuna okuhle kwe-7B ngokunethezeka ku-8 GB yememori yokusebenza. Ku-MacBook engu-16 GB, eshiya igumbi elanele lesistimu yokusebenza neqoqo lakho lokuqeqeshwa.

Uma ukhetha ukulinganisa imodeli yokunemba okugcwele ngokwakho ngaphambi kokuqeqeshwa, umyalo wokuguqula uyawuphatha.

mlx_lm.convert 
--hf-path mistralai/Mistral-7B-Instruct-v0.3 
--mlx-path ./mistral-4bit 
-q

Lokhu kubhala inguqulo ye-4-bit kufolda yasendaweni obese udlulela kuyo --model.

# Ukuhlola nokukhiqiza nge-adaptha yakho

Njengoba ukuqeqeshwa sekuphelile, sekuyisikhathi sokubona ukuthi i-adaptha ifunde kahle kangakanani. Ithole ngokuqhathanisa nesethi yakho yokuhlolwa okubanjiwe ukuze uthole inombolo ongayilandelela kuyo yonke izilingo.

mlx_lm.lora 
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit 
--adapter-path ./adapters 
--data ./data 
--test

Ukuze ubone imodeli iphendula, dlulisela indlela ye-adaptha efanayo kumyalo wokukhiqiza. I-MLX LM ilayisha imodeli eyisisekelo futhi ifake i-adaptha yakho phezu kwayo.

mlx_lm.generate 
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit 
--adapter-path ./adapters 
--prompt "Summarize: Our quarterly revenue grew twelve percent."

Qalisa ukwaziswa okufanayo ngaphandle kwe-adaptha ukuze uqhathanise. Uma isethi yedatha yakho ifane nomsebenzi oqondiwe kahle, izimpendulo ezishintshile kufanele zilandelele izibonelo zakho zokuqeqeshwa eduze kakhulu kunemodeli yesisekelo.

# Ukuhlanganisa Nokusebenzela Imodeli

Ama-adaptha afaneleka ngesikhathi sokuhlolwa, kodwa ukuze usetshenziswe ngokuvamile ufuna imodeli eyodwa, ezimele. Umyalo we-fuse uhlanganisa i-adaptha ibuyele ezisindweni eziyisisekelo.

mlx_lm.fuse 
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit 
--adapter-path ./adapters 
--save-path ./fused-model

Ifolda ehlanganisiwe iziphatha njenganoma iyiphi enye imodeli ye-MLX. Ungayinikeza ngephoyinti lokugcina elihambisana ne-OpenAI, elivumela ikhodi yeklayenti ekhona ukuthi ikhulume nemodeli yangakini ngemva koshintsho lwe-URL eyisisekelo.

mlx_lm.server --model ./fused-model --port 8080

Ukuze uthole enye indlela yesithombe, I-LM Studio isebenzisa amamodeli e-MLX ngokuchofoza okukodwa kweseva yendawo kanye nesixhumi esibonakalayo sengxoxo, okuwusizo ikakhulukazi uma ufuna ukuqhathanisa imodeli yakho ecushwe kahle ngokumelene nabanye eceleni.

# Esonga

Manje unokugeleza komsebenzi okuhlela okuphelele kwasendaweni: faka i-MLX LM, fometha idathasethi njenge-JSONL, qeqesha i-adaptha ye-LoRA noma ye-QLoRA ngomyalo owodwa, ihlole, bese uhlanganisa futhi unikeze umphumela. Konke kusebenza ku-Mac osuvele unayo, ngaphandle kwebhili yefu futhi akukho datha eshiya umshini wakho.

Kimina, lokhu kuzwakala njengesandiso esingokwemvelo sohambo olwaqala ngenkathi ngishintshela ku-Mac ngo-2014. Ukuhlanganiswa okuqinile kwe-hardware-software okungidonsele kukho kuthule kuguquke kwaba into enamandla kakhulu, umshini okwazi ukwenza umsebenzi onzima wokufunda umshini etafuleni lasekhishini.

Izikhombisi-ndlela ezimbalwa kufanelekile ukuhlola ngokulandelayo. Zama i dora hlela kahle bese uqhathanisa imiphumela yakho ne-LoRA esobala. Lungisa inani lezendlalelo eziqeqeshiwe nokubalwa kokuphindaphinda ukuze ubhalansise ikhwalithi ngokumelene nesivinini. Shintshanisa ngesakhiwo esiyisisekelo esihlukile. U-Llama, uQwen, uPhi, noGemma bonke basebenza ngemiyalo efanayo. Ukuhlolwa ngakunye akubizi uma i-hardware ihlezi etafuleni lakho, okuwushintsho olungokoqobo olulethwa yi-MLX ekuguquleni amamodeli olimi.

Vinod Chugani unguthisha we-AI kanye nesayensi yedatha ovala igebe phakathi kobuchwepheshe be-AI obusafufusa kanye nokusebenzisa okusebenzayo kochwepheshe abasebenzayo. Izindawo agxile kuzo zifaka i-agent AI, izinhlelo zokusebenza zokufunda ngomshini, nokugeleza komsebenzi okuzenzakalelayo. Ngomsebenzi wakhe njengomeluleki nomfundisi wezobuchwepheshe, uVinod uye wasekela ochwepheshe bedatha ngokuthuthukiswa kwamakhono kanye noshintsho lomsebenzi. Uletha ubungcweti bokuhlaziya kusukela kwezezimali zenani kuya endleleni yakhe yokufundisa yokufundisa. Okuqukethwe kwakhe kugcizelela amasu nezinhlaka ezingasetshenzwa ochwepheshe abangazisebenzisa ngokushesha.

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button