Las desviaciones pueden generar costos significativos en una planta de fabricación. En la industria de semiconductores, las paradas de producción, las obleas desechadas y de bajo rendimiento, y la disminución de la producción pueden resultar en pérdidas sustanciales de ingresos. Los ingenieros encargados de investigar estas desviaciones deben obtener rápidamente información práctica para tomar decisiones basadas en datos que minimicen las paradas y mejoren la calidad del producto.
El flujo de trabajo analítico de JMP le ayuda a definir los pasos y las herramientas necesarias para investigar las excursiones de forma eficiente. Descubra cómo el Generador de consultas facilita el acceso a los datos desde bases de datos y cómo el potente menú Tablas de JMP facilita la manipulación de datos. Descubra los formatos de tabla óptimos para visualizar y analizar datos de mapas de obleas. Utilice técnicas exploratorias y analíticas para descubrir relaciones ocultas en las distintas etapas del proceso de fabricación. Mejore sus análisis con JMP Pro, aprovechando funciones como el análisis de imágenes del nuevo complemento Torch Deep Learning para JMP Pro 18 para obtener información avanzada.
Automatice y repita todo su análisis con Workflow Builder en JMP, garantizando velocidad, repetibilidad, flexibilidad y potencia analítica sin necesidad de programación. Descubra cómo aprovechar estas herramientas y técnicas en JMP y JMP Pro puede generar una resolución eficiente y ahorros sustanciales en un entorno de fabricación dinámico.
Hola a todos. Me llamo Ryan Cooper y soy el ingeniero de sistemas de JMP para el Territorio de la Costa del Golfo. Hoy hablaremos sobre la optimización de las investigaciones de excursiones de fabricación con JMP. Si bien este es un ejemplo de semiconductores, la idea de seguir un plan como este para las excursiones es aplicable a cualquier industria manufacturera. Les mostraré algunos consejos y trucos que pueden ser útiles para cualquier tarea en JMP, no solo para las investigaciones de excursiones. Habrá para todos los gustos.
Dicho esto, pasemos a nuestra excursión. Disculpen si esperan dejar sus excursiones de fabricación durante los próximos 30 minutos, pero tenemos otra. Esperamos que, después de esta, tengan nuevas herramientas en su caja de herramientas de JMP para usar por su cuenta. Esta excursión en particular contiene unas misteriosas firmas de obleas que desconcertaron a los ingenieros del Departamento de Ingeniería de Defectos de URA Semiconductor Company. Hay cuatro mapas de obleas, con diferentes firmas que provienen de varios lugares, y necesitamos averiguar de dónde provienen.
Lo haremos utilizando diversas áreas del flujo de trabajo analítico de JMP. Primero, analizaremos el acceso a los datos, luego la combinación y limpieza de datos, para luego pasar a la exploración y visualización de datos. Nos centraremos en algunas herramientas de modelado, pero lo complementaremos con automatización y scripting. La clave es que con el Generador de Flujos de Trabajo no se requiere programación. Volveremos a diversas áreas de este flujo de trabajo a lo largo de la presentación en varios puntos, y comprenderán por qué. Es una excelente manera de organizar la resolución de problemas en JMP.
Las tablas de datos que necesitamos. Siempre me preguntan: "¿Cómo empiezo a hacer algo así? Se recopilan muchísimos datos en mi empresa". Mi respuesta suele ser tener una pregunta en mente. En este caso, ampliamos la pregunta inicial: ¿de dónde provienen estos defectos? Queremos saber qué pasos del proceso contribuyen a las firmas anormales de defectos en las obleas del Producto A. Todas estas firmas provienen del Producto A. Luego, suelo intentar conectar algunas palabras clave con diferentes áreas de una tabla de datos, una base de datos o algo similar.
En esta tabla, observará los datos de defectos de matriz de oblea que corresponden a los pasos del proceso de defectos de oblea. Necesito datos de proceso con parámetros como producto, por ejemplo, defectos del Producto A, paso, proceso, etc. Puede ver el formato de estos datos. Observará el formato de datos alto. Esto funciona bien para visualizar obleas, pero no para la predicción ni para obtener información más sofisticada de los modelos. En general, los problemas con predictores que pueden influir en los resultados suelen requerir el formato ancho. Verá que este formato está en alto, y podremos visualizar las obleas simplemente usando X e Y en el Constructor de Gráficos.
Esto ya está en un formato bastante bueno. Si queremos investigar la causa de un problema, necesitaremos obtenerlo en un formato de datos más amplio, y hay varias maneras de hacerlo. En la página siguiente, este es el formato en el que lo necesitaremos para responder a nuestra pregunta. Observarán que tenemos nuestra oblea a la izquierda, individualizada, con un gráfico completo de datos de defectos generados a nivel de matriz. Lo crearemos, lo guardaremos en la tabla y lo usaremos en varias partes de nuestro análisis.
Aquí tenemos predictores generados a partir de los datos de los pasos del proceso. En este caso, verán los pasos y el ID del equipo. El ID del equipo aparece después del guion bajo. Podremos determinar qué ID de equipo y qué pasos causan ciertos defectos. El total de defectos que aparece aquí es el resultado. Simplemente no aparece en la pantalla. Ese es el resultado final. Esa es la tabla que necesitamos.
Nuestro plan de análisis. Mencioné que volveríamos al flujo de trabajo analítico, y aquí es donde aparece por primera vez. Tenemos acceso a los datos, donde los obtendremos mediante el Constructor de Consultas, y se filtrará con SQL. Combinación y limpieza de datos, donde dividiremos y uniremos tablas. La división es lo que nos permite acceder al formato ancho, y luego necesitamos unir las tablas para establecer las relaciones que resuelvan el problema. Aquí tendremos exploración y visualización.
Como mencioné, el nivel de matriz está en formato apilado. Guardaremos los gráficos en una tabla de datos, una función muy útil que no todos conocen. Visualizaremos los resultados de nuestro análisis usando el formato ancho con los gráficos que guardamos como marcadores o etiquetas para nuestro análisis, donde finalmente realizaremos el modelado. Seguiremos este flujo. Primero accederemos a los datos y visualizaremos los datos del nivel de matriz, ya que no implica combinar ni limpiar datos. Realizaremos una pequeña limpieza para adaptarnos al formato ancho y, posteriormente, realizaremos el modelado y el análisis.
Otro aspecto importante es que el 80 % de la resolución de un problema mediante análisis consiste en acceder y preparar los datos. En este caso, se trata de estos pasos. A menudo, veo que esto es lo que desalienta a la gente a realizar análisis como este. Es muy fácil perder la motivación, especialmente si se tiene que codificar o programar, algo que, por suerte, no es necesario en JMP. Contamos con excelentes herramientas para la preparación de datos y la integración de todo con Workflow Builder. Veremos cómo se conecta todo esto en breve. Nuestros objetivos al final de este trabajo son: obtener información procesable basada en decisiones basadas en datos y generar conocimiento reutilizable a través de Workflow Builder.
Esta solución será rápida, flexible y potente a lo largo de todo el flujo de trabajo, lo que nos permitirá alcanzar una solución eficiente que reducirá el tiempo de inactividad, mejorará la calidad de nuestras obleas y nuestro producto, y aumentará los ingresos y el ahorro de costes. Dicho esto, vamos a ver la demo de JMP. Cabe destacar que esto es solo un resumen, así que no se preocupen si no lo entienden todo. Configuraré algunas cosas en vivo y ejecutaré un breve script en otras ocasionalmente, solo para ganar tiempo. Pueden revisar el video y el flujo de trabajo que adjuntaré como referencia para los pasos que les interesen.
Empecemos por el Generador de Consultas. Aquí accederemos a nuestros datos. Voy a ir a Archivo, Base de Datos y Generador de Consultas, y buscaré los datos de defectos. Escribiré semiconductor. Verán que hay varias tablas de semiconductores. Es posible que tengan varias tablas diferentes, y tendremos que encontrar las correctas. En este caso, revisaré los datos de recuento de defectos de la matriz de oblea y haré clic en Siguiente.
Aquí obtendrán una pequeña vista previa de la tabla y sus columnas. Pueden obtener una instantánea de la tabla. Pueden ver su orientación con respecto al producto, el ID del chip, las obleas y el número de defectos en cada chip de la oblea. Se trata de datos de análisis muy individuales. Se trata de una línea de datos por chip en cada paso, en cada paso de defectos. Estamos escaneando en busca de defectos. Pueden realizar algunas uniones aquí si lo desean, pero más adelante realizaremos todas las uniones y la manipulación de la tabla de datos dentro de JMP. Ahora voy a hacer clic en "Generar consulta".
Para ver qué sucede, voy a añadir un producto a la lista. Pueden ver que acabamos de añadir una columna, pero puedo ver las distintas filas si lo deseo activando esta opción. La desactivaré por ahora. Voy a añadir, en este orden, el ID del troquel, los troqueles X e Y, la oblea y los defectos. Pueden ver cómo se añade todo esto aquí mismo. Quiero filtrar por el Producto A, ya que ahí es donde está mi problema. Puedo filtrar por el Producto A. También puedo solicitar el filtrado al ejecutar esto. Si tienen otro producto que quieran revisar, pueden hacerlo a través del mismo flujo de trabajo.
No voy a hacer eso en esta situación, pero solo recuerda que está ahí. Como estoy filtrando por Producto A, también puedo eliminar el producto de mis columnas. Lo que sucede es que se escribe un poco de SQL para extraer de la base de datos exactamente lo que le digo según mi función de arrastrar y soltar. No es necesario saber SQL para extraer esto. Con esa información, ejecutaré mi consulta y luego cerraré. Aquí están mis resultados. Ahora puedo tomar esto e ir al Constructor de Gráficos. Tenemos nuestro dado X. Confírmelo sobre un X en mi dado Y. El valor predeterminado es más suave, pero puedo desactivarlo y convertirlo en puntos de datos. Esto se parece mucho más a una oblea.
En este caso, tenemos todo junto. Quiero dividir esto por el número de obleas. Voy a envolver esto. Ahora podemos ver algunas obleas individuales. Hay 125 en total, y quiero darles información sobre los defectos. Para ello, voy a transferir los defectos a Superposición. Ahora tenemos el número de defectos en cada chip o matriz de la oblea semiconductora. No me gusta mucho esta configuración de leyenda con el color. No muestra cromáticamente qué sucede con los defectos.
Voy a entrar aquí y cambiar la configuración de la leyenda. Voy a hacer que el tema de color sea más divergente. Voy a pasar del azul al rojo. Podemos ver cómo se ve ahora mismo. Obtengo algunas de las firmas. Empiezan a aparecer un poco, pero quiero un poco más de contraste aquí, para que pueda ver que la firma es mejor. Voy a ajustar esto ligeramente en mi tema de color, crear uno nuevo y tomar este marcador y darme más espacio para el rojo. Haga clic en Aceptar, y ahora tenemos algunas de estas firmas un poco más resaltadas. Tienes el defecto superior e inferior, la dona, y luego el izquierdo y el derecho. Tienes un izquierdo y un derecho, justo aquí.
Me parecen bien. Haré clic en Listo. Esto es algo poco conocido sobre Graph Builder y lo que se puede hacer con JMP, y enviarlo a una tabla de datos. Pero si vas al triángulo rojo y lo conviertes en tabla de datos, tendrás una tabla de datos con el icono de gráfico. Podemos usar esto para otra información y hará que algunas visualizaciones sean mucho más interesantes. Voy a terminar esto por ahora.
Ahora debemos pensar en cómo dividir nuestra tabla de datos y convertirla en un formato amplio para realizar análisis más sofisticados. Dividiremos este ID de chip para que todos los ID de chip o de chip aparezcan en la parte superior, con la oblea a la izquierda. Esto nos permitirá fusionar la información con esta tabla. Vayamos a "Tablas" y "Dividir". Activaré la vista previa para ver qué sucede.
Quiero dividir por el ID de mi matriz y dividiré los defectos dentro de ese ID. Ahora tengo 1423 matrices arriba y 125 obleas a la izquierda. Para ver la oblea, la arrastraré hacia abajo para agruparla. Ahora pueden ver la oblea en la primera columna con todos los ID de mi matriz a la derecha. Esto me permitirá fusionarla con la otra tabla. La llamaré de alguna manera. La tengo predefinida aquí. La moveré y haré clic en Aceptar.
Ya no lo necesito, así que saldré. Tengo dos tablas aquí. Voy a unir esta información. Voy a ir a "Tablas" y a "Unir". Uniremos la tabla del Constructor de Gráficos con esta otra tabla. Haremos coincidir en la oblea. Esa es nuestra columna común, y pueden ver la vista previa aquí. Tenemos dos columnas de oblea ahora mismo porque tenemos en ambas tablas. Voy a elegir solo una para la salida. Primero, vamos con la oblea y el gráfico y la activaremos.
Tenemos la oblea y el gráfico. Ahora vamos a elegir el resto de nuestro chip. Ya tenemos todo junto. También le asignamos un nombre a mi salida y hago clic en Aceptar. Como ya los usé, tengo dos tablas, y ahora están todas en esta tabla; voy a hacer clic fuera de ellas. Ahora tengo esta tabla de datos donde puedo hacer un par de cosas diferentes. No tengo el número total de defectos ni... Puedo resumirlo, lo cual haré en breve, pero aún no tengo los pasos del proceso. Eso nos ayudará a resolver el problema.
Ahora puedo realizar visualizaciones y modelados interesantes con lo que tengo, ya que tengo mi chip como predictores y mis obleas aquí a la izquierda. Lo primero que haré será la incrustación multivariante, que es la nueva función de JMP Pro 18. Estoy usando UMAP. Lo primero que aparece aquí es este gráfico de UMAP1 y UMAP2. Las dimensiones de todos esos chips se han reducido a dos dimensiones diferentes, y vamos a ver algunas relaciones.
Notarán que los puntos negros no nos indican nada por ahora. Solo indican las filas. Aquí es donde entra en juego el gráfico. Haré clic en "Gráfico". Haré clic derecho y seleccionaré "Usar como marcador". Verán lo que sucede aquí en mi incrustación multivariante. Ahora pueden ver que algunas de estas obleas con firmas anormales se muestran aquí a la derecha, lejos de este grupo de obleas normales. Pueden empezar a ver algunas de esas obleas anormales aquí. Es una buena manera de visualizar firmas de obleas que quizás desconocían.
Lo siguiente que haré es agrupar obleas. Lo ejecutaré por separado. Esto usará todo mi chip para agrupar obleas similares. Verán que esto se guardó en la tabla de datos. Tengo cada oblea asignada a diferentes grupos y he creado un generador de gráficos con un selector de grupos, donde puedo ver: hay 125 obleas en un modelo con un grupo. Con dos grupos, empezamos a ver algunas de las diferentes firmas de obleas que se detallan aquí.
Puedo recorrer la línea y ver cómo se ve. Creo que el grupo 5 fue el más óptimo. Pueden ver cómo tienen la mayoría de nuestros defectos izquierdo y derecho aquí, y nuestros defectos superior e inferior aquí. El de la dona grande aparece en un grupo propio. Pueden hacer lo mismo con los demás. Pasando al resto de nuestro problema, hablamos de tener una tabla que necesitaba datos de proceso. Voy a ejecutar un generador de consultas por separado, solo para el tiempo, que nos proporciona esos datos de proceso. Funciona igual que el generador de consultas que usé antes. Simplemente buscamos los datos de proceso.
Voy a ejecutar esto solo para obtener mi tabla. Recuerden, ahora está en formato alto. Queremos que tenga un formato ancho para poder unirla a nuestras obleas, nuestro producto. Lo primero que haré será combinar un par de estas variables para que sean más informativas. Verán por qué esto es importante después de realizar la división. Pero lo que haré es agregar un guion bajo entre el ID del paso y el tipo de proceso. Podríamos tener varios tipos de proceso diferentes. En este caso, es solo equipo, pero quizás haya una cámara, o quizás algo más con un tipo de ID diferente. Queremos concatenarlas para separar lo que sucede en cada paso para cada tipo de proceso.
Voy a hacer clic derecho aquí y seleccionar "Nueva columna de fórmula y carácter", y puedo concatenar con un guion bajo. Ahora están todos juntos. Haré lo mismo con el tipo de proceso. Mi ID de tipo; los concatenaré con un guion bajo. Ahora que tengo esta información, puedo dividir de forma similar a como hice antes con mi matriz de oblea. También lo ejecutaré por separado. Como ya lo hice, puedo salir de esta tabla.
Ahora tengo mis obleas, de nuevo, 125 aquí, y los diferentes pasos y tipos de paso con el ID de ese equipo en particular, o quizás su cámara u otro. Esto podría tener cientos de pasos, a veces incluso miles. No es necesariamente factible simplemente revisarlos y filtrarlos para ver qué obleas son comunes a estos pasos. Lo que haremos es unir esto a nuestra tabla existente, sumar los defectos y luego determinar cuál de estos pasos contribuye realmente a las firmas de nuestras obleas.
Para ello, volveré aquí y sumaremos todos nuestros defectos. Puedo usar otro pequeño truco de fórmula. Aquí vamos. Los tengo todos resaltados. Puedo sumar todo esto con solo hacer clic derecho, crear una nueva columna de fórmula, combinar y sumar. Al final, todo se sumó. Tengo una columna que lo sumó todo y la llamaré "Total de defectos". Haga clic en Aceptar. A continuación, haremos una unión similar a la anterior. De nuevo, lo haré en segundo plano. Tendremos nuestro gráfico de oblea, el total de defectos y los pasos del proceso. Hagamos eso y podemos eliminarlos.
Ahora tenemos nuestra oblea, nuestro gráfico y nuestros pasos con los identificadores de equipo. Al final, tenemos el total de defectos. Este es el resultado de la tabla final, que nos ayudará a responder la pregunta inicial: ¿cuál de estos pasos está causando que las firmas de la oblea sean como son? Lo primero que hago una vez que obtengo la información en este formato de tabla de datos es analizar, filtrar y filtrar predictores. Puedo colocar todos mis pasos (pueden ser cientos o miles) en la X, y luego el total de defectos en la Y.
Esto ejecutará un modelo para determinar cuáles son los más predictivos del total de defectos. Parece que los pasos 1, 5 y 4 podrían influir en mi total de defectos. Analicémoslos por separado. Digamos, uno, cuatro y cinco. Voy a ir al Constructor de Gráficos. Recuerden, como tenemos los marcadores en las obleas y los gráficos, podremos ver cómo se ve esto rápidamente.
Estoy moviendo el Paso 1 hacia aquí. Voy a agrandarlo un poco. Podemos ver inmediatamente que el equipo B es el más influyente. Tenemos nuestro defecto superior e inferior. Parece que lo encontramos. Vamos a convertirlo en un conmutador de columnas. Tiene un rehacer y un conmutador de columnas. Veremos el uno, el cuatro y el cinco, y añadiremos el ocho aquí también. Les mostraré por qué en un segundo.
El paso 4 también fue influyente. Parece que encontramos nuestros defectos izquierdo y derecho con el equipo L. El paso 5, el equipo N, tiene la señal de dona. La razón por la que incluí el paso 8 es porque solo tenemos dos obleas, y parece que aquí es donde se encuentra nuestra señal de defecto aleatoria, pero solo tenemos dos obleas para eso. Aún no se detecta en el modelo. Necesitaríamos más datos y más obleas para que esto se detecte.
Lo que hemos logrado es identificar qué equipo está causando estos defectos. Regresemos a nuestra presentación de PowerPoint para revisar nuestros objetivos y ver qué logramos. Obtuvimos información práctica basada en decisiones basadas en datos. Parece que podremos investigar ese equipo en cada uno de esos pasos con mayor profundidad. Quizás haya algo más que esté causando el problema en ese equipo, pero lo hemos reducido a eso.
Contamos con conocimiento reutilizable. Les mostraré Workflow Builder en un segundo y cómo todo lo que acabo de hacer quedó plasmado en él. Velocidad, flexibilidad y potencia en todo el flujo de trabajo. Esto será reutilizable y podrá ejecutarse de nuevo, quizás para otra situación. Simplemente reescriba un par de pasos con gran facilidad y obtendrá una solución eficiente. No nos llevó mucho tiempo. Estamos reduciendo el tiempo de inactividad, mejorando la calidad y aumentando los ingresos y el ahorro de costos.
Las grandes ventajas de hacerlo de esta manera son, en primer lugar, una toma de decisiones rápida y eficiente. Lo que acabamos de crear no requirió horas de codificación ni semanas ni meses de aprendizaje. No quedó en un sistema, programa o cola de espera para su implementación. Lo hiciste tú mismo. Surgió de ti, el experto en la materia. Cualquier modificación necesaria se puede realizar fácilmente porque eres quien comprende el proceso. Así, tu análisis estará optimizado para estándares, se realizará correctamente y será repetible mediante automatización.
Has recuperado tiempo y dinero resolviendo rápidamente problemas de fabricación. Una pequeña acotación: el valor de tener acceso a los datos de tu dominio, en los que eres experto, te permitirá reconocer cosas que un administrador de bases de datos, un equipo de ciencia de datos o algo similar, no podría. He visto retroalimentación sobre científicos e ingenieros que tienen acceso a datos como este. Podría afectar una base de datos de producción o algo similar. Pero con lo que un experto puede hacer, es realmente esencial para hacer nuevos descubrimientos más allá del statu quo y seguir haciéndolo como siempre lo hemos hecho.
Como solución, se podría replicar una base de datos de una base de datos de producción real. Como resultado, aquí se puede observar cómo el acceso a estos datos ha mejorado la productividad de científicos e ingenieros en tres empresas de semiconductores diferentes. El acceso a esta herramienta ha liberado a los expertos de las tediosas tareas de preparación de datos para centrarse en la resolución de problemas de ingeniería que generan valor comercial real. Para mi evaluación cualitativa, recopilar rápidamente información de procesos e informes que, de otro modo, habría llevado muchas horas de compilación. Se ahorra ese tiempo.
El último me gusta mucho porque implica algunas métricas. Se redujo un 83 % el tiempo de procesamiento de datos, se redujeron significativamente los costos y se incrementó la satisfacción laboral de los ingenieros de I+D en un 260 %. Es una forma mucho más directa de resolver un problema que otras que mantienen la satisfacción laboral quizás no tan alta. Con esto, quiero mostrar el flujo de trabajo y cómo se ve cuando se ejecuta todo junto.
Voy a retroceder en el tiempo de todo lo que hice aquí. Pueden ver cómo está estructurado. Volvemos al flujo de trabajo analítico. Me gusta agrupar mis pasos en acceso a datos, visualización, preparación de datos y aspectos relacionados con el flujo de trabajo analítico. Tengo una Parte 1 y una Parte 2. Pueden ver todo lo que hice aquí. Inicialmente, grabé todo esto secuencialmente y lo organicé aquí para que fuera repetible. Haré clic en "Reproducir" aquí para ver todo el proceso y podrán ver cómo aparece todo. Lo que hicimos antes fue guardar los gráficos en la tabla de datos. Tenemos nuestra incrustación multivariante aquí. Creo que ahora mismo se está ejecutando el modelo para el análisis de predictores.
De hecho, obtuvimos nuestra agrupación. Al final, el análisis de predictores. Tenemos este gráfico al final que estábamos viendo con nuestros pasos. Claramente, tenemos los equipos B, L y N que causan los defectos en nuestras firmas. Todo esto es reproducible. Puedes ejecutarlo de nuevo con nuevos datos y ver qué nuevas obleas se destinan a cada equipo.
Con esto, quiero mostrar algo más relacionado con Torch Deep Learning. Hay otra sesión impartida por Russ Wolfinger, donde profundiza en el tema, pero solo quiero mostrar un par de ejemplos de semiconductores a simple vista. Esta es una función de JMP Pro 18. Si acceden a los complementos, podrán descargar uno por separado a través de la página de complementos en la comunidad de JMP. Si acceden a Torch Deep Learning y a los datos de ejemplo, encontrarán un libro de cuentos de Torch aquí. Russ ha recopilado varios ejemplos para distintas situaciones. Aquí hay un par de ejemplos relacionados con obleas de semiconductores y mapas de obleas.
Lo que Torch Deep Learning te permitirá hacer es analizar imágenes directamente desde la imagen y clasificar las obleas, así como los defectos y las firmas relacionadas. Quiero mostrarles cómo se ve esto porque es muy similar a lo que acabamos de hacer. Estoy abriendo la tabla de datos. Verán que tenemos una imagen. Tenemos un nombre de archivo que contiene el ID del lote y el ID de la oblea, los lotes, el tamaño del chip (el número de chips dentro de la oblea), el tipo de fallo y la clasificación.
Puedes entrenar datos de estas imágenes para predecir el tipo de fallo. ¡Es genial! Es la primera vez que se cuenta con una interfaz de arrastrar y soltar para realizar un análisis de imágenes como este a nivel de aprendizaje profundo. Es realmente genial. Para más información, recomiendo consultar la guía de Russ sobre el complemento Torch Deep Learning, así como su charla de descubrimiento en el Discovery de este año.
Dicho esto, si tienen alguna pregunta, con gusto la responderé a: ryan.cooper@jmp.com. Con esto concluye mi presentación. Si tienen alguna pregunta, no duden en hacérmela saber por correo electrónico. Gracias por su atención.