11 KiB
AGENTS.md
Projektin yleiskatsaus
AI for Beginners on kattava 12 viikon, 24 oppitunnin kurssi, joka käsittelee tekoälyn perusteita. Tämä opetusmateriaali sisältää käytännön oppitunteja Jupyter Notebooks -ympäristössä, kyselyitä ja käytännön harjoituksia. Kurssi kattaa:
- Symbolinen tekoäly: Tiedon esitys ja asiantuntijajärjestelmät
- Neuroverkot ja syväoppiminen TensorFlow- ja PyTorch-työkaluilla
- Tietokonenäön tekniikat ja arkkitehtuurit
- Luonnollisen kielen käsittely (NLP), mukaan lukien transformerit ja BERT
- Erikoisaiheet: geneettiset algoritmit, vahvistusoppiminen, monen agentin järjestelmät
- Tekoälyn etiikka ja vastuullisen tekoälyn periaatteet
Keskeiset teknologiat: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (kyselysovellusta varten)
Arkkitehtuuri: Opetusmateriaalin arkisto, jossa Jupyter Notebooks -tiedostot on järjestetty aihealueittain, täydennetty Vue.js-pohjaisella kyselysovelluksella ja laajalla monikielisellä tuella.
Asennuskomennot
Ensisijainen kehitysympäristö (Python/Jupyter)
Kurssi on suunniteltu toimimaan Pythonin ja Jupyter Notebooks -ympäristön kanssa. Suositeltu tapa on käyttää minicondaa:
# Clone the repository
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# Create and activate conda environment
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# Start Jupyter Notebook
jupyter notebook
# OR
jupyter lab
Vaihtoehto: devcontainerin käyttö
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
Kyselysovelluksen asennus
Kyselysovellus on erillinen Vue.js-sovellus, joka sijaitsee hakemistossa etc/quiz-app/:
cd etc/quiz-app
npm install
npm run serve # Development server
npm run build # Production build
npm run lint # Lint and fix files
Kehitystyön kulku
Työskentely Jupyter Notebooks -ympäristössä
-
Paikallinen kehitys:
- Aktivoi conda-ympäristö:
conda activate ai4beg - Käynnistä Jupyter:
jupyter notebooktaijupyter lab - Siirry oppituntikansioihin ja avaa
.ipynb-tiedostot - Suorita solut vuorovaikutteisesti oppituntien seuraamiseksi
- Aktivoi conda-ympäristö:
-
VS Code Python-laajennuksella:
- Avaa arkisto VS Codessa
- Asenna Python-laajennus
- VS Code tunnistaa ja käyttää automaattisesti conda-ympäristöä
- Avaa
.ipynb-tiedostot suoraan VS Codessa
-
Pilvikehitys:
- GitHub Codespaces: Klikkaa "Code" → "Codespaces" → "Create codespace on main"
- Binder: Käytä README-tiedoston Binder-painiketta käynnistääksesi selaimessa
- Huomio: Binderilla on rajalliset resurssit ja joitakin verkkopääsyrajoituksia
GPU-tuki edistyneille oppitunneille
Myöhemmät oppitunnit hyötyvät merkittävästi GPU-kiihdytyksestä:
- Azure Data Science VM: Käytä NC-sarjan virtuaalikoneita, joissa on GPU-tuki
- Azure Machine Learning: Käytä muistikirjaominaisuuksia GPU-laskennan kanssa
- Google Colab: Lataa muistikirjat yksitellen (ilmainen GPU-tuki saatavilla)
Kyselysovelluksen kehitys
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
Testausohjeet
Tämä on opetusmateriaali, joka keskittyy oppimissisältöön eikä ohjelmistotestaukseen. Perinteistä testipakettia ei ole.
Vahvistusmenetelmät:
- Jupyter Notebooks: Suorita solut järjestyksessä varmistaaksesi, että koodiesimerkit toimivat
- Kyselysovelluksen testaus: Manuaalinen testaus kehityspalvelimen kautta
- Käännösten tarkistus: Tarkista käännetty sisältö
translations/-kansiossa - Kyselysovelluksen linttaus:
npm run linthakemistossaetc/quiz-app/
Koodiesimerkkien suorittaminen:
# Activate environment first
conda activate ai4beg
# Run Python scripts directly
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# Or execute notebooks
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
Koodityyli
Python-koodityyli
- Standardit Python-käytännöt opetusmateriaalille
- Selkeä, helposti luettava koodi, joka painottaa oppimista optimoinnin sijaan
- Kommentit, jotka selittävät keskeiset käsitteet
- Jupyter Notebook -ystävällinen: solujen tulisi olla mahdollisimman itsenäisiä
- Ei tiukkoja linttausvaatimuksia oppituntisisällölle
JavaScript/Vue.js (kyselysovellus)
- ESLint-konfiguraatio tiedostossa
etc/quiz-app/package.json - Suorita
npm run linttarkistaaksesi ja korjataksesi ongelmat automaattisesti - Vue 2.x -käytännöt
- Komponenttipohjainen arkkitehtuuri
Tiedostojen järjestely
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
Rakennus ja käyttöönotto
Jupyter-sisältö
Rakennusprosessia ei tarvita - Jupyter Notebooks -tiedostot suoritetaan suoraan.
Kyselysovellus
cd etc/quiz-app
# Development
npm run serve
# Production build
npm run build # Outputs to etc/quiz-app/dist/
# Deploy to Azure Static Web Apps
# Azure automatically creates GitHub Actions workflow
# See etc/quiz-app/README.md for detailed deployment instructions
Dokumentaatiosivusto
Arkisto käyttää Docsifyä dokumentaatiota varten:
index.htmltoimii aloituspisteenä- Rakennusta ei tarvita - palvelu suoraan GitHub Pagesin kautta
- Pääsy osoitteessa: https://microsoft.github.io/AI-For-Beginners/
Osallistumisohjeet
Pull Request -prosessi
- Otsikon muoto: Selkeät, kuvaavat otsikot, jotka kertovat muutoksesta
- CLA-vaatimus: Microsoft CLA on allekirjoitettava (automaattinen tarkistus)
- Sisältöohjeet:
- Säilytä opetuslähtöisyys ja aloittelijaystävällinen lähestymistapa
- Testaa kaikki koodiesimerkit muistikirjoissa
- Varmista, että muistikirjat toimivat alusta loppuun
- Päivitä käännökset, jos muutat englanninkielistä sisältöä
- Kyselysovelluksen muutokset: Suorita
npm run lintennen sitoutumista
Käännöspanokset
- Käännökset automatisoidaan GitHub Actionsin kautta co-op-translatorilla
- Manuaaliset käännökset sijoitetaan hakemistoon
translations/<language-code>/ - Kyselykäännökset hakemistoon
etc/quiz-app/src/assets/translations/ - Tuetut kielet: yli 40 kieltä (katso README täydellinen lista)
Aktiiviset osallistumisalueet
Katso etc/CONTRIBUTING.md nykyiset tarpeet:
- Syvävahvistusoppimisen osiot
- Objektin tunnistuksen parannukset
- Esimerkkejä nimettyjen entiteettien tunnistuksesta
- Näytteitä mukautetusta upotuskoulutuksesta
Ympäristön konfigurointi
Vaaditut riippuvuudet
# Core Python packages (from 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
Ympäristömuuttujat
Peruskäyttöön ei tarvita erityisiä ympäristömuuttujia.
Azure-käyttöönottoa varten (kyselysovellus):
AZURE_STATIC_WEB_APPS_API_TOKEN(Azure asettaa automaattisesti)
Vianmääritys ja ongelmien ratkaisu
Yleiset ongelmat
Ongelma: Conda-ympäristön luominen epäonnistuu
- Ratkaisu: Päivitä ensin conda:
conda update conda -y - Varmista riittävä levytila (suositus 50GB)
Ongelma: Jupyter-ydintä ei löydy
- Ratkaisu:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
Ongelma: GPU ei tunnistu muistikirjoissa
- Ratkaisu:
- Varmista CUDA-asennus:
nvidia-smi - Tarkista PyTorch GPU:
python -c "import torch; print(torch.cuda.is_available())" - Tarkista TensorFlow GPU:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- Varmista CUDA-asennus:
Ongelma: Kyselysovellus ei käynnisty
- Ratkaisu:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
Ongelma: Binder aikakatkaisee tai estää lataukset
- Ratkaisu: Käytä GitHub Codespacesia tai paikallista asennusta parempien resurssien saamiseksi
Muistiongelmat
Jotkut oppitunnit vaativat merkittävää RAM-muistia (suositus 8GB+):
- Käytä pilvipalvelun virtuaalikoneita resurssiintensiivisille oppitunneille
- Sulje muut sovellukset mallien koulutuksen aikana
- Pienennä eräkokoja muistikirjoissa, jos muisti loppuu
Lisähuomioita
Kurssin opettajille
- Katso
lessons/0-course-setup/for-teachers.mdopetusohjeita varten - Oppitunnit ovat itsenäisiä ja niitä voidaan opettaa järjestyksessä tai valikoiden
- Arvioitu kesto: 12 viikkoa, 2 oppituntia viikossa
Pilviresurssit
- Azure for Students: Ilmaisia krediittejä opiskelijoille
- Microsoft Learn: Täydentävät oppimispolut linkitetty oppituntien yhteydessä
- Binder: Ilmainen mutta rajalliset resurssit ja joitakin verkkorajoituksia
Koodin suoritusvaihtoehdot
- Paikallinen (suositeltu): Täysi hallinta, paras suorituskyky, GPU-tuki
- GitHub Codespaces: Pilvipohjainen VS Code, hyvä nopeaan käyttöön
- Binder: Selaimessa toimiva Jupyter, ilmainen mutta rajallinen
- Azure ML Notebooks: Yrityskäyttö GPU-tuella
- Google Colab: Lataa muistikirjat yksitellen, ilmainen GPU-taso saatavilla
Työskentely muistikirjojen kanssa
- Muistikirjat on suunniteltu suoritettavaksi solu kerrallaan oppimista varten
- Monet muistikirjat lataavat datat ensimmäisellä suorituskerralla (voi kestää aikaa)
- Jotkut mallit vaativat GPU:n kohtuullisiin koulutusaikoihin
- Esikoulutetut mallit käytössä, missä mahdollista, laskentavaatimusten vähentämiseksi
Suorituskykyhuomiot
- Myöhemmät tietokonenäköoppitunnit (CNN:t, GAN:t) hyötyvät GPU:sta
- NLP-transformer-oppitunnit voivat vaatia merkittävää RAM-muistia
- Koulutus alusta asti on opettavaista mutta aikaa vievää
- Siirto-oppimisen esimerkit minimoivat koulutusaikaa
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.