C贸mo ense帽茅 a los estudiantes norcoreanos a desarrollar software de c贸digo abierto

En 2016, fui a Corea del Norte para ense帽ar a los estudiantes graduados c贸mo participar en el desarrollo de software de c贸digo abierto . Aqu铆 hay una foto de una de mis conferencias:





Como parte del curso, se pidi贸 a los estudiantes que publicaran parches para el proyecto que eligieron. En este art铆culo, hablar茅 sobre c贸mo se crearon dos parches para las populares bibliotecas de aprendizaje autom谩tico de MLpack y Wokpal Wabbit . Creo que estos ejemplos destacan que la cooperaci贸n cient铆fica entre norcoreanos y estadounidenses puede beneficiar a los ciudadanos comunes de ambos pa铆ses y mejorar las relaciones diplom谩ticas.



Parche mlpack



Un estudiante estaba trabajando en un "sistema de reconocimiento de veh铆culos basado en la visi贸n" para su tesis de maestr铆a. En esta tarea, tenemos una transmisi贸n desde una c谩mara de video instalada cerca de la carretera. El objetivo es contar el n煤mero de autom贸viles y camiones que pasan. Este es un problema de visi贸n artificial bastante est谩ndar que los estudiantes de todo el mundo hacen con regularidad, y su resultado se parece a esto:





(Desafortunadamente, esta imagen no es de un proyecto de un estudiante, sino de https://github.com/ahmetozlu/vehicle_counting_tensorflow .)



Aparentemente, el Ministerio de Transporte de Corea del Norte recomend贸 al estudiante que asumiera esta tarea, porque el tr谩fico de Pyongyang est谩 creciendo. r谩pidamente. Las personas que visitaron Pyongyang en la d茅cada de 1990 a menudo hablaban de la poca cantidad de autom贸viles en las carreteras, pero en estos d铆as la ciudad est谩 repleta de tr谩fico . Creo que las famosas chicas de Pyongyang , controladores de tr谩fico, se beneficiar铆an de la asistencia automatizada.



Los estudiantes de posgrado en Corea del Norte tienen acceso a Internet sin filtrar, y mi estudiante aprovech贸 este acceso para descargar la biblioteca de aprendizaje autom谩tico mlpack para implementar su sistema de reconocimiento de veh铆culos. Decidi贸 usar mlpack porque est谩 escrito en C ++, que es el idioma principal que los estudiantes estudiaron en sus 煤ltimos a帽os. Pero se enfrentaron a un problema muy serio: 隆su computadora result贸 ser muy vieja y no ten铆a suficiente memoria para compilar la biblioteca!



Despu茅s de dedicar aproximadamente una hora a la depuraci贸n, mi alumno y yo identificamos la fuente del problema, resultaron ser plantillas de C ++ utilizadas en mlpack. Todas las partes del c贸digo mlpack hacen un uso extensivo de plantillas para proporcionar programaci贸n gen茅rica sin desperdiciar recursos en tiempo de ejecuci贸n. Con las plantillas, mlpack se ha ganado la reputaci贸n de ser una biblioteca que ejecuta modelos muy r谩pidamente y con poco o ning煤n uso de memoria , pero la desventaja es la compilaci贸n lenta y que consume mucha memoria. En ese momento, la compilaci贸n requer铆a hasta 2 GB de RAM, y solo se instal贸 1 GB en la computadora port谩til de un estudiante norcoreano.



Al final, el estudiante pudo hacer que mlpack compilara, optimizando en gran medida el procedimiento de compilaci贸n. El c贸digo original conten铆a cientos de construcciones opcionales #include



y el problema se resolvi贸 simplemente eliminando este c贸digo inactivo. La confirmaci贸n en s铆 se puede ver en github . Esta correcci贸n mejor贸 la velocidad de compilaci贸n en un 25% y redujo a m谩s de la mitad el consumo de memoria. Decenas de miles de personas y empresas que han usado mlpack desde este parche se han beneficiado enormemente de que un estudiante norcoreano haya hecho un trabajo tan incre铆ble.



Parche de wabbit de votos



Muchos de los estudiantes de mi curso a煤n no han decidido el tema de su tesis, por lo que le recomend茅 a un estudiante que trabajara en analizar el estado de 谩nimo de las publicaciones de Twitter. Digamos que tenemos un tweet como este:





y debemos clasificar el tweet como que tiene una relaci贸n positiva o negativa con su tema. Por ejemplo, el tweet que se muestra arriba tiene una actitud negativa hacia la cumbre de Singapur de 2018 entre Donald Trump y Kim Jong-un. Al analizar miles (o millones / miles de millones) de tweets de esta manera, podemos determinar c贸mo las diferentes sociedades se relacionan con un tema en particular. Esta es tambi茅n una tarea completamente cotidiana realizada por estudiantes de todo el mundo. Pero para los estudiantes norcoreanos, esta tarea se ha vuelto inusual.



Todos los estudiantes han o铆do hablar de Twitter pero nunca lo han usado. A pesar de que sus computadoras ten铆an acceso directo y sin filtros a Internet, se les prohibi贸 crear cuentas en los servicios de redes sociales. La raz贸n, me dijeron, es que Estados Unidos controla la mayor parte de la infraestructura en Internet (incluidos sitios web como Twitter) y utiliza programas como PRISM de la NSA y el Comando Cibern茅tico de las Fuerzas Armadas de Estados Unidos para espiar a los usuarios y manipular medios de comunicaci贸n social.



Estados Unidos y Corea del Norte nunca firmaron un acuerdo de paz despu茅s de la Guerra de Corea, por lo que los norcoreanos siguen profundamente preocupados por la posibilidad de un ataque estadounidense. Prohibir las cuentas de redes sociales es una de las "salvaguardas" que los estudiantes norcoreanos deben cumplir para reducir el impacto de los posibles "ciberataques estadounidenses". Afortunadamente, estudiar Twitter es una de mis 谩reas de investigaci贸n y traje muchos datos para que los estudiantes los analicen.



Como le gustaba recordarme a uno de mis colegas norcoreanos, este proyecto se destac贸 por el hecho de que era la primera vez que un estudiante norcoreano analizaba datos de Twitter. Y el an谩lisis de los datos de Twitter pronto cobrar谩 importancia geopol铆tica: menos de un a帽o despu茅s de iniciado el proyecto, Donald Trump fue elegido presidente de Estados Unidos, y Twitter se convirti贸 en una de las principales herramientas a trav茅s de las cuales su administraci贸n comenz贸 a comunicar su pol铆tica exterior. al mundo. Afortunadamente, cuando Trump le dio a Twitter este estatus pseudooficial, al menos una peque帽a fracci贸n de los norcoreanos ya ten铆a experiencia analizando sus datos. Podr铆an usar esta experiencia para comprender mejor tanto los tweets de Trump como las respuestas enviadas por millones de estadounidenses. El gobierno de Corea del Norte reconoce hoy la importancia de usar las redes sociales para comprender la pol铆tica estadounidense.por lo tanto creado recientemente un nuevo Ministerio de Relaciones Exteriores para analizar las intenciones de Estados Unidos a trav茅s de las redes sociales y otras fuentes de informaci贸n p煤blica. 隆Y esta es una gran noticia para ambos pa铆ses! Estados Unidos se crea sobre la base de un sistema de transparencia porque el estado quiere que todos (incluidos los norcoreanos) comprendan c贸mo funciona la democracia y c贸mo podemos negociar mejor para lograr objetivos comunes.



Esta interacci贸n entre el intercambio de conocimientos cient铆ficos y la diplomacia se denomina diplomacia de la ciencia y ha demostrado ser extremadamente importante.discutir con 茅xito las restricciones de Estados Unidos y la URSS sobre los sistemas de armas nucleares durante la Guerra Fr铆a. Creo que mi trabajo en la ense帽anza de software de c贸digo abierto en Corea del Norte ayudar谩 a demostrar que este modelo de diplomacia cient铆fica tambi茅n se puede aplicar con 茅xito en las negociaciones entre Estados Unidos y Corea del Norte.



Pero volvamos a las contribuciones de mi alumno al c贸digo abierto. Le recomend茅 que el estudiante usara el wabbit vocal para hacer el an谩lisis. , ya que es una excelente herramienta para analizar grandes conjuntos de datos de texto. El estudiante descarg贸 el c贸digo, lo compil贸 y analiz贸 el estado de 谩nimo de varios miles de tweets. En este caso, el c贸digo funcion贸 bien en la computadora del estudiante sin ning煤n cambio. Sin embargo, para tomar el curso de software de c贸digo abierto, a煤n necesitaba publicar un parche.



Encontr贸 un problema abierto en Github con una solicitud para agregar la capacidad de cambiar la forma en que un miembro libre interact煤a con la regularizaci贸n L2 al entrenar modelos lineales, y public贸 un parcheagregando este comportamiento. (Las solicitudes de grupo para ambos proyectos se enviaron desde mi cuenta de Github porque Github se considera una red social y los estudiantes norcoreanos no pueden crear cuentas de redes sociales). M谩s adelante en este parche, se descubri贸 un error y se agreg贸 el siguiente parche para solucionar este problema. As铆 es como deber铆a funcionar el proceso de desarrollo de software de c贸digo abierto, y me parece sorprendente que el c贸digo abierto permita a la gente com煤n de todo el mundo encontrar objetivos comunes, creando un gran software, incluso a pesar de divisiones pol铆ticas aparentemente intratables.



El futuro del c贸digo abierto en Corea del Norte



Si no me equivoco, los parches enviados para este curso fueron las primeras contribuciones de c贸digo abierto realizadas desde Corea del Norte; lamentablemente, tambi茅n fueron los 煤ltimos.



Al a帽o siguiente (2017) organic茅 otro viaje a Corea del Norte y tuve que llevar conmigo a varios profesores de software de c贸digo abierto, pero el presidente Trump prohibi贸 a los estadounidenses visitar Corea del Norte . Por lo tanto, los otros profesores y yo ya no pod铆amos reunirnos con estudiantes norcoreanos, y nadie m谩s pod铆a ense帽arles a contribuir al c贸digo abierto o motivarlos a hacerlo.



El presidente Biden anunci贸 recientemente su pol铆tica de "diplomacia pr谩ctica"con Corea del Norte. Sin embargo, a煤n se desconocen los detalles de esta pol铆tica y se mantiene la prohibici贸n de visitas. Por lo tanto, los estadounidenses no podr谩n aprovechar el hecho de que los norcoreanos est谩n arreglando errores en su c贸digo y la diplomacia de la ciencia, que, de hecho, redujo la fricci贸n entre los Estados Unidos y la URSS, no puede usarse como una herramienta para reducir la fricci贸n entre Estados Unidos y Corea del Norte.






Publicidad



VDSina ofrece servidores en alquiler para cualquier tarea, una enorme selecci贸n de sistemas operativos para instalaci贸n autom谩tica, es posible instalar cualquier SO desde su propia ISO , un conveniente panel de control propietario y pago diario.



Suscr铆bete a nuestro chat en Telegram .






All Articles