Инженерчлэлд анх юу таны сонирхлыг татсан бэ?
Би бага насандаа программчлалыг олж мэдсэн азтай байсан бөгөөд үүнийг бусад сэдвийг судлах гарц болгож ашигласан. Дунд сургуульд байхдаа нэг найз маань Texas Instruments тооны машинуудад багтдаг BASIC программчлалын хэлний тодорхой хувилбарыг надад танилцуулсан (нэг программд 27 ширхэг нэг үсэгтэй хувьсагч ашиглах хязгаар болон GOTO мэдэгдэлд хэт түшиглэсний улмаас миний код мэдээж арчлахад бэрх байсан). Гэсэн ч бид текстэн адал явдалт тоглоом, хоорондоо холбогдсон тооны машинд зориулсан чат апп, мөн мэдээж квадрат тэгшитгэлийн томьёоны туслах зэрэг энгийн программууд хийж байв.
Дараа нь би илүү төвөгтэй программууд бичсэн: Ньютоны аргыг дүрслэн тайлбарлах харааны туслагч, гаригууд болон тэдгээрийн дагуулын байрлалыг тооцоолох орбитын тооцоолуур зэрэг нь манай сургуулийн Linux клубын анхаарлыг татсан. Удалгүй би зөөврийн компьютерийнхээ CardBus-д суурилсан WiFi адаптерийг ажиллуулах гэж NDISwrapper-тай ноцолдож, Compiz-оор desktop цонхнуудаа гал авалцаж буй мэт болгож байлаа! Кодын тусламжтай нээж илрүүлэх энэ хэв маяг ахлах сургууль болон түүнээс цааш ч үргэлжилж, өнөөдрийн миний инженерчлэлийн сонирхлыг бий болгосон.
Таныг OpenAI-д ирэхэд юу нөлөөлсөн бэ?
Сүүлийн ажил дээрээ би backend үүргээс full-stack байр суурь руу шилжсэн ч frontend ажил болон UX дизайнд дургүй гэдгээ ойлгосон. Би backend системүүдэд илүү ойр үүрэгт буцаж орохыг хүсэж байсан бөгөөд академик орчинд дуртай байсан Linux орчны харилцаа, ажиллах мэдрэмжээ үгүйлж байлаа. OpenAI надад хайж байсан ажлын өөрчлөлтийг, түүнээс ч илүүг санал болгосон; OpenAI-ийн суперкомпьютерийн кластерууд дээр ажиллахаас илүү тохирох сонголтыг олоход үнэхээр хэцүү.
Та энд OpenAI-д ямар асуудлуудыг шийдэхэд анхаарч ажиллаж байна вэ?
Хайгуулын шинжтэй AI ажлын урсгалууд угаасаа маш хурдацтай; судлаачид arXiv-оос preprint аваад, кодоо ажиллуулж буй платформд баригдалгүйгээр шинэ аргуудыг туршиж үзэхийг хүсдэг. Тэд мөн маш төвөгтэй, судлаачид математикчидтай төстэй байдлаар ажилладаг—энэ долоо хоногт анхаарлыг нь татсан аливаа асуудлыг шийдэхдээ олон жилийн турш бүрдүүлсэн зөн совиндоо тулгуурлан шийдэл боловсруулдаг. Эдгээр runtime-ууд дэлхийн хамгийн том суперкомпьютеруудын зарим дээр ажиллаж байгаа нь дахиад нэг төвөгтэй давхаргыг нэмдэг бөгөөд тэрхүү сүүлийн өмнөх давхаргыг зохицуулах ажилд манай баг оролцдог. Бид судалгааны хэрэгцээ ахиц дэвшлийг саатуулахаас нь өмнө урьдчилан таамаглаж ажилладаг, тэгж амжихгүй бол судалгааны багуудтай хамтран bottleneck-уудыг тодорхойлж, аль болох хурдан тойрон гарах шийдлүүдийг хэрэгжүүлдэг.

Photo: Jake Stangel
OpenAI-д суперкомпьютер дээр ажиллах нь өөр газраас юугаараа ялгаатай гэж та боддог вэ?
Бидний ажилладаг цар хүрээ үнэхээр гайхамшигтай том. Гуравдагч талын төхөөрөмж нийлүүлэгчид урьд нь хэзээ ч харж байгаагүй асуудлуудтай бид тулгарч байгааг байнга ярьдаг. Ихэнхдээ энэ нь ердөө л тэдний бусад үйлчлүүлэгчдээс илүү олон төхөөрөмжийг нэг үргэлжилсэн суперкомпьютерт бид шахаж байрлуулдгаас болдог, харин заримдаа манай гүйцэтгэлийн хүлээлтээс үүдэлтэй байдаг. Загвар сургах ихэнх аргын синхрон шинж чанар нь бүх кластер хамгийн удаан нодын хурдаар ажиллаж байгаа мэт тохиргоог бий болгодог.
Манай хамгийн нэр хүндтэй загварууд тэрбум долларын үнэтэй суперкомпьютерүүд дээр сургагддаг бөгөөд үүний үр дүнд бусад нь тоохгүй өнгөрөөх гүйцэтгэлийн доройтлыг бид мөрдөн илрүүлэх шаардлагатай болдог. Mainline kernel-д ганц мөр өөрчлөлт орж, манай бүх флотын хэмжээнд долоо хоногт ~6 өдрийн тооцооллыг хэмнэнэ гэдгийг мэдэх, эсвэл шинэ driver хувилбарын жагсаалтад орсон нэг мөрийг хараад одоо upstream-д орсон тэр засвар бидний нэг нээлтээс үүдэлтэйг мэдэх нь үнэхээр сэтгэл хөдөлгөм.
OpenAI дахь таны энгийн нэг өдөр ямар байдаг вэ?
Миний өдрүүд ерөнхийдөө код дээр ажиллах, асуудал шинжлэх, уулзалтад суух зэрэг ажлын холимгоос бүрддэг. Мягмар гарагт уулзалтууд ихэнх цагийг эзэлдэг (азаар ихэвчлэн зөвхөн Мягмар гарагт), харин долоо хоногийн үлдсэн хэсэг нь debug хийх болон код бичихэд хуваагддаг. Илэрсэн асуудлууд ихэвчлэн кодын ажил болдог; жишээлбэл design doc бичих, PR branch руу хурдан hotfix оруулах, эсвэл доголдолтой төхөөрөмжүүдийг манай кластеруудаас хол байлгах passive health check логик нэмэх зэрэг.
Асуудлуудыг ухаж олоход багагүй мөрдөгчийн ажил хэрэгтэй. Судалгаанд үзүүлэх нөлөө нь бүдэг бадаг зүйлээс («миний ажил өчигдрөөс удаан ажиллаад байх шиг байна») аймшигтай тодорхой зүйл хүртэл («Ethernet NIC дээр 30Gbps-ээс их ачаалал өгвөл kernel panic үүсгэж байх шиг байна?») янз бүр. Энэ нь олон хүнд танил холимог байх: бүх зүйл хүлээсэн ёсоор өрнөвөл үр бүтээлтэй, харин тэр хүлээлт эвдэгдэж шинэ зүйл сурах боломж гарахад сэтгэл хөдөлгөм.
«OpenAI бусад газарт үл тоодог тооцооллын талуудыг гүнзгий судлах боломж олгодог.»
Таныг өдөр бүр юу эрч хүчтэй болгодог вэ?
Би хийх шаардлагатай ямар нэг зүйлээ толгойдоо бодчихсонгүйгээр ажилдаа ирэх нь ховор, мөн тухайн ажлыг цагт нь дуусгаснаар үр өгөөж хүртэх тодорхой баг, төсөл, судлаачдыг ерөнхийдөө мэддэг. OpenAI бол миний ажиллаж байсан хамгийн том ажил олгогч бөгөөд ажлынхаа нөлөөг шууд мэдэрч ойлгох нь миний өдөр тутмын урам зоригт маш чухал. Мөн би системүүдийн нарийн ширийнийг олж нээхээс таашаал авдаг. OpenAI бол миний backend систем дээр ажилласан анхны ажил олгогч биш ч HPC орчинд ажиллаж буй анхны тохиолдол минь энэ.
Бидний ажилладаг технологиуд энэ орчны гүйцэтгэлийн тусгай хэрэгцээнээс л болж оршин байдаг тохиолдол олон. Өмнөх ажил олгогчдодоо би төхөөрөмжийн физик топологийн талаар санаа зовох шаардлагагүй байсан—жишээ нь, харилцаа нэг NUMA домэйн дотор явагдаж байгаа эсэх, эсвэл GPU нь Nvidia-гийн GPUDirect-ээр дамжуулан ойролцоо байрласан NVME эсвэл InfiniBand төхөөрөмжийг ашиглаж байгаа эсэх, эсвэл системийн процессуудыг тодорхой CPU-д pin хийж, судалгааны runtime-уудтай шуугиант хөршийн зөрчил үүсэхээс сэргийлж байгаа эсэх гэх мэт. OpenAI бусад газарт үл тоодог тооцооллын талуудыг гүнзгий судлах боломж олгодог нь намайг хийж буй ажилдаа сонирхолтой хэвээр байлгадаг.
Та урам зоригоо хаанаас олдог вэ?
Манай судалгааны багууд загваруудаа сайжруулахад ахиц гаргаж байгааг харахтай адил урам зориг өгөх зүйл үгүй. Олон баг Slack bot эсвэл хөгжүүлэлт дундаа байгаа загваруудтай харилцаж, туршиж болох энгийн playground-уудыг бэлддэг тул сургалт үргэлжлэхийн хэрээр загварууд хэрхэн сайжирч байгааг та шууд харж чадна!
Би мөн янз бүрийн Slack сувгуудаас сэдэл төрүүлэх эсвэл урам өгөх контентыг тэмдэглэхдээ түгээмэл :meow_party: Slackmoji-г ашигладаг. Би 2020 оны дунд үед элссэнээс хойш :meow_party: тэмдэгтэй 400 гаруй пост цуглуулсан бөгөөд дунджаар долоо хоногт бараг 4 байдаг!



