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

19 KiB

AGENTS.md

ภาพรวมโครงการ

AI for Beginners เป็นหลักสูตรครอบคลุมระยะเวลา 12 สัปดาห์ ประกอบด้วย 24 บทเรียนที่ครอบคลุมพื้นฐานของปัญญาประดิษฐ์ (AI) โครงการนี้มีบทเรียนเชิงปฏิบัติที่ใช้ Jupyter Notebooks แบบฝึกหัด และห้องปฏิบัติการจริง หลักสูตรครอบคลุมหัวข้อดังนี้:

  • AI เชิงสัญลักษณ์ด้วยการแทนความรู้และระบบผู้เชี่ยวชาญ
  • เครือข่ายประสาทและการเรียนรู้เชิงลึกด้วย TensorFlow และ PyTorch
  • เทคนิคและสถาปัตยกรรมการมองเห็นด้วยคอมพิวเตอร์
  • การประมวลผลภาษาธรรมชาติ (NLP) รวมถึง transformers และ BERT
  • หัวข้อเฉพาะทาง: อัลกอริทึมทางพันธุกรรม, การเรียนรู้แบบเสริมกำลัง, ระบบหลายตัวแทน
  • จริยธรรม AI และหลักการ AI ที่รับผิดชอบ

เทคโนโลยีหลัก: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (สำหรับแอปแบบทดสอบ)

สถาปัตยกรรม: คลังเนื้อหาการศึกษา พร้อม Jupyter Notebooks ที่จัดระเบียบตามหัวข้อ และแอปแบบทดสอบที่พัฒนาด้วย Vue.js พร้อมการสนับสนุนหลายภาษาอย่างกว้างขวาง

คำสั่งการตั้งค่า

สภาพแวดล้อมการพัฒนาหลัก (Python/Jupyter)

หลักสูตรนี้ออกแบบมาให้ทำงานร่วมกับ Python และ Jupyter Notebooks วิธีที่แนะนำคือการใช้ miniconda:

# 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

# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment

การตั้งค่าแอปแบบทดสอบ

แอปแบบทดสอบเป็นแอป Vue.js แยกต่างหากที่อยู่ใน 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

เวิร์กโฟลว์การพัฒนา

การทำงานกับ 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: ใช้ป้าย Binder บน README เพื่อเปิดในเบราว์เซอร์
    • หมายเหตุ: Binder มีทรัพยากรจำกัดและข้อจำกัดการเข้าถึงเว็บบางประการ

การสนับสนุน GPU สำหรับบทเรียนขั้นสูง

บทเรียนในภายหลังจะได้รับประโยชน์อย่างมากจากการเร่งความเร็วด้วย GPU:

  • Azure Data Science VM: ใช้ VM ซีรีส์ NC ที่รองรับ GPU
  • Azure Machine Learning: ใช้ฟีเจอร์โน้ตบุ๊กพร้อมการประมวลผล GPU
  • Google Colab: อัปโหลดโน้ตบุ๊กทีละตัว (มีการสนับสนุน GPU ฟรี)

การพัฒนาแอปแบบทดสอบ

cd etc/quiz-app
npm run serve  # Hot-reload development server at http://localhost:8080

คำแนะนำการทดสอบ

คลังนี้มุ่งเน้นไปที่เนื้อหาการเรียนรู้มากกว่าการทดสอบซอฟต์แวร์ ไม่มีชุดการทดสอบแบบดั้งเดิม

วิธีการตรวจสอบ:

  1. Jupyter Notebooks: รันเซลล์ตามลำดับเพื่อยืนยันว่าโค้ดตัวอย่างทำงานได้
  2. การทดสอบแอปแบบทดสอบ: ทดสอบด้วยตนเองผ่านเซิร์ฟเวอร์พัฒนา
  3. การตรวจสอบการแปล: ตรวจสอบเนื้อหาที่แปลในโฟลเดอร์ translations/
  4. การตรวจสอบ linting แอปแบบทดสอบ: npm run lint ใน etc/quiz-app/

การรันโค้ดตัวอย่าง:

# 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: เซลล์ควรเป็นแบบแยกตัวเองได้มากที่สุด
  • ไม่มีข้อกำหนด linting ที่เข้มงวดสำหรับเนื้อหาบทเรียน

JavaScript/Vue.js (แอปแบบทดสอบ)

  • การตั้งค่า ESLint ใน etc/quiz-app/package.json
  • รัน 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

# 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 ก่อน commit

การมีส่วนร่วมในการแปล

  • การแปลเป็นไปโดยอัตโนมัติผ่าน GitHub Actions โดยใช้ co-op-translator
  • การแปลด้วยตนเองอยู่ใน translations/<language-code>/
  • การแปลแบบทดสอบอยู่ใน etc/quiz-app/src/assets/translations/
  • รองรับภาษา: มากกว่า 40 ภาษา (ดู README สำหรับรายการเต็ม)

พื้นที่การมีส่วนร่วมที่ใช้งานอยู่

ดู etc/CONTRIBUTING.md สำหรับความต้องการปัจจุบัน:

  • ส่วนการเรียนรู้แบบเสริมกำลังเชิงลึก
  • การปรับปรุงการตรวจจับวัตถุ
  • ตัวอย่างการจดจำเอนทิตีที่มีชื่อ
  • ตัวอย่างการฝึกฝังแบบกำหนดเอง

การตั้งค่าสภาพแวดล้อม

การพึ่งพาที่จำเป็น

# 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)

ปัญหา: ไม่พบ kernel ของ Jupyter

  • วิธีแก้ไข:
    conda activate ai4beg
    python -m ipykernel install --user --name ai4beg
    

ปัญหา: ไม่พบ GPU ในโน้ตบุ๊ก

  • วิธีแก้ไข:
    • ตรวจสอบการติดตั้ง CUDA: nvidia-smi
    • ตรวจสอบ GPU ของ PyTorch: python -c "import torch; print(torch.cuda.is_available())"
    • ตรวจสอบ GPU ของ TensorFlow: python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

ปัญหา: แอปแบบทดสอบไม่เริ่มต้น

  • วิธีแก้ไข:
    cd etc/quiz-app
    rm -rf node_modules package-lock.json
    npm install
    npm run serve
    

ปัญหา: Binder หมดเวลาหรือบล็อกการดาวน์โหลด

  • วิธีแก้ไข: ใช้ GitHub Codespaces หรือการตั้งค่าในเครื่องเพื่อการเข้าถึงทรัพยากรที่ดีกว่า

ปัญหาหน่วยความจำ

บทเรียนบางส่วนต้องการ RAM จำนวนมาก (แนะนำ 8GB+):

  • ใช้ VM คลาวด์สำหรับบทเรียนที่ใช้ทรัพยากรมาก
  • ปิดแอปพลิเคชันอื่นเมื่อฝึกโมเดล
  • ลดขนาด batch ในโน้ตบุ๊กหากหน่วยความจำไม่เพียงพอ

หมายเหตุเพิ่มเติม

สำหรับผู้สอนหลักสูตร

  • ดู lessons/0-course-setup/for-teachers.md สำหรับคำแนะนำการสอน
  • บทเรียนเป็นแบบแยกตัวเองและสามารถสอนได้ตามลำดับหรือเลือกเฉพาะบางบท
  • เวลาที่ประมาณการ: 12 สัปดาห์ที่ 2 บทเรียนต่อสัปดาห์

ทรัพยากรคลาวด์

  • 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 เพื่อเวลาฝึกที่เหมาะสม
  • ใช้โมเดลที่ฝึกไว้ล่วงหน้าเพื่อลดความต้องการการประมวลผล

การพิจารณาด้านประสิทธิภาพ

  • บทเรียนการมองเห็นด้วยคอมพิวเตอร์ในภายหลัง (CNNs, GANs) ได้รับประโยชน์จาก GPU
  • บทเรียน NLP transformer อาจต้องการ RAM จำนวนมาก
  • การฝึกจากศูนย์มีประโยชน์ทางการศึกษาแต่ใช้เวลานาน
  • ตัวอย่างการเรียนรู้แบบถ่ายโอนช่วยลดเวลาในการฝึก

ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่มีความเชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้