Негізгі мазмұнға өту
OpenAI

2022 ж. 8 желтоқсан

Discovering the minutiae of backend systems

Person gazing across the room with an optimistic expression

Photo: Jake Stangel

Жүктелуде…

Сізді инженерияға алғаш не қызықтырды?

Мен бағдарламалауды ерте жастан танып-білу бақытына ие болдым және оны басқа тақырыптарды зерттеуге жол ашатын құрал ретінде пайдаландым. Орта мектепте бір досым маған Texas Instruments калькуляторларымен бірге келетін BASIC бағдарламалау тілінің ерекше нұсқасын көрсетті (бір бағдарламаға 27 бір әріптік айнымалы ғана рұқсат етілуі және GOTO операторларына қатты сүйену салдарынан кодым, әрине, сүйемелдеуге мүлде қолайсыз болды). Соған қарамастан, біз мәтіндік adventure ойындары, байланысқан калькуляторларға арналған чат қолданбасы және әдеттегі квадрат теңдеу формуласының көмекшісі сияқты қарапайым бағдарламалар жасадық.

Кейінірек мен күрделірек бағдарламалар жаздым: Ньютон әдісін көрнекі түрде түсіндіретін визуал көмекші және планеталар мен олардың серіктерінің орнын бағалайтын орбита калькуляторы, бұлар мектебімнің Linux клубының назарын аударды. Көп ұзамай ноутбугымдағы CardBus негізіндегі WiFi адаптерін іске қосу үшін NDISwrapper-пен әуреленіп, үстелүсті терезелерімді Compiz арқылы жалындататын болдым! Код арқылы жаңалық ашу үлгісі мектептің жоғары сыныптарында да, одан кейін де жалғасты, соның нәтижесінде бүгінгі инженерлік қызығушылығым қалыптасты.

OpenAI-ге келуіңізге не себеп болды?

Алдыңғы жұмысымда мен бэкенд рөлінен full-stack қызметіне ауысқан едім, бірақ көп ұзамай фронтенд жұмысы мен UX дизайнын ұнатпайтынымды түсіндім. Мен бэкенд жүйелеріне жақынырақ рөлге қайта оралғым келді және академиялық ортада ұнаған Linux орталарының өзара әрекетін сағындым. OpenAI маған іздеген жұмыс өзгерісін, тіпті одан да артығын ұсынды; мен іздеген нәрсеге OpenAI-дің супересептеу кластерлерінде жұмыс істеуден артық сәйкестікті табу қиын.

OpenAI-де сіз мұнда қандай мәселелерді шешуге ден қойып жүрсіз?

AI-ға арналған зерттеушілік жұмыс ағындары табиғатынан өте жылдам қарқынды; зерттеушілер arXiv-тен preprint алып, кодын іске қосып жатқан платформаға байланып қалмай, жаңа тәсілдерді сынап көргісі келеді. Олар сонымен қатар аса күрделі: зерттеушілер көп жағдайда математиктер сияқты әрекет етеді — осы аптада назарын аударған қандай мәселе болса да, соны шешуге арналған тәсілді құрастыруда бүкіл мансабы бойы жинаған түйсігіне сүйенеді. Бұл runtime-дардың әлемдегі ең ірі суперкомпьютерлердің кейбірінде орындалатыны күрделіліктің тағы бір қабатын қосады, ал сол соңғы алдындағы қабатпен жұмыс істеуге менің тобым араласады. Біз зерттеу қажеттіліктері ілгерілеуді тежемей тұрып алдын алуға тырысамыз, ал олай болмаған жағдайда, зерттеу топтарымен бірге тар орындарды анықтап, мүмкіндігінше тез айналып өту жолдарын енгіземіз.

Person sitting at a cafeteria table with a glass of water and closed laptop

Photo: Jake Stangel

Сіздің ойыңызша, OpenAI-дегі супересептеумен айналысудың басқа жерден қандай айырмасы бар?

Біздің жұмыс істейтін ауқымымыз, шынын айтқанда, таңғаларлық. Үшінші тарап аппараттық жабдық жеткізушілері біз бұрын-соңды көрмеген мәселелерге тап болып жатқанымызды жиі мойындайды. Көбіне мұның себебі — біздің орнатылымдарымызда олардың басқа клиенттеріне қарағанда біртұтас суперкомпьютердің ішіне әлдеқайда көп жабдық сыйғызылғаны, бірақ кейде бұл біздің өнімділікке қоятын талаптарымыздың салдары болады. модель жаттықтырудың синхронды тәсілдерінің көбі бүкіл кластер іс жүзінде ең баяу түйіннің жылдамдығымен жұмыс істейтін конфигурацияға әкеледі.

