19 KiB
AGENTS.md
Project Overview
AI សម្រាប់អ្នកចាប់ផ្តើមគឺជាកម្មវិធីសិក្សា 12 សប្ដាហ៍ មានមេរៀន 24 ដែលគ្របដណ្តប់មូលដ្ឋានអំពីបញ្ញាសិប្បនិម្មិត។ ឃ្លាំងសិក្សានេះរួមបញ្ចូលមេរៀនអនុវត្តដោយប្រើ Jupyter Notebooks ការប្រលង និងហLaboratories ដៃគូ។ អំពីវគ្គសិក្សាដូចជា៖
- បញ្ញាសិប្បនិម្មិតសញ្ញា ជាមួយការបង្ហាញចំណេះដឹង និងប្រព័ន្ធអ្នកជំនាញ
- បណ្តាញប្រសាទ និង ការរៀនជម្រៅ ជាមួយ TensorFlow និង PyTorch
- បច្ចេកទេស និងសំណុំរចនាសម្ព័ន្ធមើលឃើញកុំព្យូទ័រ
- ការកែសម្រួលភាសាធម្មជាតិ (NLP) រួមទាំង transformers និង BERT
- ប្រធានបទពិសេស៖ អាល់ហ្គូលិចមហេតុវិជ្ជា, ការរៀនបន្ធុងជំរុញ, ប្រព័ន្ធភ្នាក់ងារច្រើន
- នីតិវិធីផ្នែកបញ្ញាសិប្បនិម្មិត និងគោលការណ៍បញ្ញាសិប្បនិម្មិតយកចិត្តទុកដាក់
បច្ចេកវិជ្ជាសំខាន់ៗ៖ Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (សម្រាប់កម្មវិធីប្រលង)
រចនាសម្ព័ន្ធ៖ ឃ្លាំងមាតិកាសិក្សាដែលមាន Jupyter Notebooks ដាក់លំដាប់តាមប្រធានបទ ជាមួយកម្មវិធីប្រលងសម្រាប់ Vue.js និងការគាំទ្រភាសាច្រើន។
Setup Commands
Primary Development Environment (Python/Jupyter)
វគ្គសិក្សាត្រូវបានរចនាឡើងសម្រាប់រត់ជាមួយ Python និង Jupyter Notebooks។ វិធីសាស្ត្រដែលបានអនុញ្ញាតគឺប្រើ miniconda៖
# បែនការផ្ទុកទិន្នន័យ
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# បង្កើត និងដំណើរការបរិយាកាស conda
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# ចាប់ផ្ដើម Jupyter Notebook
jupyter notebook
# ឬ
jupyter lab
Alternative: Using devcontainer
# បើកនៅក្នុង VS Code ហើយជ្រើស "Reopen in Container" ពេលដែលមានការផ្តល់សំណូមពរ
# devcontainer នឹងរៀបចំបរិយាកាសដោយស្វ័យប្រវត្តិ
Quiz Application Setup
កម្មវិធីប្រលងគឺជា Vue.js app ផ្សេងដែលស្ថិតនៅ etc/quiz-app/៖
cd etc/quiz-app
npm install
npm run serve # សេវាកម្មអភិវឌ្ឍន៍
npm run build # ការបង្កើតផលិតកម្ម
npm run lint # ពិនិត្យ និងជួសជុលកម្មវិធីឯកសារ
Development Workflow
Working with Jupyter Notebooks
-
Local Development:
- បើកបរិស្ថាន conda៖
conda activate ai4beg - ចាប់ផ្តើម Jupyter៖
jupyter notebookឬjupyter lab - ទៅកាន់ថតមេរៀន និងបើកឯកសារ
.ipynb - រត់កូដក្នុងកោសិកាវីដេអូដើម្បីតាមដានមេរៀន
- បើកបរិស្ថាន conda៖
-
VS Code with Python Extension:
- បើកឃ្លាំងមាតិកានៅក្នុង VS Code
- ដំឡើងផ្នែកបន្ថែម Python
- VS Code ស្វ័យប្រវត្តិអាចរកឃើញនិងប្រើបរិស្ថាន conda
- បើកឯកសារ
.ipynbដោយផ្ទាល់ក្នុង VS Code
-
Cloud Development:
- GitHub Codespaces: ចុច "Code" → "Codespaces" → "Create codespace on main"
- Binder: ប្រើប៊ាដសម្រាប់ Binder នៅក្នុង README ដើម្បីបើកក្នុងកម្មវិធីទំព័រមេ
- កំណត់សម្គាល់៖ Binder មានធនធានកំណត់ និងមានការកំណត់ចូលប្រើវេបសាយខ្លះៗ
GPU Support for Advanced Lessons
មេរៀនក្រោយៗមានអត្ថប្រយោជន៍យ៉ាងច្រើនពីការបើកបរជាមួយ GPU៖
- Azure Data Science VM: ប្រើ NC-series VM ដោយមាន GPU
- Azure Machine Learning: ប្រើមុខងារសៀវភៅកំណត់ត្រាជាមួយ GPU
- Google Colab: ផ្ទុកឡើងសៀវភៅកំណត់ត្រាដោយផ្ទាល់ (ផ្តល់ជាមួយ GPU ដោយឥតគិតថ្លៃ)
Quiz App Development
cd etc/quiz-app
npm run serve # ម៉ាស៊ីនមេអភិវឌ្ឍន៍ដែលផ្ទុកឡើងឡើងវិញយ៉ាងឆាប់រហ័សនៅ http://localhost:8080
Testing Instructions
នេះគឺជាឃ្លាំងសិក្សាដែលផ្ដោតលើមាតិកាដល់ការរៀន យ៉ាងហោចណាស់មិនមែនសម្រាប់ការពិនិត្យកម្មវិធីតាមបែបផ្លូវការ។ មិនមានស៊ុមតេស្តបែបបុរាណឡើយ។
Validation Approaches:
- Jupyter Notebooks: រត់កូដនៅក្នុងកោសិកាតាមលំដាប់ដើម្បីបញ្ជាក់កំហុស
- Quiz App Testing: ពិនិត្យដោយដៃតាមម៉ាស៊ីនបម្រើអភិវឌ្ឍ
- Translation Validation: ពិនិត្យមាតិកាប្រែសម្រួលនៅថត
translations/ - Quiz App Linting:
npm run lintនៅក្នុងetc/quiz-app/
Running Code Examples:
# បើកបរិបទស៊ើបអង្កេតជាលើកដំបូង
conda activate ai4beg
# រត់ស្គ្រីប Python បន្ដផ្ទាល់
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# ឬអនុវត្តបា្រិយកន្តភ្ជាប់នួស
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
Code Style
Python Code Style
- លំដាប់ Python វិជ្ជាជីវៈសម្រាប់កូដសិក្សា
- កូដច្បាស់លាស់ អាចអានបាន គោរពលើការរៀនជាងការបង្កើតប្រសើរឡើង
- ពណ៌នាច្បាស់លាស់ សម្រាប់មេរៀនដែលមានគោលបំណងបង្រៀន
- សម្របខ្លួនសម្រាប់ Jupyter Notebook៖ កោសិកាគួរតែមានជ្រៅទាំងលក្ខណៈយកខ្លួនឯង
- មិនមានតម្រូវការតឹងរឹងក្នុងការត្រួតពិនិត្យលីនឌីងសម្រាប់មេរៀននេះឡើយ
JavaScript/Vue.js (Quiz App)
- កំណត់ ESLint នៅ
etc/quiz-app/package.json - ដំណើរការ
npm run lintដើម្បីពិនិត្យ និងជួសជុលបញ្ហា - ប្រើ Vue 2.x
- សំណុំរចនាសម្ព័ន្ធផ្អែកលើគ្រឿងបន្លាស់
File Organization
lessons/
├── 0-course-setup/ # Setup instructions
├── 1-Intro/ # Introduction to AI
├── 2-Symbolic/ # Symbolic AI
├── 3-NeuralNetworks/ # Neural Networks basics
├── 4-ComputerVision/ # Computer Vision
├── 5-NLP/ # Natural Language Processing
├── 6-Other/ # Other AI techniques
├── 7-Ethics/ # AI Ethics
└── X-Extras/ # Additional content
etc/
├── quiz-app/ # Vue.js quiz application
└── quiz-src/ # Quiz source files
translations/ # Multi-language translations
Build and Deployment
Jupyter Content
មិនចាំបាច់មានដំណើរការបង្កើត - Jupyter Notebooks រត់ដោយផ្ទាល់។
Quiz Application
cd etc/quiz-app
# ការអភិវឌ្ឍ
npm run serve
# ការសាងសង់ផលិតកម្ម
npm run build # ផលបត់ចេញទៅ etc/quiz-app/dist/
# ដាក់បញ្ចូលទៅ Azure Static Web Apps
# Azure បង្កើត workflow GitHub Actions ដោយស្វ័យប្រវត្តិ
# សូមមើល etc/quiz-app/README.md សម្រាប់ការណែនាំលំអិតអំពីការដាក់បញ្ចូល
Documentation Site
ឃ្លាំងនេះប្រើ Docsify សម្រាប់ឯកសារដឹកនាំ៖
index.htmlជាកន្លែងចូល- មិនចាំបាច់បង្កើត - ផ្តល់ជូនដោយផ្ទាល់តាម GitHub Pages
- ចូលប្រើបានតាម: https://microsoft.github.io/AI-For-Beginners/
Contributing Guidelines
Pull Request Process
- Title Format: ចំណងជើងច្បាស់លាស់ ពណ៌នាប្រែប្រួល
- CLA Requirement: ត្រូវចុះហត្ថលេខា Microsoft CLA (ពិនិត្យដោយស្វ័យប្រវត្តិ)
- Content Guidelines:
- ការបង្កើតមាតិកាផ្ដោតលើការសិក្សា និងងាយស្រួលសម្រាប់អ្នកចាប់ផ្តើម
- សាកល្បងគ្រប់ឧទាហរណ៍កូដក្នុងសៀវភៅកំណត់ត្រា
- ប្រាកដថាសៀវភៅកំណត់ត្រារត់បានពេញលេញ
- បច្ចប្បន្នភាពការប្រែប្រួលបើមានការផ្លាស់ប្តូរមាតិកាអង់គ្លេស
- Quiz App Changes: ប្រតិបត្តិ
npm run lintមុនធ្វើការប្តូរ
Translation Contributions
- ការប្រែសម្រួលធ្វើដោយស្វ័យប្រវត្តិផ្ដល់ដោយ GitHub Actions ប្រែសម្រួលជា co-op-translator
- ប្រែសម្រួលដោយដៃនៅក្នុងថត
translations/<language-code>/ - ប្រែសម្រួលប្រកាន់ប្រលងនៅ
etc/quiz-app/src/assets/translations/ - គាំទ្រភាសា 40+ ភាសា (មើល README សម្រាប់បញ្ជីពេញលេញ)
Active Contribution Areas
មើល etc/CONTRIBUTING.md សម្រាប់តម្រូវការចុងក្រោយ៖
- ផ្នែក Deep Reinforcement Learning
- ការកែលម្អស្វែងរកវត្ថុ
- ឧទាហរណ៍ Named Entity Recognition
- គំរូហ្វឹកហាត់ embedding តាមបំណង
Environment Configuration
Required Dependencies
# បណ្ណាល័យ Python មូលដ្ឋាន (ពី requirements.txt)
tensorflow==2.17.0
torch (via conda)
torchvision (via conda)
keras==3.5.0
opencv (via conda)
scikit-learn
numpy==1.26
pandas==2.2.2
matplotlib==3.9
jupyter
Environment Variables
មិនមានអថេរបរិស្ថានពិសេសណាមួយទេ សម្រាប់ការប្រើប្រាស់មូលដ្ឋាន។
សម្រាប់ការដាក់ទុកលើ Azure (កម្មវិធីប្រលង):
AZURE_STATIC_WEB_APPS_API_TOKEN(កំណត់ដោយស្វ័យប្រវត្តិដោយ Azure)
Debugging and Troubleshooting
Common Issues
Issue: បង្កើតបរិស្ថាន conda បរាជ័យ
- Solution: បន្ទាន់សម័យ conda ជាមុន៖
conda update conda -y - ប្រាកដថាមានថាសគ្រប់គ្រាន់ (ផ្ដល់អនុសាសន៍ 50GB)
Issue: មិនឃើញកឺណែល Jupyter
- Solution:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
Issue: មិនមានការរកឃើញ GPU នៅក្នុងសៀវភៅកំណត់ត្រា
- Solution:
- ពិនិត្យការដំឡើង CUDA៖
nvidia-smi - ពិនិត្យ PyTorch GPU៖
python -c "import torch; print(torch.cuda.is_available())" - ពិនិត្យ TensorFlow GPU៖
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- ពិនិត្យការដំឡើង CUDA៖
Issue: កម្មវិធីប្រលងមិនចាប់ផ្តើម
- Solution:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
Issue: Binder ពុំចូលរយៈពេលឬហាមឃាត់ការទាញយក
- Solution: ប្រើ GitHub Codespaces ឬដំណើរការក្នុងតំបន់ស្រុកសម្រាប់ចូលប្រើធនធានកាន់តែប្រសើរ
Memory Issues
មេរៀនខ្លះៗត្រូវការមេម៉ូរី RAM ធំ (ផ្ដល់អនុសាសន៍ 8GB+)៖
- ប្រើ VM គ្រប់គ្រាន់នៅពពកសម្រាប់មេរៀនដែលតម្រូវធនធានច្រើន
- បិទកម្មវិធីផ្សេងទៀតពេលហ្វឹកហាត់ម៉ូឌែល
- បន្ថយទំហំដុំក្នុងសៀវភៅកំណត់ត្រាបើផុតមេម៉ូរី
Additional Notes
For Course Instructors
- មើល
lessons/0-course-setup/for-teachers.mdសម្រាប់ការណែនាំបង្រៀន - មេរៀនត្រូវបានរចនាឡើងដោយឯករាជ្យ និងអាចបង្រៀនតាមលំដាប់ ឬជ្រើសរើសជាបុគ្គល
- ពេលវេលាប៉ាន់ប្រមាណ៖ 12 សប្ដាហ៍ ជាមួយមេរៀន 2 មេរៀនក្នុងមួយសប្ដាហ៍
Cloud Resources
- Azure សម្រាប់សិស្ស: មានកម្រៃឥតគិតថ្លៃសម្រាប់សិស្ស
- Microsoft Learn: ផ្លូវចេះសិក្សាជាប់គ្នាទាំងនេះ
- Binder: ឥតគិតថ្លៃ ប៉ុន្តែកំណត់ធនធាន និងមានការកំណត់បណ្តាញខ្លះៗ
Code Execution Options
- Local (Recommended): គ្រប់គ្រងពេញលេញ ប្រសិទ្ធភាពខ្ពស់ មានចំណុច GPU
- GitHub Codespaces: VS Code នៅពពក ល្អសម្រាប់ចូលរហ័ស
- Binder: ប្រើ Jupyter នៅម៉ាស៊ីនមេឥតគិតថ្លៃ ប៉ុន្តែកំណត់
- Azure ML Notebooks: ជម្រើសសហគ្រាសមានសមត្ថភាព GPU
- Google Colab: ផ្ទុកឯកសារចូលម៉ត់ដោយផ្ទាល់ មានជាន់ GPU ឥតគិតថ្លៃ
Working with Notebooks
- សៀវភៅកំណត់ត្រាត្រូវដំណើរការដោយការរត់កោសិកាតាមលំដាប់សម្រាប់ការរៀន
- សៀវភៅកំណត់ត្រាភាគច្រើនទាញយកទិន្នន័យពេលដំណើរការដំបូង (អាចចំណាយពេល)
- ម៉ូឌែលខ្លះត្រូវការប្រើ GPU សម្រាប់ពេលហ្វឹកហាត់សមរម្យ
- ប្រើម៉ូឌែលដែលហ្វឹកហាត់រួចជាចម្បងដើម្បីកាត់បន្ថយការប្រើកំណត់គណនាបន្ថែម
Performance Considerations
- មេរៀនមើលឃើញកុំព្យូទ័របន្ទាប់ៗ (CNNs, GANs) មានអត្ថប្រយោជន៍ពី GPU
- មេរៀន NLP ប្រើ transformer អាចតម្រូវ RAM ច្រើន
- ការហ្វឹកហាត់ពីដើមគឺការសិក្សា ប៉ុន្តែចំណាយពេល
- ឧទាហរណ៍រៀនប្រែបន្លាស់ជួយកាត់បន្ថយពេលហ្វឹកហាត់
ការបដិសេធ៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈដែលយើងខិតខំប្រឹងប្រែងឱ្យបានដូចត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬ ការខុសឆ្គង។ ឯកសារដើមក្នុងភាសាតំណក់នឹងត្រូវបានចាត់ទុកជាផ្លូវការជាចម្បង។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើការបកប្រែដោយមនុស្សដែលមានជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬ ការបកស្រាយខុសឆ្គងណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះ។