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

12 KiB

AGENTS.md

Resumen del Proyecto

AI for Beginners es un plan de estudios completo de 12 semanas y 24 lecciones que cubre los fundamentos de la Inteligencia Artificial. Este repositorio educativo incluye lecciones prácticas utilizando Jupyter Notebooks, cuestionarios y laboratorios prácticos. El plan de estudios abarca:

  • IA simbólica con Representación del Conocimiento y Sistemas Expertos
  • Redes Neuronales y Aprendizaje Profundo con TensorFlow y PyTorch
  • Técnicas y arquitecturas de Visión por Computadora
  • Procesamiento de Lenguaje Natural (NLP), incluyendo transformers y BERT
  • Temas especializados: Algoritmos Genéticos, Aprendizaje por Refuerzo, Sistemas Multiagente
  • Ética en IA y principios de IA Responsable

Tecnologías clave: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (para la aplicación de cuestionarios)

Arquitectura: Repositorio de contenido educativo con Jupyter Notebooks organizados por áreas temáticas, complementado con una aplicación de cuestionarios basada en Vue.js y soporte multilingüe extenso.

Comandos de Configuración

Entorno de Desarrollo Principal (Python/Jupyter)

El plan de estudios está diseñado para ejecutarse con Python y Jupyter Notebooks. El enfoque recomendado es usar 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

Alternativa: Usar devcontainer

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

Configuración de la Aplicación de Cuestionarios

La aplicación de cuestionarios es una aplicación separada de Vue.js ubicada en 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

Flujo de Trabajo de Desarrollo

Trabajando con Jupyter Notebooks

  1. Desarrollo Local:

    • Activar el entorno conda: conda activate ai4beg
    • Iniciar Jupyter: jupyter notebook o jupyter lab
    • Navegar a las carpetas de lecciones y abrir archivos .ipynb
    • Ejecutar las celdas de manera interactiva para seguir las lecciones
  2. VS Code con Extensión de Python:

    • Abrir el repositorio en VS Code
    • Instalar la extensión de Python
    • VS Code detecta automáticamente y utiliza el entorno conda
    • Abrir archivos .ipynb directamente en VS Code
  3. Desarrollo en la Nube:

    • GitHub Codespaces: Haz clic en "Code" → "Codespaces" → "Create codespace on main"
    • Binder: Usa el badge de Binder en el README para lanzarlo en el navegador
    • Nota: Binder tiene recursos limitados y algunas restricciones de acceso web

Soporte de GPU para Lecciones Avanzadas

Las lecciones posteriores se benefician significativamente de la aceleración por GPU:

  • Azure Data Science VM: Usar VMs de la serie NC con soporte de GPU
  • Azure Machine Learning: Usar características de notebooks con computación GPU
  • Google Colab: Subir notebooks individualmente (tiene soporte gratuito de GPU)

Desarrollo de la Aplicación de Cuestionarios

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

Instrucciones de Pruebas

Este es un repositorio educativo enfocado en contenido de aprendizaje más que en pruebas de software. No hay un conjunto de pruebas tradicional.

Métodos de Validación:

  1. Jupyter Notebooks: Ejecutar las celdas secuencialmente para verificar que los ejemplos de código funcionen
  2. Pruebas de la Aplicación de Cuestionarios: Pruebas manuales a través del servidor de desarrollo
  3. Validación de Traducciones: Revisar el contenido traducido en la carpeta translations/
  4. Linting de la Aplicación de Cuestionarios: npm run lint en etc/quiz-app/

Ejecución de Ejemplos de Código:

# 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

Estilo de Código

Estilo de Código Python

  • Convenciones estándar de Python para código educativo
  • Código claro y legible que prioriza el aprendizaje sobre la optimización
  • Comentarios explicando conceptos clave
  • Compatible con Jupyter Notebook: las celdas deben ser autónomas siempre que sea posible
  • No se requieren reglas estrictas de linting para el contenido de las lecciones

JavaScript/Vue.js (Aplicación de Cuestionarios)

  • Configuración de ESLint en etc/quiz-app/package.json
  • Ejecutar npm run lint para verificar y corregir problemas automáticamente
  • Convenciones de Vue 2.x
  • Arquitectura basada en componentes

Organización de Archivos

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

Construcción y Despliegue

Contenido de Jupyter

No se requiere proceso de construcción: los Jupyter Notebooks se ejecutan directamente.

Aplicación de Cuestionarios

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

Sitio de Documentación

El repositorio utiliza Docsify para la documentación:

Directrices para Contribuir

Proceso de Pull Request

  1. Formato del Título: Títulos claros y descriptivos que describan el cambio
  2. Requisito de CLA: Se debe firmar el CLA de Microsoft (verificación automatizada)
  3. Directrices de Contenido:
    • Mantener el enfoque educativo y accesible para principiantes
    • Probar todos los ejemplos de código en los notebooks
    • Asegurarse de que los notebooks se ejecuten de principio a fin
    • Actualizar traducciones si se modifica contenido en inglés
  4. Cambios en la Aplicación de Cuestionarios: Ejecutar npm run lint antes de hacer commit

Contribuciones de Traducción

  • Las traducciones se automatizan mediante GitHub Actions usando co-op-translator
  • Las traducciones manuales van en translations/<language-code>/
  • Traducciones de cuestionarios en etc/quiz-app/src/assets/translations/
  • Idiomas soportados: más de 40 idiomas (ver README para la lista completa)

Áreas Activas de Contribución

Ver etc/CONTRIBUTING.md para necesidades actuales:

  • Secciones de Aprendizaje por Refuerzo Profundo
  • Mejoras en Detección de Objetos
  • Ejemplos de Reconocimiento de Entidades Nombradas
  • Muestras de entrenamiento de embeddings personalizados

Configuración del Entorno

Dependencias Requeridas

# 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

Variables de Entorno

No se requieren variables de entorno especiales para el uso básico.

Para despliegues en Azure (aplicación de cuestionarios):

  • AZURE_STATIC_WEB_APPS_API_TOKEN (configurado automáticamente por Azure)

Depuración y Resolución de Problemas

Problemas Comunes

Problema: Falla la creación del entorno conda

  • Solución: Actualizar conda primero: conda update conda -y
  • Asegurarse de tener suficiente espacio en disco (se recomiendan 50GB)

Problema: Kernel de Jupyter no encontrado

  • Solución:
    conda activate ai4beg
    python -m ipykernel install --user --name ai4beg
    

Problema: GPU no detectada en los notebooks

  • Solución:
    • Verificar instalación de CUDA: nvidia-smi
    • Comprobar GPU en PyTorch: python -c "import torch; print(torch.cuda.is_available())"
    • Comprobar GPU en TensorFlow: python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Problema: La aplicación de cuestionarios no inicia

  • Solución:
    cd etc/quiz-app
    rm -rf node_modules package-lock.json
    npm install
    npm run serve
    

Problema: Binder se agota o bloquea descargas

  • Solución: Usar GitHub Codespaces o configuración local para mejor acceso a recursos

Problemas de Memoria

Algunas lecciones requieren una cantidad significativa de RAM (se recomiendan 8GB+):

  • Usar VMs en la nube para lecciones que consumen muchos recursos
  • Cerrar otras aplicaciones al entrenar modelos
  • Reducir tamaños de lote en los notebooks si se agota la memoria

Notas Adicionales

Para Instructores del Curso

  • Ver lessons/0-course-setup/for-teachers.md para orientación sobre enseñanza
  • Las lecciones son autónomas y pueden enseñarse en secuencia o seleccionarse individualmente
  • Tiempo estimado: 12 semanas con 2 lecciones por semana

Recursos en la Nube

  • Azure for Students: Créditos gratuitos disponibles para estudiantes
  • Microsoft Learn: Rutas de aprendizaje complementarias enlazadas a lo largo del curso
  • Binder: Gratuito pero con recursos limitados y algunas restricciones de red

Opciones de Ejecución de Código

  1. Local (Recomendado): Control total, mejor rendimiento, soporte GPU
  2. GitHub Codespaces: VS Code basado en la nube, bueno para acceso rápido
  3. Binder: Jupyter basado en navegador, gratuito pero limitado
  4. Azure ML Notebooks: Opción empresarial con soporte GPU
  5. Google Colab: Subir notebooks individualmente, disponible nivel gratuito de GPU

Trabajando con Notebooks

  • Los notebooks están diseñados para ejecutarse celda por celda para aprendizaje
  • Muchos notebooks descargan conjuntos de datos en la primera ejecución (puede tomar tiempo)
  • Algunos modelos requieren GPU para tiempos de entrenamiento razonables
  • Se utilizan modelos preentrenados cuando es posible para reducir requisitos de cómputo

Consideraciones de Rendimiento

  • Las lecciones posteriores de visión por computadora (CNNs, GANs) se benefician de GPU
  • Las lecciones de transformers en NLP pueden requerir una cantidad significativa de RAM
  • Entrenar desde cero es educativo pero consume tiempo
  • Los ejemplos de aprendizaje por transferencia minimizan el tiempo de entrenamiento

Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.