Գործնական ուղեցույց
Տեղային լեզվական մոդելի գործարկում Apple Silicon-ում՝ առանց ամպային հաշվի
MLX LM-ի անվտանգ առաջին գործարկում՝ մոդելի իրատեսական չափերով, պատճենվող հրամաններով և գաղտնիության, ներբեռնումների ու մոդելի պայմանների ստուգումներով:
Մոդելի տեղային գործարկումը նշանակում է, որ մոդելի հաշվարկները կատարվում են Ձեր Mac-ում: Դա ինքնաբերաբար յուրաքանչյուր աշխատանքային գործընթաց չի դարձնում գաղտնի, արտոնագրված կամ անվտանգ: Լավ առաջին գործարկումը ենթադրում է փոքր մոդել, թարմ միջավայր, անվնաս հարցում (prompt) և որևէ արտաքին գործիքի բացակայություն:
01
Ինչ գիտենք այս պահին
- 01
MLX LM-ը բաց կոդով Python փաթեթ է՝ Apple silicon-ում տեքստի գեներացման և մոդելների հետ աշխատելու համար:
- 02
Դրա պաշտոնական պահոցը նկարագրում է pip-ով տեղադրումը, ինչպես նաև հրամանային տողից գեներացումն ու զրույցը (chat):
- 03
Փաթեթը կարող է օգտագործել MLX-ի հետ համատեղելի հազարավոր մոդելներ, սակայն յուրաքանչյուր մոդելի չափը, արտոնագիրը և աղբյուրը դեռևս պահանջում են ուսումնասիրություն:
02
Ինչու է սա կարևոր Հայաստանի համար
Տեղային փորձարկումները կարող են նվազեցնել API-ի պարբերական ծախսերը և կրճատել տվյալների անհարկի արտահոսքը հայաստանյան ուսանողների, հետազոտողների և փոքր թիմերի համար՝ միաժամանակ դյուրին դարձնելով մոդելի վարքագծի ստուգումը:
03
ստուգել
չիպ, հիշողություն, սկավառակ, Pythonմեկուսացնել
թարմ վիրտուալ միջավայրճշտել
մոդելի աղբյուր, չափ, պայմաններ, տարբերակգործարկել փոքրը
անվնաս հարցում և կոմպակտ մոդելգրանցել
տարբերակներ, վարքագիծ, հիշողություն և սահմանափակումներՍկսեք համակարգչի տեսական առավելագույնից ավելի փոքր ծավալով և ընդլայնեք միայն կայուն աշխատանքից հետո:
04
Ստուգեք համակարգիչը և ընտրեք փոքր առաջին մոդել
MLX-ը նախագծված է Apple silicon-ի համար, ուստի համոզվեք, որ Mac-ն օգտագործում է M սերիայի չիպ և ունի բավարար ազատ հիշողություն ընտրված մոդելի համար: Միասնական հիշողությունը (unified memory) բաշխվում է օպերացիոն համակարգի, հավելվածների և մոդելի միջև: Փակեք մեծ ծավալի հիշողություն պահանջող հավելվածները և թողեք ազատ տարածություն՝ հասանելի յուրաքանչյուր գիգաբայթ զբաղեցնելու փոխարեն:
Մոդելի հիշողության պահանջը տատանվում է՝ կախված ճարտարապետությունից, քվանտացիայից (quantization), կոնտեքստի երկարությունից և գործարկման ընթացիկ ծախսերից: Առաջին փորձարկման համար ընտրեք կոմպակտ 4-բիթանոց հրահանգային մոդել (instruction model), այլ ոչ թե հնարավոր ամենամեծ ֆայլը, որը կարող է բեռնվել: Փոքր մոդելի հաջող գործարկումն ավելի շատ բան է սովորեցնում, քան մեծ ֆայլի ներբեռնումը, որը համակարգը կհասցնի հիշողության ծանր ճնշման:
- Apple silicon Mac
- Python-ի արդի տեղադրում
- Մի քանի գիգաբայթ ազատ տարածություն կոմպակտ մոդելի համար
- Զգայուն տվյալների բացառում առաջին փորձարկման ժամանակ
05
Ստեղծեք մեկուսացված միջավայր և տեղադրեք MLX LM-ը
Վիրտուալ միջավայրը փորձարկման Python փաթեթները պահում է առանձնացված այլ նախագծերից: Գործարկեք հրամանները նոր նախագծային պանակից: Վերջին հրամանը տեղադրում է MLX LM-ը Python-ի փաթեթների ինդեքսից (PyPI), ինչպես փաստաթղթավորված է պաշտոնական պահոցում:
Ուշադիր կարդացեք տերմինալի արտածումը: Եթե տեղադրումը ձախողվի, լուծեք Python-ի կամ փաթեթի ցուցադրված խնդիրը, այլ ոչ թե մեխանիկորեն ավելացրեք ադմինիստրատորի արտոնություններ:
- Ստեղծեք միջավայրը:
- Ակտիվացրեք այն ընթացիկ shell-ում:
- Թարմացրեք pip-ը միջավայրի ներսում:
- Տեղադրեք mlx-lm-ը:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install mlx-lm06
Գործարկեք մեկ սահմանափակված գեներացում
Պահոցը ներկայումս ցուցադրում է MLX համայնքի 4-բիթանոց Llama 3.2 3B instruction մոդելը: Առաջին օգտագործման ժամանակ կներբեռնվեն մոդելի ֆայլերը, ուստի նախքան շարունակելը ստուգեք պահոցը, ֆայլի չափը, մոդելի քարտը (model card) և պայմանները: Ստորև նշված մոդելը օրինակ է և չի հանդիսանում Իմանանքի երաշխավորությունը:
Օգտագործեք կարճ, ոչ զգայուն հարցում և ստուգեք պատասխանը: Այնուհետև փորձեք chat հրամանը: Դադարեցրեք գործընթացը, եթե հիշողության ծանրաբեռնվածությունը դառնա խիստ բարձր, աղբյուրը չհամապատասխանի սպասվածին, կամ մոդելի պայմանները չհամապատասխանեն նախատեսված նպատակին:
- Գեներացումը տալիս է մեկ պատասխան և ավարտում աշխատանքը:
- Chat-ը պահպանում է ինտերակտիվ սեսիա տերմինալում:
- Օգտագործեք մոդելի հստակ իդենտիֆիկատոր՝ անհայտ փոփոխվող լռելյայն տարբերակների փոխարեն:
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "Explain what a context window is in three sentences."
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bit07
Հասկացեք, թե ինչ է պաշտպանում տեղային գործարկումը և ինչ՝ ոչ
Սովորական տեղային MLX LM հրամանը կարող է հարցումը և գեներացումը պահել սարքի վրա: Գաղտնիության պայմանները փոխվում են, երբ միջանկյալ ծրագրային շերտը (wrapper) ուղարկում է տելեմետրիա, կատարում է հեռավար որոնում կամ API կանչեր, բեռնում է երրորդ կողմի կոդ, համաժամեցնում է աշխատանքային պանակը կամ պահպանում է զրույցները չնախատեսված վայրում: Ստուգեք ամբողջ աշխատանքային շղթան:
Մոդելի կշիռները նույնպես ունեն օգտագործման պայմաններ: Ստուգեք մոդելի քարտը, արտոնագիրը, թույլատրված կիրառությունները, աղբյուր կազմակերպությունը, տարբերակը (revision) և պահանջվող հղումները: Լուրջ աշխատանքների համար ֆիքսեք ճշգրիտ տարբերակը և գրանցեք փաթեթների ու մոդելի տարբերակները, որպեսզի գործարկումը հնարավոր լինի վերարտադրել:
- Տեղային եզրահանգումը (inference) նույնը չէ, ինչ անցանց համակարգիչը:
- Մոդելի ֆայլը ինքնաբերաբար վստահելի կոդ կամ վստահելի բովանդակություն չէ:
- Ծրագրային փաթեթի ազատական արտոնագիրը չի փոխարինում հենց մոդելի պայմաններին:
- Արտածված արդյունքները դեռևս պահանջում են փաստացի և ըստ կոնկրետ առաջադրանքի գնահատում:
08
Նախքան նախագծի իրական տվյալներն օգտագործելը
Նախ տեսանելի դարձրեք տվյալների ամբողջական ուղին:
- 01
Համոզվեք կոնկրետ փաթեթի, մոդելի պահոցի, տարբերակի և արտոնագրի հարցում:
- 02
Ստուգեք՝ արդյոք ընտրված wrapper-ն օգտագործում է տելեմետրիա, հեռավար գործիքներ կամ ամպային պահոց:
- 03
Որոշեք, թե որտեղ են պահվում հարցումները, արդյունքները, քեշերը և մոդելի ֆայլերը:
- 04
Փորձարկեք բնորոշ անվնաս առաջադրանքներ և գրանցեք փաստացի սխալները:
- 05
Ունեցեք մոդելի ֆայլերի և միջավայրերի ջնջման ու թարմացման պլան:
09
Այս թողարկման սահմանափակումները
Հիշողության պահանջները զգալիորեն տարբերվում են, ուստի այս ուղեցույցը խուսափում է որևէ կոնկրետ Mac-ի համար մոդելի չափ խոստանալուց:
Օրինակելի մոդելը և հրամանները կարող են փոխվել սկզբնաղբյուր պահոցում այս ստուգումից հետո:
Տեղային գեներացումը չի դարձնում արդյունքը ճշգրիտ կամ պիտանի պատասխանատու կիրառության համար:
SRC
Աղբյուրների բաժին
Ուղիղ հղումներ այս ընտրանու հիմքում եղած նյութերին: Աղբյուրը տեսնելը նույնքան կարևոր է, որքան սինթեզն ընթերցելը:
