¡Hola! Soy Marco Antonio Parra.👋

Mparraf

AI Engineer — IA generativa (LLM, RAG), visión por computador y backend Python / Magíster en Ingeniería Industrial

Ingeniero con Magíster en Ingeniería Industrial y cerca de 15 años de carrera: entre 2011 y 2019 en operaciones industriales, con equipos de hasta 50 personas y ya diseñando sistemas de captura y análisis de datos dentro de ese rol; el giro se consolidó con el Magíster —tesis en optimización metaheurística— y formación intensiva entre 2020 y 2023; y desde 2024, sistemas de inteligencia artificial: de prototipos a servicios desplegados. Especializado en IA aplicada con criterio de ingeniería: pipelines RAG sobre modelos de lenguaje de peso abierto autoalojados, bases vectoriales, visión por computador y arquitecturas backend con FastAPI y Docker; llevo modelos desde el dataset hasta el servicio desplegado, con métricas verificables y decisiones de arquitectura documentadas. AWS Certified Solutions Architect — Associate. Explora los proyectos más abajo, o conectemos en LinkedIn.

Skills

MIS REDES


LinkedIn

GitHub

Twitter

Replit

Skills

COMPETENCIAS


IA Y VISIÓN POR COMPUTADOR

PyTorch | YOLOv8 / YOLO11 | SAM | SAHI | OpenCV | MLOps | MLflow | CVAT | LLMs | vLLM | RAG | Embeddings | ChromaDB

BACKEND Y DATOS

Python | FastAPI | Django | DRF | REST APIs | Microservices | PostgreSQL | Celery | Redis | Pandas | NumPy | SQL | ETL pipelines
Python Django PostgreSQL SQL

INFRAESTRUCTURA

Docker | Linux | AWS | Huawei Cloud | CI/CD (GitHub Actions) | pytest | Prometheus | Grafana
Linux Git

INDUSTRIAL Y ANALÍTICA

Investigación de operaciones | Planificación y control de producción | KPI | Control de procesos | Análisis geoespacial (QGIS)

IDIOMAS

Español (nativo)


EXPERIENCIA LABORAL


FORMACIÓN


Ver certificaciones y cursos

PROYECTOS


Proyectos

Optimización metaheurística para Job Shop Scheduling (NP-hard)

Este proyecto aborda un problema clásico de programación de la producción, donde múltiples trabajos deben procesarse en distintas máquinas bajo plazos de entrega estrictos. Es investigación del Magíster: los métodos se evaluaron sobre nueve instancias estándar del benchmark de Taillard, no sobre datos de una planta.

El objetivo del sistema era minimizar la tardanza total en un Job Shop Scheduling Problem (JSP), un problema de optimización combinatoria clasificado como fuertemente NP-hard. Por su complejidad computacional, los métodos exactos tradicionales resultan impracticables en escenarios reales, lo que hace necesarios los enfoques heurísticos y metaheurísticos.

La solución se desarrolló como parte de una colaboración de investigación académica y se implementó como un motor de optimización capaz de generar programas de producción eficientes en tiempos de cómputo razonables.

La metodología propuesta integra varias estrategias metaheurísticas:

- GRASP (Greedy Randomized Adaptive Search Procedure)
- Variable Neighborhood Search (VNS)
- Iterated Local Search (ILS)
- Modelos metaheurísticos híbridos que combinan fases de construcción y de búsqueda local

El sistema evalúa los programas candidatos con métricas de desempeño como:

- Reducción de la tardanza total
- Tiempo de convergencia
- Capacidad de exploración
- Significancia estadística de los resultados

Se implementó un marco de validación estadística con la prueba de Tukey para determinar si las diferencias entre enfoques metaheurísticos eran estadísticamente significativas, asegurando rigor metodológico en la evaluación.

Los resultados experimentales mostraron que los enfoques híbridos que combinan GRASP y VNS superaron de forma consistente a los métodos aislados, en particular en las instancias de mayor tamaño.

El sistema se implementó en Python y se ejecutó en un entorno computacional controlado para garantizar reproducibilidad y evaluación de rendimiento.

Este proyecto es un trabajo aplicado de optimización y diseño de algoritmos que integra investigación de operaciones, ingeniería de algoritmos y sistemas de apoyo a la decisión industrial.

Lenguaje de programación

Python 3.x
Lenguaje principal para implementar los algoritmos metaheurísticos y las simulaciones experimentales en entornos de Job Shop Scheduling.

Bibliotecas principales

pandas — manipulación de datos, almacenamiento de resultados experimentales, representación de programas, exportación a CSV, seguimiento de rendimiento.
NumPy — cálculo numérico, inicialización de matrices, simulación de programas, operaciones vectorizadas.
sqlite3 — almacenamiento persistente de instancias de benchmark, recuperación estructurada de datos, experimentación sobre base de datos.
random — generación estocástica de soluciones, selección de candidatos en GRASP, exploración de vecindarios en VNS.
time — control de tiempos de ejecución, medición de convergencia, criterios de parada.
math — cálculos matemáticos y evaluación numérica.
Matplotlib — generación de diagramas de Gantt, visualización de makespan, análisis de rendimiento de la programación.

Estilo de arquitectura: aplicación de cómputo científico

Características:
- Experimentación algorítmica
- Optimización metaheurística
- Simulación iterativa
- Benchmarking de rendimiento

Algoritmos y áreas:
- GRASP
- Variable Neighborhood Search (VNS)
- Iterated Local Search (ILS)
- Optimización combinatoria
- Investigación de operaciones
- Análisis estadístico
- Algoritmos de scheduling

El código fuente no es público. El proyecto se presenta como un caso de estudio técnico que describe el diseño del sistema, la metodología y los resultados de rendimiento.
Technology:
Optimization Algorithms | Python
Empresa:
Universidad del Bío-Bío, Industrial Engineering Department
Technology stack:
Python | Pandas | pip | Sqlite3 | Numpy | time | math | matplotlib | Seaborn | Scipy | Statmodels
Desarrollador:
Marco Antonio Parra Fernández
Felipe T. Muñoz
Ir al repositorio en GitHub

AgriDrone Vision Evaluation Pipeline

AgriDrone Vision Evaluation Pipeline es un caso de estudio técnico, generalizado y anonimizado, de un sistema aplicado de visión por computador y machine learning geoespacial sobre imágenes agrícolas de dron.

El proyecto documenta el diseño de un flujo de ingeniería de ML de extremo a extremo, capaz de procesar imágenes y video UAV de alta resolución, ejecutar modelos de detección de objetos, validar su desempeño, generar artefactos de evaluación reproducibles, enriquecer las detecciones con metadatos geoespaciales y exportar los resultados a formatos aptos para análisis GIS, reportería técnica y flujos posteriores de apoyo a la decisión agrícola.

En su núcleo, el sistema aplica modelos de detección YOLOv8 / YOLO11 sobre imágenes agrícolas capturadas por dron. El pipeline admite tanto inferencia YOLO directa como inferencia por tiles con SAHI, especialmente útil en imágenes de alta resolución donde los objetos pequeños se pierden al redimensionar. SAHI permite dividir la imagen en tiles solapados, procesarlos de forma independiente y reconstruir las detecciones sobre la imagen completa, mejorando la detección de objetos pequeños o densos en escenas aéreas.

El flujo documentado cubre varias etapas del ciclo de vida de ML: configuración del dataset, orquestación del entrenamiento, validación, benchmarking, selección automática del mejor modelo, inferencia, post-procesamiento, evaluación, visualización, exportación geoespacial y documentación técnica. No se presenta como un notebook de entrenamiento, sino como un sistema de ingeniería de ML que conecta experimentación, inferencia, evaluación y análisis geoespacial.

La capa de entrenamiento y validación describe cómo entrenar y evaluar modelos YOLO bajo distintas configuraciones: versión del modelo, tamaño de imagen, tamaño de batch, umbral de confianza, selección de dispositivo y estructura del dataset. Documenta también la lógica de selección de modelo a partir de las métricas de cada experimento, que permite identificar el mejor checkpoint `best.pt` de corridas anteriores. El flujo de validación y benchmarking incluye métricas globales y por clase, tiempos de inferencia, consideraciones de ejecución sobre GPU y generación reproducible de artefactos.

La capa de evaluación incorpora conceptos de evaluación estilo COCO, la conversión de anotaciones y predicciones YOLO a estructuras compatibles con COCO, y el cálculo de métricas como AP50, AP50:95, precisión, recall y F1. La documentación distingue entre las métricas nativas de validación de YOLO, las métricas de evaluación estilo COCO y las salidas operativas de inferencia, dejando claro que cada tipo responde a una pregunta distinta sobre el desempeño del modelo.

La capa de inferencia procesa imágenes individuales, directorios completos, imágenes de dron de alta resolución mediante SAHI, y entradas de video. Para imagen estática genera imágenes con cajas delimitadoras, etiquetas de clase y puntajes de confianza, metadatos JSON por imagen, resúmenes por lote y salidas geoespaciales. Para video documenta un procesador dedicado de inferencia y seguimiento que usa los IDs de tracking de YOLO para contar objetos únicos a lo largo de los frames, renderizar video anotado, generar resúmenes JSON y, opcionalmente, artefactos SRT a nivel de frame.

Una parte central del proyecto es la integración entre visión por computador y procesamiento geoespacial. El sistema no se detiene en la detección: enriquece las detecciones con metadatos EXIF/GPS cuando están disponibles, convierte latitud y longitud a coordenadas UTM y prepara salidas espaciales estructuradas para flujos GIS. Esas salidas pueden incluir GeoJSON, CSV, shapefiles, resúmenes compatibles con QGIS y registros de metadatos espaciales. Así las predicciones del modelo se pueden inspeccionar, analizar y visualizar en herramientas geoespaciales, en vez de quedarse como cajas aisladas en el espacio de píxeles.

El proyecto documenta además un flujo de georreferenciación ráster para las imágenes de detección con estilo aplicado: copia de metadatos EXIF/XMP desde las imágenes originales del dron, generación de archivos JGW world para las salidas JPEG, documentación de los supuestos de CRS, soporte opcional de GeoTIFF como alternativa y carga ráster orientada a QGIS. Esta capa ráster es distinta de las salidas vectoriales como GeoJSON y shapefile, y responde a la necesidad práctica de superponer visualmente la imagen anotada dentro de herramientas GIS.

El componente de video introduce otro tipo de complejidad, porque la inferencia sobre video no es inferencia de imagen repetida por frame. Involucra estado temporal, decodificación de frames, ejecución de `model.track()`, extracción de cajas e IDs de seguimiento, conteo de objetos únicos, renderizado de superposiciones, escritura de video, generación de SRT, manejo de errores por frame y liberación de recursos. La documentación recoge riesgos como la inestabilidad de los IDs del tracker, valores `box.id` ausentes, problemas de espacio de color RGB/BGR, fallos de serialización JSON y cuellos de botella de rendimiento por el procesamiento frame a frame.

El sistema documenta también sus restricciones y compromisos de ingeniería: el sobrecosto de SAHI en tiempo de ejecución, la presión sobre la memoria GPU/CUDA, los supuestos del runtime de cuDNN, el linaje de experimentos basado en sistema de archivos, la fragilidad de las rutas, la ausencia de lógica formal de reintentos, la falta de workers en segundo plano, la idempotencia de las salidas, la calidad de los metadatos, la ambigüedad de CRS y la diferencia entre un pipeline por lotes de nivel investigación y una plataforma lista para producción. Esas limitaciones se documentan a propósito, para mostrar criterio de ingeniería realista en vez de presentar el sistema como un producto terminado.

Desde la arquitectura de software, el proyecto se organiza en varios servicios y capas de procesamiento: orquestación por CLI, selección de modelo, entrenamiento, validación, benchmarking, inferencia, reconstrucción SAHI, seguimiento en video, enriquecimiento geoespacial, georreferenciación ráster, exportación GIS, reportería y renderizado de documentación. La versión pública los describe como componentes arquitectónicos generalizados, sin publicar código propietario ni detalles de implementación institucional.

