Què et va interessar primer de l’enginyeria?
Vaig tenir la sort de descobrir la programació de jove i la vaig fer servir com a porta d’entrada per explorar altres temes. A l’escola mitjana, un amic em va presentar la variant concreta del llenguatge de programació BASIC inclosa a les calculadores de Texas Instruments (com era previsible, el meu codi era impossible de mantenir, atesa la restricció de 27 variables d’una sola lletra per programa i una gran dependència de les sentències GOTO). Tot i això, vam crear alguns programes senzills, com ara jocs d’aventura basats en text, una aplicació de xat per a calculadores connectades i l’ajuda habitual per a la fórmula quadràtica.
Més endavant, vaig escriure programes més complicats: un assistent visual per il·lustrar el mètode de Newton i un calculador orbital per estimar la posició dels planetes i les seves llunes, cosa que va cridar l’atenció del club de Linux de la meva escola. Aviat estava barallant-me amb NDISwrapper per aconseguir que l’adaptador WiFi CardBus del meu portàtil funcionés i fent cremar les finestres de l’escriptori amb Compiz! Aquest patró de descobriment a través del codi va continuar durant l’institut i més enllà, i ha desembocat en el meu interès actual per l’enginyeria.
Què et va portar a OpenAI?
A la meva feina anterior, havia passat d’un rol de backend a un lloc full-stack, però vaig descobrir que no m’agradava la feina de frontend ni el disseny d’UX. Volia tornar a un rol més proper als sistemes backend i trobava a faltar la interacció amb entorns Linux que havia gaudit en l’àmbit acadèmic. OpenAI em va oferir el canvi de feina que buscava i encara més; seria difícil trobar una opció millor per al que volia que treballar en els clústers de supercomputació d’OpenAI.
Quins problemes intentes resoldre aquí, a OpenAI?
Els fluxos de treball d’IA exploratòria són inherentment ràpids; els investigadors volen poder agafar un preprint d’arXiv i provar enfocaments nous sense que la plataforma des d’on llancen el seu codi els faci nosa. També són increïblement complicats, i els investigadors es comporten molt com matemàtics: es basen en la intuïció que han construït al llarg de les seves carreres per dissenyar una solució al problema que els ha cridat l’atenció aquella setmana. El fet que aquests entorns d’execució funcionin en alguns dels superordinadors més grans del món afegeix una altra capa de complexitat, i és en aquesta penúltima capa on intervé el meu equip. Treballem per anticipar les necessitats de recerca abans que frenin el progrés i, si això no és possible, col·laborem amb els equips de recerca per identificar colls d’ampolla i implementar solucions alternatives tan de pressa com podem.

Photo: Jake Stangel
Què creus que diferencia treballar en supercomputació a OpenAI d’altres llocs?
L’enorme escala a què operem és, francament, sorprenent. Els proveïdors externs de maquinari sovint ens confessen que ens estem trobant amb problemes que no havien vist mai abans. Sovint això passa simplement perquè les nostres instal·lacions tenen més maquinari encabit en un únic superordinador contigu que el dels seus altres clients, tot i que de vegades és conseqüència de les nostres expectatives de rendiment. La naturalesa sincronitzada de la majoria d’enfocaments d’entrenament de models dona lloc a una configuració en què tot el clúster funciona, de fet, a la velocitat del node més lent.
Els nostres models més destacats s’entrenen en superordinadors de mil milions de dòlars i, com a resultat, acabem perseguint degradacions de rendiment que la majoria ignoraria. És emocionant veure que un canvi d’una sola línia arriba al kernel principal sabent que estalviarà aproximadament 6 dies de càlcul a la nostra flota cada setmana, o veure un punt concret en les notes d’una nova versió d’un controlador sabent que una de les nostres troballes va donar lloc a la correcció que ara s’ha integrat upstream.
Com és per a tu un dia típic a OpenAI?
Els meus dies solen consistir en una combinació de treballar en codi, investigar incidències i assistir a reunions. Les reunions dominen els dimarts (i, per sort, normalment només els dimarts), i la resta de la setmana es reparteix entre depuració i programació. Les incidències identificades normalment es converteixen en feina de codi, per exemple, redactar un document de disseny, enviar un hotfix ràpid a una branca de PR o afegir lògica passiva de comprovació de salut per mantenir el maquinari problemàtic fora dels nostres clústers.
Investigar les incidències requereix una mica de feina detectivesca. L’impacte en la recerca varia des del vague («sembla que la meva feina va més lenta que ahir») fins a l’espantosament específic («crec que si envio més de 30Gbps per la NIC Ethernet, provo un kernel panic?»). Segurament és una combinació familiar: productiva els dies que transcorren com s’esperava, i emocionant quan l’esperat es trenca i tens l’oportunitat d’aprendre alguna cosa nova.
«OpenAI ofereix l’oportunitat d’aprofundir en aspectes de la informàtica que s’ignoren en altres llocs.»
Què t’omple d’energia cada dia?
Poques vegades començo a treballar sense tenir ben present alguna cosa que cal fer, i en general sé quin equip, projecte i investigadors es beneficien que una tasca s’acabi a temps. OpenAI és l’empresa més gran on he treballat i tenir una apreciació immediata de l’impacte de la meva feina és crucial per a la meva motivació diària. També m’entusiasma descobrir les minúcies dels sistemes. OpenAI no és la primera empresa on he treballat en sistemes backend, però sí la primera vegada que treballo en l’àmbit de l’HPC.
Les tecnologies amb què treballem sovint existeixen únicament per preocupacions de rendiment pròpies d’aquest àmbit. Als meus ocupadors anteriors no havia hagut de preocupar-me per la topologia física del maquinari—per exemple, assegurar que la comunicació es produís dins del mateix domini NUMA, o que una GPU utilitzés un dispositiu NVME o InfiniBand co-ubicat mitjançant GPUDirect de Nvidia, o que els processos del sistema quedessin fixats a CPU específiques per evitar conflictes de noisy neighbor amb els entorns d’execució de recerca. OpenAI ofereix l’oportunitat d’aprofundir en aspectes de la informàtica que s’ignoren en altres llocs, i això manté viu el meu interès per la tasca que tinc entre mans.
On trobes inspiració?
Res no inspira tant com veure els nostres equips de recerca progressar en la millora dels seus models. Molts grups configuren bots de Slack o playgrounds senzills on pots interactuar amb models encara en desenvolupament i provar-los, cosa que et permet veure com milloren a mesura que l’entrenament continua.
També faig servir el popular Slackmoji :meow_party: per etiquetar contingut motivador o inspirador dels nostres diversos canals de Slack. Des que m’hi vaig incorporar a mitjan 2020, tinc més de 400 publicacions etiquetades amb :meow_party:, una mitjana de gairebé 4 per setmana!



