24 KiB
AGENTS.md
പ്രോജക്ട് അവലോകനം
AI for Beginners ഒരു സമഗ്രമായ 12 ആഴ്ച, 24 പാഠങ്ങളുള്ള പാഠ്യപദ്ധതിയാണ്, ഇത് കൃത്രിമ ബുദ്ധിമുട്ടിന്റെ അടിസ്ഥാനങ്ങൾ ഉൾക്കൊള്ളുന്നു. ഈ വിദ്യാഭ്യാസ സംഭരണം പ്രായോഗിക പാഠങ്ങൾ Jupyter Notebooks ഉപയോഗിച്ച്, ക്വിസുകൾ, ഹാൻഡ്സ്-ഓൺ ലാബുകൾ എന്നിവ ഉൾക്കൊള്ളുന്നു. പാഠ്യപദ്ധതി ഉൾക്കൊള്ളുന്നത്:
- നിഘണ്ടു പ്രതിനിധാനം, വിദഗ്ധ സിസ്റ്റങ്ങൾ എന്നിവയുള്ള സിംബോളിക് AI
- TensorFlow, PyTorch ഉപയോഗിച്ചുള്ള ന്യൂറൽ നെറ്റ്വർക്കുകളും ഡീപ്പ് ലേണിംഗും
- കമ്പ്യൂട്ടർ വിഷൻ സാങ്കേതിക വിദ്യകളും ആർക്കിടെക്ചറുകളും
- ട്രാൻസ്ഫോർമറുകളും BERT ഉൾപ്പെടെയുള്ള നാചുറൽ ലാംഗ്വേജ് പ്രോസസ്സിംഗ് (NLP)
- പ്രത്യേക വിഷയങ്ങൾ: ജെനറ്റിക് ആൽഗോരിതങ്ങൾ, റീ ഇൻഫോഴ്സ്മെന്റ് ലേണിംഗ്, മൾട്ടി-ഏജന്റ് സിസ്റ്റങ്ങൾ
- AI നൈതികതയും ഉത്തരവാദിത്വമുള്ള AI സിദ്ധാന്തങ്ങളും
പ്രധാന സാങ്കേതികവിദ്യകൾ: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (ക്വിസ് ആപ്പിനായി)
ആർക്കിടെക്ചർ: വിഷയപ്രകാരം ക്രമീകരിച്ച Jupyter Notebooks ഉള്ള വിദ്യാഭ്യാസ ഉള്ളടക്ക സംഭരണം, Vue.js അടിസ്ഥാനമാക്കിയുള്ള ക്വിസ് ആപ്പ്, വ്യാപകമായ ബഹുഭാഷാ പിന്തുണ.
സെറ്റപ്പ് കമാൻഡുകൾ
പ്രാഥമിക ഡെവലപ്പ്മെന്റ് പരിസ്ഥിതി (Python/Jupyter)
പാഠ്യപദ്ധതി Python, Jupyter Notebooks ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്തതാണ്. ശുപാർശ ചെയ്യുന്നത് miniconda ഉപയോഗിക്കുകയാണ്:
# റിപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുക
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# കോൺഡാ എൻവയോൺമെന്റ് സൃഷ്ടിച്ച് സജീവമാക്കുക
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# ജൂപ്പിറ്റർ നോട്ട്ബുക്ക് ആരംഭിക്കുക
jupyter notebook
# അല്ലെങ്കിൽ
jupyter lab
ബദൽ: devcontainer ഉപയോഗിക്കൽ
# VS കോഡിൽ തുറന്ന് പ്രോംപ്റ്റ് വന്നപ്പോൾ "കണ്ടെയ്നറിൽ വീണ്ടും തുറക്കുക" തിരഞ്ഞെടുക്കുക
# ഡെവ്കണ്ടെയ്നർ സ്വയം പരിസ്ഥിതി സജ്ജമാക്കും
ക്വിസ് ആപ്പ് സെറ്റപ്പ്
ക്വിസ് ആപ്പ് ഒരു വേർതിരിച്ച Vue.js ആപ്പാണ്, സ്ഥിതിചെയ്യുന്നത് etc/quiz-app/ എന്ന ഫോൾഡറിൽ:
cd etc/quiz-app
npm install
npm run serve # വികസന സെർവർ
npm run build # ഉത്പാദന ബിൽഡ്
npm run lint # ലിന്റ് ചെയ്ത് ഫയലുകൾ ശരിയാക്കുക
ഡെവലപ്പ്മെന്റ് പ്രവൃത്തി പ്രവാഹം
Jupyter Notebooks ഉപയോഗിച്ച് ജോലി ചെയ്യൽ
-
ലോകൽ ഡെവലപ്പ്മെന്റ്:
- conda പരിസ്ഥിതി സജീവമാക്കുക:
conda activate ai4beg - Jupyter ആരംഭിക്കുക:
jupyter notebookഅല്ലെങ്കിൽjupyter lab - പാഠം ഫോൾഡറുകളിലേക്ക് പോകുക,
.ipynbഫയലുകൾ തുറക്കുക - പാഠങ്ങൾ പിന്തുടരാൻ സെല്ലുകൾ ഇന്ററാക്ടീവായി പ്രവർത്തിപ്പിക്കുക
- conda പരിസ്ഥിതി സജീവമാക്കുക:
-
Python എക്സ്റ്റൻഷൻ ഉപയോഗിച്ച് VS Code:
- റിപോസിറ്ററി VS Code-ൽ തുറക്കുക
- Python എക്സ്റ്റൻഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക
- VS Code സ്വയം conda പരിസ്ഥിതിയെ കണ്ടെത്തി ഉപയോഗിക്കും
.ipynbഫയലുകൾ നേരിട്ട് VS Code-ൽ തുറക്കുക
-
ക്ലൗഡ് ഡെവലപ്പ്മെന്റ്:
- GitHub Codespaces: "Code" → "Codespaces" → "Create codespace on main" ക്ലിക്ക് ചെയ്യുക
- Binder: README-യിലെ Binder ബാഡ്ജ് ഉപയോഗിച്ച് ബ്രൗസറിൽ ആരംഭിക്കുക
- ശ്രദ്ധിക്കുക: Binder-ന് പരിമിതമായ റിസോഴ്സുകളും ചില വെബ് ആക്സസ് നിയന്ത്രണങ്ങളും ഉണ്ട്
പുരോഗമന പാഠങ്ങൾക്കുള്ള GPU പിന്തുണ
പിന്നീട് വരുന്ന പാഠങ്ങൾ GPU ആക്സിലറേഷൻ ഉപയോഗിച്ച് വളരെ പ്രയോജനപ്പെടും:
- Azure Data Science VM: GPU പിന്തുണയുള്ള NC-സീരീസ് VM-കൾ ഉപയോഗിക്കുക
- Azure Machine Learning: GPU കംപ്യൂട്ട് ഉപയോഗിച്ച് നോട്ട്ബുക്ക് ഫീച്ചറുകൾ ഉപയോഗിക്കുക
- Google Colab: നോട്ട്ബുക്കുകൾ വ്യക്തിഗതമായി അപ്ലോഡ് ചെയ്യുക (ഫ്രീ GPU പിന്തുണയുണ്ട്)
ക്വിസ് ആപ്പ് ഡെവലപ്പ്മെന്റ്
cd etc/quiz-app
npm run serve # http://localhost:8080 ൽ ഹോട്ട്-റീലോഡ് ഡെവലപ്പ്മെന്റ് സെർവർ
ടെസ്റ്റിംഗ് നിർദ്ദേശങ്ങൾ
ഇത് സോഫ്റ്റ്വെയർ ടെസ്റ്റിംഗിനേക്കാൾ പഠന ഉള്ളടക്കത്തെ കേന്ദ്രീകരിച്ചുള്ള വിദ്യാഭ്യാസ സംഭരണമാണ്. പരമ്പരാഗത ടെസ്റ്റ് സ്യൂട്ട് ഇല്ല.
സാധൂകരിക്കൽ സമീപനങ്ങൾ:
- Jupyter Notebooks: കോഡ് ഉദാഹരണങ്ങൾ പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ സെല്ലുകൾ ക്രമത്തിൽ പ്രവർത്തിപ്പിക്കുക
- ക്വിസ് ആപ്പ് ടെസ്റ്റിംഗ്: ഡെവലപ്പ്മെന്റ് സെർവറിലൂടെ മാനുവൽ ടെസ്റ്റിംഗ്
- പരിഭാഷാ സാധൂകരിക്കൽ:
translations/ഫോൾഡറിൽ പരിഭാഷാ ഉള്ളടക്കം പരിശോധിക്കുക - ക്വിസ് ആപ്പ് ലിന്റിംഗ്:
etc/quiz-app/-ൽnpm run lintപ്രവർത്തിപ്പിക്കുക
കോഡ് ഉദാഹരണങ്ങൾ പ്രവർത്തിപ്പിക്കൽ:
# ആദ്യം പരിസ്ഥിതി സജീവമാക്കുക
conda activate ai4beg
# പൈത്തൺ സ്ക്രിപ്റ്റുകൾ നേരിട്ട് പ്രവർത്തിപ്പിക്കുക
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# അല്ലെങ്കിൽ നോട്ട്ബുക്കുകൾ പ്രവർത്തിപ്പിക്കുക
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
കോഡ് ശൈലി
Python കോഡ് ശൈലി
- വിദ്യാഭ്യാസ കോഡിനായി സ്റ്റാൻഡേർഡ് Python കൺവെൻഷനുകൾ
- പഠനത്തിന് മുൻഗണന നൽകുന്ന വ്യക്തമായ, വായിക്കാൻ എളുപ്പമുള്ള കോഡ്
- പ്രധാന ആശയങ്ങൾ വിശദീകരിക്കുന്ന കമന്റുകൾ
- Jupyter Notebook-സൗഹൃദം: സെല്ലുകൾ സ്വയംപര്യാപ്തമായിരിക്കണം എത്രയും സാധ്യമായിടത്തോളം
- പാഠ്യപദ്ധതിക്ക് കർശനമായ ലിന്റിംഗ് ആവശ്യകതയില്ല
JavaScript/Vue.js (ക്വിസ് ആപ്പ്)
etc/quiz-app/package.json-ൽ ESLint കോൺഫിഗറേഷൻ- പ്രശ്നങ്ങൾ പരിശോധിക്കാൻ, സ്വയം പരിഹരിക്കാൻ
npm run lintപ്രവർത്തിപ്പിക്കുക - Vue 2.x കൺവെൻഷനുകൾ
- ഘടക അടിസ്ഥാന ആർക്കിടെക്ചർ
ഫയൽ ക്രമീകരണം
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
ബിൽഡ് & ഡിപ്ലോയ്മെന്റ്
Jupyter ഉള്ളടക്കം
ബിൽഡ് പ്രക്രിയ ആവശ്യമില്ല - Jupyter Notebooks നേരിട്ട് പ്രവർത്തിപ്പിക്കും.
ക്വിസ് ആപ്പ്
cd etc/quiz-app
# വികസനം
npm run serve
# ഉത്പാദന ബിൽഡ്
npm run build # etc/quiz-app/dist/ ലേക്ക് ഔട്ട്പുട്ട്
# Azure സ്റ്റാറ്റിക് വെബ് ആപ്പുകളിൽ വിന്യസിക്കുക
# Azure സ്വയം GitHub Actions വർക്ക്ഫ്ലോ സൃഷ്ടിക്കുന്നു
# വിശദമായ വിന്യാസ നിർദ്ദേശങ്ങൾക്കായി etc/quiz-app/README.md കാണുക
ഡോക്യുമെന്റേഷൻ സൈറ്റ്
റിപ്പോസിറ്ററി ഡോക്സിഫൈ ഉപയോഗിക്കുന്നു:
index.htmlപ്രവേശന പോയിന്റ്- ബിൽഡ് ആവശ്യമില്ല - GitHub Pages വഴി നേരിട്ട് സർവ് ചെയ്യുന്നു
- ആക്സസ് ചെയ്യുക: https://microsoft.github.io/AI-For-Beginners/
സംഭാവനാ മാർഗ്ഗനിർദ്ദേശങ്ങൾ
പുൾ റിക്വസ്റ്റ് പ്രക്രിയ
- ശീർഷകം ഫോർമാറ്റ്: മാറ്റം വ്യക്തമാക്കുന്ന വ്യക്തമായ, വിവരണാത്മകമായ ശീർഷകങ്ങൾ
- CLA ആവശ്യകത: Microsoft CLA ഒപ്പിടണം (സ്വയം പരിശോധന)
- ഉള്ളടക്ക മാർഗ്ഗനിർദ്ദേശങ്ങൾ:
- വിദ്യാഭ്യാസ ലക്ഷ്യവും തുടക്കക്കാർക്ക് അനുയോജ്യമായ സമീപനവും പാലിക്കുക
- നോട്ട്ബുക്കിലെ എല്ലാ കോഡ് ഉദാഹരണങ്ങളും പരീക്ഷിക്കുക
- നോട്ട്ബുക്കുകൾ തുടർച്ചയായി പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക
- ഇംഗ്ലീഷ് ഉള്ളടക്കം മാറ്റിയാൽ പരിഭാഷകൾ അപ്ഡേറ്റ് ചെയ്യുക
- ക്വിസ് ആപ്പ് മാറ്റങ്ങൾ: കമ്മിറ്റ് ചെയ്യുന്നതിന് മുമ്പ്
npm run lintപ്രവർത്തിപ്പിക്കുക
പരിഭാഷാ സംഭാവനകൾ
- GitHub Actions ഉപയോഗിച്ച് co-op-translator വഴി ഓട്ടോമാറ്റിക് പരിഭാഷകൾ
- മാനുവൽ പരിഭാഷകൾ
translations/<language-code>/-ൽ - ക്വിസ് പരിഭാഷകൾ
etc/quiz-app/src/assets/translations/-ൽ - പിന്തുണയുള്ള ഭാഷകൾ: 40+ (പൂർണ്ണ പട്ടിക README-യിൽ കാണുക)
സജീവ സംഭാവന മേഖലകൾ
നിലവിലെ ആവശ്യങ്ങൾക്കായി etc/CONTRIBUTING.md കാണുക:
- ഡീപ്പ് റീ ഇൻഫോഴ്സ്മെന്റ് ലേണിംഗ് വിഭാഗങ്ങൾ
- ഒബ്ജക്റ്റ് ഡിറ്റക്ഷൻ മെച്ചപ്പെടുത്തലുകൾ
- നെയിംഡ് എൻറ്റിറ്റി റെക്കഗ്നിഷൻ ഉദാഹരണങ്ങൾ
- കസ്റ്റം എംബെഡ്ഡിംഗ് ട്രെയിനിംഗ് സാമ്പിളുകൾ
പരിസ്ഥിതി ക്രമീകരണം
ആവശ്യമായ ആശ്രിതങ്ങൾ
# കോർ പൈത്തൺ പാക്കേജുകൾ (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
പരിസ്ഥിതി വേരിയബിളുകൾ
അടിസ്ഥാന ഉപയോഗത്തിന് പ്രത്യേക പരിസ്ഥിതി വേരിയബിളുകൾ ആവശ്യമില്ല.
Azure ഡിപ്ലോയ്മെന്റുകൾക്കായി (ക്വിസ് ആപ്പ്):
AZURE_STATIC_WEB_APPS_API_TOKEN(Azure സ്വയം സജ്ജമാക്കും)
ഡീബഗ്ഗിംഗ് & പ്രശ്നപരിഹാരം
സാധാരണ പ്രശ്നങ്ങൾ
പ്രശ്നം: Conda പരിസ്ഥിതി സൃഷ്ടിക്കൽ പരാജയപ്പെടുന്നു
- പരിഹാരം: ആദ്യം conda അപ്ഡേറ്റ് ചെയ്യുക:
conda update conda -y - മതിയായ ഡിസ്ക് സ്പേസ് ഉറപ്പാക്കുക (50GB ശുപാർശ)
പ്രശ്നം: Jupyter kernel കണ്ടെത്താനാകുന്നില്ല
- പരിഹാരം:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
പ്രശ്നം: നോട്ട്ബുക്കുകളിൽ GPU കണ്ടെത്താനാകുന്നില്ല
- പരിഹാരം:
- 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 ഇൻസ്റ്റലേഷൻ പരിശോധിക്കുക:
പ്രശ്നം: ക്വിസ് ആപ്പ് ആരംഭിക്കുന്നില്ല
- പരിഹാരം:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
പ്രശ്നം: Binder ടൈംഔട്ട് അല്ലെങ്കിൽ ഡൗൺലോഡുകൾ തടയുന്നു
- പരിഹാരം: മികച്ച റിസോഴ്സ് ആക്സസിനായി GitHub Codespaces അല്ലെങ്കിൽ ലോകൽ സെറ്റപ്പ് ഉപയോഗിക്കുക
മെമ്മറി പ്രശ്നങ്ങൾ
ചില പാഠങ്ങൾ വലിയ RAM ആവശ്യപ്പെടുന്നു (8GB+ ശുപാർശ):
- റിസോഴ്സ്-ഇന്റൻസീവ് പാഠങ്ങൾക്കായി ക്ലൗഡ് VM-കൾ ഉപയോഗിക്കുക
- മോഡലുകൾ ട്രെയിൻ ചെയ്യുമ്പോൾ മറ്റ് ആപ്ലിക്കേഷനുകൾ അടയ്ക്കുക
- മെമ്മറി കുറയുമ്പോൾ നോട്ട്ബുക്കുകളിൽ ബാച്ച് സൈസ് കുറയ്ക്കുക
അധിക കുറിപ്പുകൾ
കോഴ്സ് ഇൻസ്ട്രക്ടർമാർക്കായി
- പഠന മാർഗ്ഗനിർദ്ദേശങ്ങൾക്ക്
lessons/0-course-setup/for-teachers.mdകാണുക - പാഠങ്ങൾ സ്വയംപര്യാപ്തമാണ്, തുടർച്ചയായി അല്ലെങ്കിൽ തിരഞ്ഞെടുക്കി പഠിപ്പിക്കാം
- ഏകദേശം 12 ആഴ്ച, ആഴ്ചയിൽ 2 പാഠങ്ങൾ
ക്ലൗഡ് റിസോഴ്സുകൾ
- Azure for Students: വിദ്യാർത്ഥികൾക്ക് സൗജന്യ ക്രെഡിറ്റുകൾ
- Microsoft Learn: പാഠ്യപദ്ധതിയുമായി ബന്ധിപ്പിച്ച അനുബന്ധ പഠന പാതകൾ
- Binder: സൗജന്യമാണ്, പക്ഷേ പരിമിതമായ റിസോഴ്സുകളും ചില നെറ്റ്വർക്ക് നിയന്ത്രണങ്ങളും
കോഡ് പ്രവർത്തന ഓപ്ഷനുകൾ
- ലോകൽ (ശുപാർശ): പൂർണ്ണ നിയന്ത്രണം, മികച്ച പ്രകടനം, GPU പിന്തുണ
- GitHub Codespaces: ക്ലൗഡ് അടിസ്ഥാനമാക്കിയ VS Code, വേഗത്തിലുള്ള ആക്സസിനായി
- Binder: ബ്രൗസർ അടിസ്ഥാനമാക്കിയ Jupyter, സൗജന്യമാണ് പക്ഷേ പരിമിതം
- Azure ML Notebooks: GPU പിന്തുണയുള്ള എന്റർപ്രൈസ് ഓപ്ഷൻ
- Google Colab: നോട്ട്ബുക്കുകൾ വ്യക്തിഗതമായി അപ്ലോഡ് ചെയ്യുക, സൗജന്യ GPU ലെയർ ലഭ്യമാണ്
നോട്ട്ബുക്കുകളുമായി ജോലി ചെയ്യൽ
- പഠനത്തിനായി സെൽ-ബൈ-സെൽ പ്രവർത്തിപ്പിക്കാൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു
- പല നോട്ട്ബുക്കുകളും ആദ്യ പ്രവർത്തനത്തിൽ ഡാറ്റാസെറ്റുകൾ ഡൗൺലോഡ് ചെയ്യും (സമയം എടുക്കാം)
- ചില മോഡലുകൾക്ക് യുക്തിസഹമായ ട്രെയിനിംഗിനായി GPU ആവശ്യമാണ്
- കംപ്യൂട്ട് ആവശ്യകത കുറയ്ക്കാൻ മുൻകൂട്ടി പരിശീലിച്ച മോഡലുകൾ ഉപയോഗിക്കുന്നു
പ്രകടന പരിഗണനകൾ
- പിന്നീട് വരുന്ന കമ്പ്യൂട്ടർ വിഷൻ പാഠങ്ങൾ (CNNs, GANs) GPU-യിൽ നിന്ന് പ്രയോജനം നേടും
- NLP ട്രാൻസ്ഫോർമർ പാഠങ്ങൾ വലിയ RAM ആവശ്യപ്പെടാം
- തുടക്കം മുതൽ പരിശീലനം വിദ്യാഭ്യാസപരമാണ്, പക്ഷേ സമയം കൂടുതലെടുക്കും
- ട്രാൻസ്ഫർ ലേണിംഗ് ഉദാഹരണങ്ങൾ പരിശീലന സമയം കുറയ്ക്കുന്നു
അസൂയാ:
ഈ രേഖ AI വിവർത്തന സേവനം Co-op Translator ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരപരമായ ഉറവിടമായി കണക്കാക്കണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.