El repositorio busca demostrar capacidades aplicadas de ingeniería de ML en varios dominios: visión por computador, detección de objetos, procesamiento de imagen de alta resolución, manejo de metadatos geoespaciales, integración GIS, analítica de video, metodología de evaluación, flujos conscientes de GPU y documentación técnica. Muestra cómo un pipeline de machine learning puede extenderse más allá de la inferencia hacia evaluación reproducible, inteligencia espacial, reportería y análisis práctico.

Este repositorio público es una versión saneada para portafolio. No incluye datasets privados, código fuente de sistemas propietarios, pesos de modelos entrenados, imágenes reales de dron, coordenadas reales de campo, shapefiles ni GeoJSON reales, credenciales de producción, nombres de instituciones o clientes, resultados experimentales no publicados ni detalles operativos confidenciales. La documentación se presenta como un caso de estudio técnico generalizado, centrado en arquitectura, metodología, decisiones de ingeniería y patrones de diseño de sistemas.
Technology:
AI / Computer Vision
Empresa:
Anonymized Agricultural Computer Vision R&D Case Study
Technology stack:
Python, PyTorch, Ultralytics YOLOv8/YOLO11, SAHI, OpenCV, Pillow, NumPy, Pandas, pycocotools, ClearML, CUDA, cuDNN, EXIF/GPS metadata processing, UTM coordinate conversion, GeoJSON, Shapefile, JGW world files, GeoTIFF, QGIS, PyQGIS, GDAL/OGR, Markdown documentation
Desarrollador:
Marco Parra
Ir al repositorio en GitHub

YOLO Training & Inference Orchestration Architecture

YOLO Training & Inference Orchestration Architecture es la documentación de arquitectura, anonimizada y apta para publicación, de una plataforma interna de visión por computador orientada a producción. Documenta cómo se mantiene separada la capa web de las cargas de trabajo intensivas en GPU, y por qué.

Es solo documentación: no incluye código ejecutable, datasets privados, pesos de modelos, credenciales, métricas reales ni archivos de despliegue de producción.

Qué documenta:

- Separación en microservicios: una capa web y de administración en Django, separada de una capa de procesamiento de IA en FastAPI.
- Ejecución de IA sobre GPU: entrenamiento, validación e inferencia YOLO, e inferencia por tiles con SAHI sobre imágenes de alta resolución, ejecutadas a través de un servicio de cómputo dedicado.
- Flexibilidad del entorno de entrenamiento: estrategias de una y varias GPU, incluido soporte de DataParallel y patrones DDP evaluados.
- Gestión de la configuración de datasets: configuración respaldada en base de datos, metadatos de etiquetas y clases, y generación de configuración compatible con YOLO.
- Fundamentos de MLOps: seguimiento de experimentos, registro de métricas, linaje de artefactos y gestión de referencias a modelos.
- Análisis de riesgos operativos: discusión explícita de la ejecución síncrona, el acoplamiento por almacenamiento compartido, la contención de GPU, la gobernanza de artefactos y los disparadores de escalado.
- Planificación de evolución ajustada al propósito: una hoja de ruta centrada en fiabilidad y trazabilidad internas antes que en infraestructura distribuida prematura.

Una decisión documentada, como muestra del nivel de detalle: se eligió Ubuntu como entorno de ejecución para el entrenamiento sobre GPU porque PyTorch, CUDA, los drivers de NVIDIA y el entrenamiento multi-GPU son muy sensibles al sistema operativo y a la compatibilidad entre driver y runtime de CUDA. Windows resolvía bien la ejecución con una sola GPU, pero los flujos multi-GPU y orientados a DDP introducían una complejidad operativa que Ubuntu evitaba.

Los cuatro diagramas que se muestran aquí están renderizados desde las fuentes Mermaid versionadas en el repositorio: vista general de la arquitectura, flujo de entrenamiento, flujo de inferencia con SAHI y entrenamiento incremental (CI).
Technology:
AI / Platform Architecture
Empresa:
Anonymized Internal AI Vision Platform — Architecture Case Study
Technology stack:
Python, Django, FastAPI, PostgreSQL, REST APIs, PyTorch, CUDA, YOLO, SAHI, OpenCV, SAM (Segment Anything), Pillow, NumPy, ClearML, YAML, JSON, COCO annotation format, YOLO dataset format, CVAT, Roboflow, Docker, Docker Compose, Linux, Ubuntu, Jupyter, shared storage for artifact exchange
Desarrollador:
Marco Parra
Ir al repositorio en GitHub

Control dimensional de madera aserrada: de la planilla al sistema

Case study solo documental de un método de control de calidad y un sistema de adquisición de datos para aserraderos pyme, desarrollado entre 2017 y 2019 en trabajo de transferencia tecnológica en Chile.
Problema: los aserraderos medían la madera con pie de metro digital, anotaban en papel y digitaban después; un control que llegaba tarde para controlar nada.
Método: cuatro puntos de control por pieza, medida nominal frente a objetivo (tras la contracción por secado y el cepillado), contexto en cada registro y cuatro salidas estadísticas: desviación estándar por equipo y corte, histograma contra tolerancia, acierto sub/sobre dimensión por punto de control y diagrama de caja por equipo.
Prototipo (nov 2017, proyecto conjunto INFOR-CETMA): planilla de Excel con macros probada con plantas reales. Concepto (dic 2018, CETMA): pie de metro con salida de datos -> app Android que adjunta el contexto del lote -> plataforma web con alertas contra las tolerancias de la NCh 2824. El concepto fue la base técnica de un Proyecto de Difusión Tecnológica de CORFO adjudicado a la Universidad de Concepción (2019) y del módulo que INFOR implementó sobre pies de metro Bluetooth abiertos y de bajo costo; el autor coordinó la contratación del desarrollador y la etapa inicial, y la lógica de cálculo de la planilla se migró al sistema.
No se publica la planilla, datos de planta, nombres de operarios, proveedores ni código. Las aplicaciones resultantes son propiedad de INFOR, que las mantiene.
Technology:
Operations / Data Acquisition
Empresa:
INFOR / CETMA (Universidad de Concepción) — documentation-only case study
Technology stack:
Statistical process control (control charts, tolerance histograms, hit rate, box plots), NCh 2824, Excel (formulas, advanced filters, named ranges, VBA macros), system concept: Bluetooth digital caliper -> Android app -> web platform, CORFO PDT formulation, technology transfer to SMEs
Desarrollador:
Marco Parra (método, prototipo, concepto del sistema, especificación)
Ir al repositorio en GitHub

SOBRE MÍ


avatar image

¡Hola! Soy Marco Antonio Parra Fernández, ingeniero de IA y backend, radicado en Chillán, Chile.

Ingeniero con Magíster en Ingeniería Industrial y cerca de 15 años de carrera: entre 2011 y 2019 en operaciones industriales, con equipos de hasta 50 personas y ya diseñando sistemas de captura y análisis de datos dentro de ese rol; el giro se consolidó con el Magíster —tesis en optimización metaheurística— y formación intensiva entre 2020 y 2023; y desde 2024, sistemas de inteligencia artificial: de prototipos a servicios desplegados.

Especializado en IA aplicada con criterio de ingeniería: pipelines RAG sobre modelos de lenguaje de peso abierto autoalojados, bases vectoriales, visión por computador y arquitecturas backend con FastAPI y Docker; llevo modelos desde el dataset hasta el servicio desplegado, con métricas verificables y decisiones de arquitectura documentadas. AWS Certified Solutions Architect — Associate.

Del lado industrial lideré planificación de producción y operación de turnos en el sector forestal, y ejecuté programas de transferencia tecnológica a decenas de PYMEs. Por eso leo un proceso productivo y el sistema que debería optimizarlo como un solo problema, no como dos.

Certificado como AWS Certified Solutions Architect – Associate y AWS Certified Cloud Practitioner, con certificados profesionales de IBM en Generative AI Engineering y en RAG and Agentic AI. Cada credencial de la sección de arriba enlaza a su insignia verificable.

Explora los proyectos más abajo, o conectemos en LinkedIn.