Біздің ең танымал модельдеріміз миллиард долларлық суперкомпьютерлерде жаттықтырылады, соның нәтижесінде басқалар елемей кететін өнімділік төмендеулерін біз мұқият қуалаймыз. Mainline kernel-ге бір жолдық өзгерістің енгенін көріп, оның аптасына бүкіл флотымыз бойынша шамамен 6 күндік есептеу уақытын үнемдейтінін білу, немесе жаңа драйвер шығарылымындағы бір тармақты көріп, қазір upstream-қа енген түзетуге біздің ашқан жаңалығымыз себеп болғанын білу — өте қызық.

OpenAI-дегі әдеттегі күніңіз қандай өтеді?

Күндерім, әдетте, кодпен жұмыс істеу, мәселелерді зерттеу және жиналыстарға қатысудың белгілі бір қоспасынан тұрады. Сейсенбі күндері жиналыстар басым болады (шүкір, әдетте тек сейсенбіде), ал аптаның қалған бөлігі жөндеуге және код жазуға бөлінеді. Анықталған мәселелер әдетте кодтау жұмысына айналады, мысалы, дизайн құжатын жазу, PR тармағына жедел hotfix жіберу немесе ақаулы жабдықты кластерлерімізден тыс ұстау үшін пассивті health check логикасын қосу.

Мәселелердің түбіне жету біраз детективтік жұмысты қажет етеді. Зерттеуге әсері бұлыңғырдан («жұмысым кешеуге қарағанда баяуырақ жұмыс істеп тұрған сияқты») үрейлі түрде нақтыға дейін («егер Ethernet NIC арқылы 30Gbps-тен артық трафик жіберсем, kernel panic туғызатын сияқтымын?») өзгереді. Бұл көпке таныс қоспа шығар: бәрі күткендей өткен күндері өнімді, ал күтілген тәртіп бұзылып, жаңа нәрсе үйренуге мүмкіндік туған сәттерде қызықты.

«OpenAI есептеудің өзге жерде еленбей қалатын қырларын терең зерттеуге мүмкіндік береді.»

Сізге күн сайын не күш береді?

Мен жұмысқа сирек жағдайда ғана атқарылуы тиіс нақты бір істі ойламай келемін, әрі әдетте тапсырманың дер кезінде орындалуынан қай топ, жоба және зерттеушілер нақты пайда көретінін жақсы білемін. OpenAI — мен жұмыс істеген орындардың ішіндегі ең ірісі, сондықтан жұмысымның әсерін бірден сезіну менің күнделікті ынтам үшін өте маңызды. Маған сондай-ақ жүйелердің ұсақ-түйегін ашу ұнайды. OpenAI — мен бэкенд жүйелерімен жұмыс істеген алғашқы жұмыс беруші емес, бірақ HPC саласында алғаш рет жұмыс істеуім.

Біз жұмыс істейтін технологиялар көбіне осы салаға ғана тән өнімділік талаптарына байланысты бар. Алдыңғы жұмыс орындарымда жабдығымыздың физикалық топологиясына алаңдаудың қажеті болмаған — мысалы, байланыс бір NUMA доменінің ішінде жүретініне, GPU Nvidia-ның GPUDirect арқылы бірге орналасқан NVME не InfiniBand құрылғысын пайдаланатынына, немесе жүйелік процестер зерттеу runtime-дарымен noisy neighbor қақтығыстарын болдырмау үшін нақты CPU-ларға бекітілетініне. OpenAI есептеудің өзге жерде еленбей қалатын қырларын терең зерттеуге мүмкіндік береді, ал бұл мені қолымдағы іске қызықтырып отырады.

Шабытты қайдан аласыз?

Біздің зерттеу топтарының өз модельдерін жақсартуда ілгерілеу жасап жатқанын көруден артық шабыт жоқ. Көптеген топтар Slack боттарын немесе әлі әзірлену үстіндегі модельдермен өзара әрекеттесіп, оларды сынауға болатын қарапайым playground-тарды құрады, бұл жаттықтыру жалғасқан сайын модельдердің қалай жақсарып жатқанын бақылауға мүмкіндік береді!

Мен сондай-ақ түрлі Slack арналарыбыздан ынталандыратын не шабыт беретін контентті белгілеу үшін танымал :meow_party: Slackmoji-ді қолданамын. 2020 жылдың ортасында қосылғалы бері менде :meow_party: белгісі қойылған 400-ден астам жазба жиналды, бұл аптасына шамамен 4 жазбаға жуық!