Լավ, ուրեմն դուք հետաքրքրված եք «արհեստական բանականություն» կառուցելով։ Ոչ թե Հոլիվուդյան իմաստով, որտեղ այն դիտարկում է գոյությունը, այլ այնպիսին, որը կարող եք աշխատեցնել ձեր նոութբուքի վրա և որը կանխատեսումներ է անում, տեսակավորում է իրերը, գուցե նույնիսկ մի փոքր զրուցում է։ Այս ուղեցույցը՝ « Ինչպես ստեղծել արհեստական բանականություն ձեր համակարգչում» ոչնչից տանել դեպի այն, ինչը իրականում աշխատում է տեղական մակարդակով ։ Ակնկալեք կարճ ճանապարհներ, անկեղծ կարծիքներ և երբեմն շեղումներ, քանի որ, եկեք իրատես լինենք, մանրուքներ մշակելը երբեք մաքուր չէ։
Հոդվածներ, որոնք կարող են ձեզ դուր գալ կարդալ սրանից հետո
🔗 Ինչպես ստեղծել արհեստական բանականության մոդել. ամբողջական քայլերի բացատրություն
Արհեստական բանականության մոդելի ստեղծման հստակ վերլուծություն՝ սկզբից մինչև վերջ։
🔗 Ի՞նչ է խորհրդանշական արհեստական բանականությունը. ամեն ինչ, ինչ դուք պետք է իմանաք
Սովորեք խորհրդանշական արհեստական բանականության հիմունքները, պատմությունը և ժամանակակից կիրառությունները։
🔗 Արհեստական բանականության տվյալների պահպանման պահանջները. ինչ է ձեզ անհրաժեշտ
Հասկացեք արդյունավետ և մասշտաբային արհեստական բանականության համակարգերի համար պահեստավորման կարիքները։
Ինչո՞ւ հիմա անհանգստանալ։ 🧭
Որովհետև «միայն Google-ի մասշտաբի լաբորատորիաները կարող են արհեստական ինտելեկտով զբաղվել» դարաշրջանն անցել է։ Այսօր, սովորական նոութբուքի, որոշ բաց կոդով գործիքների և համառության շնորհիվ, դուք կարող եք ստեղծել փոքր մոդելներ, որոնք դասակարգում են էլեկտրոնային նամակները, ամփոփում տեքստը կամ պիտակավորում պատկերները։ Տվյալների կենտրոնի կարիք չկա։ Ձեզ պարզապես անհրաժեշտ է.
-
մի ծրագիր,
-
մաքուր կարգավորում,
-
և նպատակ, որը կարող եք ավարտել առանց մեքենան պատուհանից դուրս նետելու ցանկության։
Ի՞նչն է դարձնում սա արժանի հետևելու ✅
«Ինչպե՞ս ստեղծել արհեստական ինտելեկտ ձեր համակարգչում» հարցնող մարդիկ սովորաբար չեն ուզում դոկտորի աստիճան։ Նրանք ուզում են մի բան, որը կարող են իրականում աշխատեցնել։ Լավ պլանը մի քանի բան է պարունակում.
-
Սկսեք փոքրից . դասակարգեք զգացմունքները, այլ ոչ թե «լուծեք ինտելեկտը»։
-
Վերարտադրելիություն ՝
կոնդակամվենվ, որպեսզի կարողանաք վաղը վերակառուցել առանց խուճապի։ -
Սարքավորումների ճշգրտություն . պրոցեսորները հարմար են scikit-learn-ի համար, գրաֆիկական պրոցեսորները՝ խորը ցանցերի համար (եթե բախտավոր լինեք) [2][3]:
-
Մաքուր տվյալներ ՝ սխալ պիտակավորված անպետք տվյալներ չկան, միշտ բաժանված են train/valid/test տարբերակների։
-
Ինչ-որ բան նշանակող չափանիշներ ՝ ճշգրտություն, ճշգրտություն, հետկանչ, F1: Անհավասարակշռության համար՝ ROC-AUC/PR-AUC [1]:
-
Կիսվելու միջոց ՝ փոքրիկ API, CLI կամ ցուցադրական հավելված։
-
Անվտանգություն . կասկածելի տվյալների հավաքածուներ չկան, անձնական տեղեկատվության արտահոսքեր չկան, հստակ նշեք ռիսկերը [4]:
Ճիշտ արեք դրանք, և նույնիսկ ձեր «փոքր» մոդելը իրական կլինի։
Ճանապարհային քարտեզ, որը վախեցնող չի թվում 🗺️
-
Ընտրեք փոքր խնդիր + մեկ չափանիշ։
-
Տեղադրեք Python-ը և մի քանի հիմնական գրադարաններ։
-
Ստեղծեք մաքուր միջավայր (հետագայում ինքներդ ձեզ շնորհակալ կլինեք):
-
Բեռնեք ձեր տվյալների բազմությունը, ճիշտ բաժանեք։
-
Մարզեք հիմար, բայց ազնիվ բազային գիծ։
-
Փորձեք նեյրոնային ցանցը միայն այն դեպքում, եթե այն արժեք է ավելացնում։
-
Փաթեթավորեք դեմո տարբերակը։
-
Հետագայում մի քանի նշումներ պահեք, դուք շնորհակալ կլինեք։
Նվազագույն հավաքածու. չափազանց մի՛ բարդացրեք 🧰
-
Python : վերցրեք python.org կայքից։
-
Միջավայր ՝ Կոնդա կամ
վենվ՝ կորիզով։ -
Նոթատետրեր ՝ Յուպիտեր խաղի համար։
-
Խմբագիր ՝ VS Code, բարեկամական և հզոր։
-
Հիմնական գրադարաններ
-
պանդաներ + NumPy (տվյալների հավաքագրում)
-
scikit-learn (դասական մեքենայական ուսուցում)
-
PyTorch կամ TensorFlow (խորը ուսուցում, գրաֆիկական պրոցեսորների կառուցվածքները կարևոր են) [2][3]
-
Գրկախառնվող դեմքի տրանսֆորմերներ, spaCy, OpenCV (NLP + տեսողություն)
-
-
Արագացում (ըստ ցանկության)
-
NVIDIA → CUDA կառուցվածքներ [2]
-
AMD → ROCm կառուցվածքներ [2]
-
Apple → PyTorch մետաղական backend-ով (MPS) [2]
-
⚡ Նշում. «Տեղադրման հետ կապված դժվարությունների» մեծ մասը կանհետանա, եթե պարզապես թույլ տաք պաշտոնական տեղադրողներին տալ ձեզ տեղադրման ճշգրիտ
Հիմնական կանոն՝ նախ սողալ պրոցեսորի վրա, ապա՝ գրաֆիկական պրոցեսորի վրա։
Ընտրելով ձեր կույտը. դիմադրեք փայլուն իրերին 🧪
-
Աղյուսակային տվյալներ → scikit-learn: Լոգիստիկ ռեգրեսիա, պատահական անտառներ, գրադիենտային ուժեղացում:
-
Տեքստ կամ պատկերներ → PyTorch կամ TensorFlow: Տեքստի համար փոքր Transformer-ի նուրբ կարգավորումը մեծ հաղթանակ է:
-
Չաթբոտի նման →
llama.cpp-ըկարող է փոքր LLM-ներ աշխատեցնել նոութբուքերի վրա: Մի սպասեք հրաշքների, բայց այն աշխատում է նշումների և ամփոփագրերի համար [5]:
Մաքուր միջավայրի կազմակերպում 🧼
# Conda way conda create -n localai python=3.11 conda activate localai # OR venv python -m venv .venv source .venv/bin/activate # Windows՝ .venv\Scripts\activate
Այնուհետև տեղադրեք անհրաժեշտ բաղադրիչները՝
pip install numpy pandas scikit-learn jupyter pip install torch torchvision torchaudio # կամ tensorflow pip install transformers տվյալների հավաքածուներ
(GPU-ի համադրությունների համար, լրջորեն, պարզապես օգտագործեք պաշտոնական ընտրիչը [2][3]:)
Առաջին աշխատող մոդելը՝ պահեք այն փոքրիկ 🏁
Առաջինը բազային գիծն է։ CSV → հատկանիշներ + պիտակներ → լոգիստիկ ռեգրեսիա։
sklearn.linear_model ներմուծումից՝ ԼոգիստիկՌեգրեսիա ... print("Ճշգրտություն:", accuracy_score(y_test, preds)) print(classification_report(y_test, preds))
Եթե սա գերազանցում է պատահականությանը, դուք տոնում եք։ Սուրճ, թե թխվածքաբլիթ, ձեր որոշումն է ☕։
Անհավասարակշիռ դասերի համար ուշադրություն դարձրեք ճշգրտության/հիշողության + ROC/PR կորերին՝ հում ճշգրտության փոխարեն [1]:
Նեյրոնային ցանցեր (միայն եթե օգնում են) 🧠
Տեքստ ունե՞ք և ցանկանում եք դասակարգել տրամադրությունները: Կարգավորեք փոքրիկ, նախապես պատրաստված Transformer-ը: Արագ, հարմար, չի այրում ձեր սարքը:
տրանսֆորմերների ներմուծումից AutoModelForSequenceClassification ... trainer.train() print(trainer.evaluate())
Մասնագիտական խորհուրդ. սկսեք փոքր նմուշներից: Տվյալների 1%-ի վրիպազերծումը խնայում է ժամեր:
Տվյալներ. հիմունքներ, որոնք չեք կարող անտեսել 📦
-
Հանրային տվյալների հավաքածուներ՝ Kaggle, Hugging Face, ակադեմիական պահոցներ (ստուգեք լիցենզիաները):
-
Էթիկա՝ անձնական տվյալների մաքրում, իրավունքների հարգում։
-
Բաժանումներ՝ մարզում, վավերացում, փորձարկում։ Երբեք մի՛ նայեք։
-
Պիտակներ՝ հետևողականությունն ավելի կարևոր է, քան շքեղ մոդելները։
Ճշմարտության ռումբ. արդյունքների 60%-ը մաքուր պիտակներից են, այլ ոչ թե ճարտարապետական կախարդանքից։
Չափանիշներ, որոնք ձեզ ազնիվ կպահեն 🎯
-
Դասակարգում → ճշգրտություն, ճշգրտություն, հիշելիություն, F1.
-
Անհավասարակշիռ բազմություններ → ROC-AUC, PR-AUC-ն ավելի կարևոր են։
-
Ռեգրեսիա → MAE, RMSE, R²։
-
Իրականության ստուգում → աչքի մի քանի արդյունք. թվերը կարող են ստել։
Հարմար հղում՝ scikit-learn չափանիշների ուղեցույց [1]:
Արագացման խորհուրդներ 🚀
-
NVIDIA → PyTorch CUDA կառուցվածք [2]
-
AMD → ROCm [2]
-
Apple → MPS ներքին համակարգ [2]
-
TensorFlow → հետևեք GPU-ի պաշտոնական տեղադրմանը + հաստատեք [3]
Բայց մի՛ օպտիմալացրեք նախքան ձեր բազային գիծը գործարկվի։ Դա նույնն է, թե անվահեծերը փայլեցնել նախքան մեքենան անվահեծեր կունենա։
Տեղական գեներատիվ մոդելներ՝ փոքրիկ վիշապներ 🐉
-
Լեզու → քվանտացված իրավունքի կառավարման դասընթացներ
llama.cpp[5] ֆայլի միջոցով: Հարմար է նշումների կամ կոդի հուշումների համար, այլ ոչ թե խորը զրույցի համար: -
Պատկերներ → Կայուն դիֆուզիայի տարբերակներ գոյություն ունեն. ուշադիր կարդացեք լիցենզիաները։
Երբեմն փոքր սարքավորումների վրա ստեղծված, որոշակի առաջադրանքի համար հատուկ կարգավորված Transformer-ը գերազանցում է գերծանրաբեռնված LLM-ին։
Փաթեթավորման ցուցադրություններ. թող մարդիկ սեղմեն 🖥️
-
Gradio → ամենահեշտ ինտերֆեյսը։
-
FastAPI → մաքուր API։
-
Flask → արագ սկրիպտներ։
ներմուծել gradio որպես gr clf = pipeline("զգացմունքների վերլուծություն") ... demo.launch()
Կախարդական զգացողություն է, երբ ձեր զննարկիչը ցույց է տալիս այն։
Սովորություններ, որոնք փրկում են բանականությունը 🧠
-
Git-ը՝ տարբերակի կառավարման համար։
-
MLflow կամ տետրեր՝ փորձերի հետևման համար։
-
Տվյալների տարբերակում DVC-ի կամ հեշերի միջոցով։
-
Docker-ը միացրեք, եթե ուրիշները պետք է աշխատեցնեն ձեր տվյալները։
-
Կախվածությունները ամրացնել (
requirements.txt):
Հավատացեք ինձ, ապագա, դուք շնորհակալ կլինեք։
Խնդիրների լուծում. հաճախակի «ուֆ» պահեր 🧯
-
Տեղադրման սխալներ՞։ Պարզապես մաքրեք միջավայրը և վերակառուցեք այն։
-
Գրաֆիկական պրոցեսորը չի՞ հայտնաբերվել։ Դրայվերների անհամապատասխանություն, ստուգեք տարբերակները [2][3]:
-
Մոդելը չի՞ սովորում։ Նվազեցրեք ուսուցման մակարդակը, պարզեցրեք կամ մաքրեք պիտակները։
-
Չափից շատ տվյալներ՞։ Կանոնավորե՞լ, դուրս մղե՞լ, թե՞ պարզապես ավելի շատ տվյալներ։
-
Չափազանց լավ չափանիշներ են՞։ Դուք արտահոսեցիք թեստային հավաքածուն (դա տեղի է ունենում ավելի հաճախ, քան դուք կարծում եք)։
Անվտանգություն + պատասխանատվություն 🛡️
-
Անձնական տվյալների պաշտպանության մասին տեղեկատվությունը (PII) հեռացնելը։
-
Հարգեք լիցենզիաները։
-
Տեղականը նախ = գաղտնիություն + վերահսկողություն, բայց հաշվողական սահմանափակումներով։
-
Փաստաթղթավորեք ռիսկերը (արդարություն, անվտանգություն, դիմադրողականություն և այլն) [4]:
Հարմար համեմատական աղյուսակ 📊
| Գործիք | Լավագույնը | Ինչու՞ օգտագործել այն |
|---|---|---|
| scikit-learn | Աղյուսակային տվյալներ | Արագ հաղթանակներ, մաքուր API 🙂 |
| PyTorch | Պատվերով պատրաստված խորը ցանցեր | Ճկուն, հսկայական համայնք |
| TensorFlow | Արտադրական խողովակաշարեր | Էկոհամակարգ + մատուցման տարբերակներ |
| Տրանսֆորմերներ | Տեքստային առաջադրանքներ | Նախապես պատրաստված մոդելները խնայում են հաշվարկները |
| ՍպաՍի | NLP խողովակաշարեր | Արդյունաբերական հզորություն, պրագմատիկ |
| Գրադիո | Դեմոներ/Օպերատորներ | 1 ֆայլ → UI |
| Արագ API | API-ներ | Արագություն + ավտոմատ փաստաթղթեր |
| ONNX-ի աշխատանքային ժամանակ | Խաչաձև շրջանակների օգտագործումը | Փոխադրելի + արդյունավետ |
| լամա.cpp | Փոքր տեղական իրավունքի մագիստրոսներ | Պրոցեսորի համար հարմար քվանտացում [5] |
| Դոկեր | Համօգտագործման միջավայրեր | «Աշխատում է ամենուր» |
Երեք ավելի խորը սուզում (դուք իրականում կօգտագործեք) 🏊
-
Աղյուսակների համար հատկանիշների ինժեներիա → նորմալացում, մեկանգամյա օգտագործում, ծառի մոդելների փորձարկում, խաչաձև վավերացում [1]:
-
Տեքստի համար ուսուցման փոխանցում → փոքր տրանսֆորմերների նուրբ կարգավորում, հաջորդականության երկարությունը պահպանել համեստ, F1՝ հազվագյուտ դասերի համար [1]:
-
Տեղական եզրակացության օպտիմալացում → քվանտացում, ONNX-ի արտահանում, քեշավորման տոկենիզատորներ։
Դասական թակարդներ 🪤
-
Շինարարությունը չափազանց մեծ է, չափազանց վաղ։
-
Անտեսելով տվյալների որակը։
-
Թեստի բաժանումը բաց թողնելը։
-
Կույր պատճեն-տեղադրման կոդավորում։
-
Ոչինչ չփաստաթղթավորելով։
Նույնիսկ README-ն խնայում է ժամեր անց։
Ժամանակի արժանի ուսումնական ռեսուրսներ 📚
-
Պաշտոնական փաստաթղթեր (PyTorch, TensorFlow, scikit-learn, Transformers):
-
Google ML արագացված դասընթաց, DeepLearning.AI։
-
OpenCV փաստաթղթեր տեսողության հիմունքների համար։
-
spaCy-ի օգտագործման ուղեցույց NLP խողովակաշարերի համար։
Փոքրիկ կյանքի հնարք. ձեր GPU տեղադրման հրամանը ստեղծող պաշտոնական տեղադրողները կյանք փրկողներ են [2][3]:
Ամբողջը միասին հավաքելով 🧩
-
Նպատակ → դասակարգել աջակցության տոմսերը 3 տեսակի։
-
Տվյալներ → CSV արտահանում, անանունացում, բաժանում։
-
Բազային → scikit-learn TF-IDF + լոգիստիկ ռեգրեսիա։
-
Թարմացում → Տրանսֆորմատորի նուրբ կարգավորում, եթե բազային գիծը կանգ է առնում։
-
Դեմո → Gradio տեքստային տուփի հավելված։
-
Նավ → Docker + README։
-
Իտերատ → սխալների ուղղում, վերանվանում, կրկնություն:
-
Պաշտպանություն → փաստաթղթերի ռիսկեր [4]:
Դա ձանձրալիորեն արդյունավետ է։
Անկեղծ ասած 🎂
Սովորեք, թե ինչպես ստեղծել արհեստական բանականություն ձեր համակարգչի վրա = ընտրեք մեկ փոքրիկ խնդիր, կառուցեք սկզբնական գիծ, զարգացրեք միայն այն դեպքում, երբ դա կօգնի, և պահպանեք ձեր կարգավորումը վերարտադրելի։ Կատարեք դա երկու անգամ, և դուք ձեզ կզգաք կոմպետենտ։ Կատարեք դա հինգ անգամ, և մարդիկ կսկսեն ձեզանից օգնություն խնդրել, ինչը գաղտնիորեն զվարճալի մասն է։
Եվ այո, երբեմն դա նման է տոստերին բանաստեղծություն գրել սովորեցնելուն։ Ոչինչ։ Շարունակեք փորձել։ 🔌📝
Հղումներ
[1] scikit-learn — Չափորոշիչներ և մոդելի գնահատում. հղում
[2] PyTorch — Տեղական տեղադրման ընտրիչ (CUDA/ROCm/Mac MPS). հղում
[3] TensorFlow — Տեղադրում + GPU ստուգում. հղում
[4] NIST — Արհեստական բանականության ռիսկերի կառավարման շրջանակ. հղում
[5] llama.cpp — Տեղական LLM պահոց. հղում