AI-For-Beginners/translations/ko/AGENTS.md

317 lines
11 KiB
Markdown

# AGENTS.md
## 프로젝트 개요
AI for Beginners는 인공지능 기초를 다루는 12주, 24강의 종합 커리큘럼입니다. 이 교육용 저장소는 Jupyter Notebooks, 퀴즈, 실습을 포함한 실질적인 학습 자료를 제공합니다. 커리큘럼은 다음을 포함합니다:
- 지식 표현 및 전문가 시스템을 활용한 기호 기반 AI
- TensorFlow와 PyTorch를 활용한 신경망 및 딥러닝
- 컴퓨터 비전 기술 및 아키텍처
- 변환기(transformers)와 BERT를 포함한 자연어 처리(NLP)
- 특화 주제: 유전 알고리즘, 강화 학습, 다중 에이전트 시스템
- AI 윤리 및 책임 있는 AI 원칙
**주요 기술:** Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (퀴즈 앱용)
**아키텍처:** 주제별로 구성된 Jupyter Notebooks와 Vue.js 기반 퀴즈 애플리케이션, 다국어 지원을 포함한 교육 콘텐츠 저장소
## 설정 명령어
### 주요 개발 환경 (Python/Jupyter)
이 커리큘럼은 Python과 Jupyter Notebooks에서 실행되도록 설계되었습니다. 권장 방법은 miniconda를 사용하는 것입니다:
```bash
# 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
```
### 대안: devcontainer 사용
```bash
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
```
### 퀴즈 애플리케이션 설정
퀴즈 앱은 `etc/quiz-app/`에 위치한 별도의 Vue.js 애플리케이션입니다:
```bash
cd etc/quiz-app
npm install
npm run serve # Development server
npm run build # Production build
npm run lint # Lint and fix files
```
## 개발 워크플로우
### Jupyter Notebooks 작업
1. **로컬 개발:**
- conda 환경 활성화: `conda activate ai4beg`
- Jupyter 시작: `jupyter notebook` 또는 `jupyter lab`
- 강의 폴더로 이동하여 `.ipynb` 파일 열기
- 셀을 인터랙티브하게 실행하며 강의 따라가기
2. **VS Code와 Python 확장 사용:**
- VS Code에서 저장소 열기
- Python 확장 설치
- VS Code가 conda 환경을 자동으로 감지 및 사용
- `.ipynb` 파일을 VS Code에서 직접 열기
3. **클라우드 개발:**
- **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 지원 제공)
### 퀴즈 앱 개발
```bash
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
```
## 테스트 지침
이 저장소는 학습 콘텐츠에 중점을 두고 있으며 소프트웨어 테스트를 위한 전통적인 테스트 스위트는 없습니다.
### 검증 방법:
1. **Jupyter Notebooks:** 셀을 순차적으로 실행하여 코드 예제가 작동하는지 확인
2. **퀴즈 앱 테스트:** 개발 서버를 통한 수동 테스트
3. **번역 검증:** `translations/` 폴더의 번역된 콘텐츠 확인
4. **퀴즈 앱 린팅:** `etc/quiz-app/`에서 `npm run lint` 실행
### 코드 예제 실행:
```bash
# 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
```
## 코드 스타일
### 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는 직접 실행됩니다.
### 퀴즈 애플리케이션
```bash
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
```
### 문서 사이트
이 저장소는 Docsify를 사용하여 문서를 제공합니다:
- `index.html`이 진입점으로 사용됨
- 빌드가 필요하지 않음 - GitHub Pages를 통해 직접 제공됨
- 액세스: https://microsoft.github.io/AI-For-Beginners/
## 기여 가이드라인
### Pull Request 프로세스
1. **제목 형식:** 변경 사항을 명확히 설명하는 제목
2. **CLA 요구 사항:** Microsoft CLA 서명 필요 (자동 확인)
3. **콘텐츠 가이드라인:**
- 교육적 초점과 초보자 친화적 접근 유지
- 노트북의 모든 코드 예제 테스트
- 노트북이 처음부터 끝까지 실행되도록 보장
- 영어 콘텐츠를 수정할 경우 번역 업데이트
4. **퀴즈 앱 변경 사항:** 커밋 전에 `npm run lint` 실행
### 번역 기여
- 번역은 GitHub Actions를 통해 자동화됨 (co-op-translator 사용)
- 수동 번역은 `translations/<language-code>/`에 저장
- 퀴즈 번역은 `etc/quiz-app/src/assets/translations/`에 저장
- 지원 언어: 40개 이상 (전체 목록은 README 참조)
### 활성 기여 영역
현재 필요 사항은 `etc/CONTRIBUTING.md`를 참조:
- 심층 강화 학습 섹션
- 객체 탐지 개선
- 개체명 인식 예제
- 사용자 정의 임베딩 학습 샘플
## 환경 구성
### 필수 종속성
```bash
# 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
```
### 환경 변수
기본 사용을 위한 특별한 환경 변수가 필요하지 않음.
Azure 배포(퀴즈 앱)의 경우:
- `AZURE_STATIC_WEB_APPS_API_TOKEN` (Azure에서 자동 설정)
## 디버깅 및 문제 해결
### 일반적인 문제
**문제:** Conda 환경 생성 실패
- **해결 방법:** 먼저 conda 업데이트: `conda update conda -y`
- 충분한 디스크 공간 확보 (50GB 권장)
**문제:** Jupyter 커널을 찾을 수 없음
- **해결 방법:**
```bash
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'))"`
**문제:** 퀴즈 앱이 시작되지 않음
- **해결 방법:**
```bash
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` 참조
- 강의는 독립적으로 구성되어 있으며 순서대로 또는 개별적으로 진행 가능
- 예상 소요 시간: 주당 2강 기준 12주
### 클라우드 리소스
- **Azure for Students:** 학생을 위한 무료 크레딧 제공
- **Microsoft Learn:** 학습 경로가 강의 전반에 걸쳐 연결됨
- **Binder:** 무료이지만 리소스 제한 및 일부 네트워크 제한 존재
### 코드 실행 옵션
1. **로컬 (권장):** 완전한 제어, 최고의 성능, GPU 지원
2. **GitHub Codespaces:** 클라우드 기반 VS Code, 빠른 액세스에 적합
3. **Binder:** 브라우저 기반 Jupyter, 무료이지만 제한적
4. **Azure ML Notebooks:** GPU 지원이 포함된 엔터프라이즈 옵션
5. **Google Colab:** 개별 노트북 업로드, 무료 GPU 계층 제공
### 노트북 작업
- 노트북은 학습을 위해 셀 단위로 실행되도록 설계됨
- 많은 노트북이 첫 실행 시 데이터셋을 다운로드함 (시간 소요 가능)
- 일부 모델은 합리적인 학습 시간을 위해 GPU가 필요함
- 사전 학습된 모델을 사용하여 컴퓨팅 요구 사항 감소
### 성능 고려 사항
- 후반부 컴퓨터 비전 강의(CNN, GAN)는 GPU의 이점을 누림
- NLP 변환기 강의는 상당한 RAM이 필요할 수 있음
- 처음부터 학습은 교육적이지만 시간이 많이 소요됨
- 전이 학습 예제는 학습 시간을 최소화함
---
**면책 조항**:
이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.